home *** CD-ROM | disk | FTP | other *** search
- UnixLib 4.0
- ~~~~~~~~~~~
-
- This document provides a VERY short introduction to UnixLib, and only covers
- the RISC OS specific details of using UnixLib. It does not document what
- facilites it provides, or how it works. For this you should look at the
- various documents elsewhere in this distribution, the source, and a proper
- manual (like <URL:http://www.opengroup.org/onlinepubs/007904975/download/>
- and <URL:http://www.opengroup.org/onlinepubs/007908799/>).
-
- The UnixLib is part of the RISC OS GCC SDK and its home page is at
- <URL:http://hard-mofo.dsvr.net/gcc/>. This should be checked for
- updates and bug-fixes.
-
-
- What
- ~~~~
-
- UnixLib is a Run-Time Library for the RISC OS based computers that
- provides a mixed System V / BSD interface for C and C++ programs. It
- is also an alternative to the "Stubs" and "AnsiLib" libraries supplied
- with the Norcroft C compiler.
-
- It is also the default Run-Time Library for the RISC OS port of GCC.
-
- Quoting the original documentation :
-
- [UnixLib] is a complete replacement ANSI compliant C library for use
- with Acorn RISC OS ANSI C Release 3.0/3.1A/3.1B/4.0. It incorporates
- a subset of the UNIX system call interface and some common System V
- and 4.3 BSD C libraries.
-
- UnixLib was originaly developed by Huw Rogers, up to version 3.6c, after
- which Simon Callan took over development. This was mainly triggered by
- his work on the port of GCC 2.4.5 to RISC OS. Nick Burrett and Peter
- Burwood did a lot of the development work starting at version 3.7b and
- working towards 3.8 for their ports of GCC 2.7 and GNAT 3.03 respectively.
- Additional help along the way has been provided by Nick Clark and
- John Tytgat. Peter Naulls and Alex Waugh contributed significantly to
- create 4.0 which features 32-bit compliancy and pthread support.
-
- UnixLib is covered with various licenses but freely usable for
- non-commercial programs. For commercial use, and usage of parts of the
- source code, please contact the UnixLib developers. In most cases there
- will be no charges or restrictions.
-
-
- Installation
- ~~~~~~~~~~~~
-
- Installation is quite simple:
-
- 1) Copy the !UnixLib directory to an appropriate location on your hard disc,
- and ensure that !UnixLib.!Boot is run. Running !UnixLib.!Boot is normally
- done by the Filer when seeing the !UnixLib directory for the first time.
-
- 2) If you develop on RISC OS earlier than 3.7, make sure you have the
- CallASWI module installed in your !System directory. The latest known
- version is 0.03 and can be found at
- <URL:http://www.iyonix.com/32bit/CallASWI.shtml>.
-
- 3) The module "SharedUnixLibrary" needs to be copied as
- !System.310.Modules.SharedULib. In !UnixLib you can find the sources of
- this module.
-
-
- Distributing of UnixLib based programs
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- When your program is linked with UnixLib, it needs the "SharedUnixLibrary"
- module. We advise to ship together with your product the following
- directory tree !System.310.Modules containing a copy of the
- "SharedUnixLibrary" module as file "SharedULib". Users can use the
- !System merger to make sure they have the latest version of this module.
-
- If you intend your program to run on versions of RISC OS older than 3.7,
- you should also provide an installation note or program to install the
- CallASWI module as !System.Modules.CallASWI. Or, even better, redirect
- the users to <URL:http://www.iyonix.com/32bit/CallASWI.shtml> for the
- latest known version and approved installation program.
-
-
- UnixLib and GCC
- ~~~~~~~~~~~~~~~
-
- UnixLib is the default library for GCC, and there are no actions that need
- to be taken to use this combination.
-
-
- UnixLib and Norcroft C
- ~~~~~~~~~~~~~~~~~~~~~~
-
- By default Norcroft C uses the ANSI library that come with the compiler. To
- use UnixLib, you have to change its behaviour, by using the following
- command switches
-
- -IUnixLib: -JUnixLib: -lUnixLib:o.UnixLib
-
- If you are using a seperate link stage, the -l switch is not needed, instead
- you should specifiy 'UnixLib:o.UnixLib' in the link command line.
-
- If using the DDE frontend '!CC', the following needs to be changed
-
- The 'Include' field should be changed to 'UnixLib:'
- On the popup menu, the 'Default path' should be set to 'UnixLib:', while the
- 'libraries' should be set to 'UnixLib:o.UnixLib'.
-
- For !Link, 'UnixLib:o.UnixLib' should be specified as one of the files
- to be linked.
-
- Please note that the math functions defined in complex.h cannot be
- used if UnixLib is compiled with Norcroft C.
-
- -EOF-
-