
Normally newlib will be installed in a standard place with the rest
of the tool chain. Its headers will go in the
include directory within the target specific
installation directory. The C runtime start up file, the newlib
libraries themselves and BSP libraries will go in the
lib directory within the target specific
installation directory.
This arrangement ensures that GCC will pick up the headers and libraries automatically and in the correct sequence.
However if newlib is not the only C library, then this may be
inconvenient. For example the OpenRISC 1000 usually uses uClibc, and
only uses newlib when regression testing the GNU tool chain.
The solution is to move the newlib headers and libraries to a custom
location and modify GCC to search there when newlib is being used
(see Section 7.2).
This is achieved with a simple script at the end of build and
install. For example with the OpenRISC 1000 the following command will
suffice, where the prefix used for the entire tool chain build is in
${install_dir}.
mkdir -p ${install_dir}/or32-elf/newlib
rm -rf ${install_dir}/or32-elf/newlib-include
mv ${install_dir}/or32-elf/include ${install_dir}/or32-elf/newlib-include
mv ${install_dir}/or32-elf/lib/*.a ${install_dir}/or32-elf/newlib
mv ${install_dir}/or32-elf/lib/crt0.o ${install_dir}/or32-elf/newlib
