| |||
| Home > The C and C++ Libraries > The ARM C++ libraries > Rebuilding the ARM C++ library | |||
The ARM C++ library consists of two subsections:
Prebuilt sublibrary files for the Rogue Wave Standard
C++ library. These are installed in c:ARM250\Armcpplib_kit\stdlib,
or the equivalent UNIX directory.
Source code and rebuild scripts for the ARM C++
library additions. These are installed in c:ARM250\Armcpplib_kit\cpplib,
or the equivalent UNIX directory.
The source for the ARM C++ library additions can be modified as you wish. The source for the Rogue Wave Standard C++ library is not freely distributable. It can be obtained from Rogue Wave Software Inc., or through ARM Ltd, for an additional licence fee.
Follow these steps to rebuild a particular variant of the armcpplib library:
Change directory to:
Armcpplib_kit\cpplib\cpplib.b\ platform
where is
either platform cchppa, gccsolrs, intelrel, depending
on your installation.
From the system command-line type:
armmake lib_cpplib_variant
where is
the name of the library variant you want to build. If you are building
under UNIX, type the name of your make utility instead of variantarmmake.
Variant names follow the suffix naming conventions described in Library naming conventions. The makefile supports the same APCS variants as the C library variants described in Table 4.1 and Table 4.2.
For example, to build a little-endian ARM library with no software stack checking, and no frame pointer type:
armmake lib_cpplib_cn.32l
This creates cpplib_cn.32l.
You can type armmake all to compile all
26 APCS variants.
Create a temporary directory and copy the new cpplib variant
to it.
Copy the equivalent precompiled Rogue Wave library
to your temporary directory. For the example in step 2, copy Armcpplib_kit\stdlib\stdlib_cn.32l.
Type the following commands to extract the object files from the two libraries and create a new armcpplib library:
armlib -e cpplib_cn.32l *
armlib -e stdlib_cn.32l *
armlib -c -o armcpplib_cn.32l *.o*
If you are building under UNIX you must escape the * character. Type:
armlib -e cpplib_hc.32l \*
armlib -e stdlib_hc.32l \*
armlib -c -o armcpplib_hc.32l *.o*
The new library is ready for use.