The uClibc package contains the main C library. This library provides the basic routines for allocating memory, searching directories, opening and closing files, reading and writing files, string handling, pattern matching, arithmetic, and so on.
Below we are just telling uClibc to use its default configuration. For those who are more adventurous, you can use make menuconfig and do a more custom build for your uClibc installation.
The following patch contains the default configurations for the architectures covered in this book:
patch -Np1 -i ../uClibc-0.9.31-configs-2.patch
For the ARM architecture, there are two different configurations of uClibc that can be used: the EABI configuration and the OABI configuration. We will first copy the OABI configuration and, if the EABI was selected, modify it to use the EABI:
cp -v clfs/config.${CLFS_ARCH}.${CLFS_ENDIAN} .config
if [ "${CLFS_ABI}" == "aapcs" ] || [ "${CLFS_ABI}" == "aapcs-linux" ]; \
then sed -i s/CONFIG_ARM_OABI/CONFIG_ARM_EABI/g .config; fi
The config is a basic working system, but there are some options that are architecture specifc that need to be set. The following command will only bring up items that need a value that we did not specify in our generic config file patch:
make oldconfig
Compile the package:
make
Install the package:
make PREFIX=${CLFS} install