ARM ANSI C Library
==================

Please refer to the following documents:

    The Release Notes
    The ARM C Library Porting Guide (in the Reference Manual)

A plain text version of the library document is available in the <refman> 
subdirectory of <doc> as file <armclib>.


The Semi-Hosted ANSI C Libraries
--------------------------------

The semi-hosted ANSI C libraries target:

 -  ARM's Platform Independent Evaluation (PIE) card;
 -  VLSI's Platform Independent Development (PID) card;
 -  the ARM emulator (ARMulator) included in the Arm Symbolic Debugger
    (the <armsd> program).

Four pre-built object libraries targetting ARM processors with the four
combinations of 26/32 bit program counters and big/little-endian memories
are supplied in the top level <lib> directory.

To build a semi-hosted ANSI C library, do the following:

 -  Create a working directory at the same level as <semi>, <riscos> and
    <util>. Let's call it <work>.

 -  Copy the files <makedefs>, <sources> and <options> from the <semi>
    directory to your <work> directory. In your <work> directory, edit
    <makedefs> to add definitions of PCSZ (32 or 26) and ENDIAN (b or l).
    The rest of <makedefs> contains host-specific definitions which should
    work on your system without change.

    Refer to the documentation for a full discussion of the issues (start
    with the release notes). Check that <options> contains the library build
    options you want and alter it if not (see <The ARM C Library Porting
    Guide> in the Reference Manual).

 -  In the subdirectory <util> compile the 'makemake' utility.

 -  In the <cl> directory execute util/makemake <work> (under Unix),  
    util\makemake <work> (under DOS) or :util:makemake :work (under MPW).

 -  In your <work> directory execute 'make depend' then 'make'.


ANSI C Library for Acorn RISC OS 
---------------------------------

To build an Acorn-targetted ANSI C library, do the following:

 -  In the <util> directory compile the 'makemake' utility.

 -  If you are using the PC or Mac hosting, you will have to modify
    <makedefs> to reflect host-specific filename conventions.

 -  In the <cl> directory execute util/makemake <riscos> (under Unix),  
    util\makemake <riscos> (under DOS) or :util:makemake :riscos (under MPW).

 -  In the <riscos> directory execute 'make depend' then 'make'.

You can change your make options and library build options by editing
<makdefs> and <options>, respectively, in the <riscos> directory.
