40 lines
1.2 KiB
Bash
Executable File
40 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Find the kernel build directory.
|
|
cd work/kernel
|
|
cd $(ls -d *)
|
|
WORK_KERNEL_DIR=$(pwd)
|
|
cd ../../..
|
|
|
|
cd work/glibc
|
|
|
|
# Change to the first directory ls finds, e.g. 'glibc-2.23'.
|
|
cd $(ls -d *)
|
|
|
|
# Prepare working area, e.g. 'work/glibc/glibc-2.23/glibc_objects'.
|
|
rm -rf ./glibc_objects
|
|
mkdir glibc_objects
|
|
|
|
# Prepare installation area, e.g. 'work/glibc/glibc-2.23/glibc_installed'.
|
|
rm -rf ./glibc_installed
|
|
mkdir glibc_installed
|
|
cd glibc_installed
|
|
GLIBC_INSTALLED=$(pwd)
|
|
|
|
# All glibc work is done from the working area.
|
|
cd ../glibc_objects
|
|
|
|
# glibc is configured to use the root folder (--prefix=) and as result all libraries
|
|
# will be installed in '/lib'. Kernel headers are taken from our already prepared
|
|
# kernel header area (see 02_build_kernel.sh). Packages 'gd' and 'selinux' are disabled.
|
|
../configure --prefix= --with-headers=$WORK_KERNEL_DIR/usr/include --without-gd --without-selinux --disable-werror
|
|
|
|
# Compile glibc with optimization for "parallel jobs" = "number of processors".
|
|
make -j $(grep ^processor /proc/cpuinfo | wc -l)
|
|
|
|
# Install glibc in the installation area, e.g. 'work/glibc/glibc-2.23/glibc_installed'.
|
|
make install DESTDIR=$GLIBC_INSTALLED -j $(grep ^processor /proc/cpuinfo | wc -l)
|
|
|
|
cd ../../..
|
|
|