Improve build script
This commit is contained in:
parent
ce0af65a6d
commit
a0d1308b0f
2 changed files with 62 additions and 40 deletions
57
build.sh
57
build.sh
|
|
@ -69,18 +69,19 @@ export BUILD_MACHINE_TRIPLET=$(gcc -dumpmachine)
|
|||
export TARGET_MACHINE_TRIPLET=$LFS_TGT
|
||||
|
||||
# Create the target directory
|
||||
mkdir -p "$LFS"
|
||||
export STEPS_DIR="$LFS/../steps/"
|
||||
mkdir -vp "$STEPS_DIR"
|
||||
|
||||
export LFS_BUILD="$LFS/../build/"
|
||||
export LFS_TOOLS="$LFS/tools"
|
||||
|
||||
mkdir -p "$LFS"
|
||||
mkdir -vp "$STEPS_DIR"
|
||||
mkdir -vp "$LFS_TOOLS"
|
||||
mkdir -vp "$LFS_BUILD"
|
||||
|
||||
export PATH="$LFS_TOOLS/bin/:$PATH"
|
||||
|
||||
export LFS_BUILD="$LFS/../"
|
||||
|
||||
unset CFLAGS
|
||||
unset LDFLAGS
|
||||
|
||||
# Create a directory layout
|
||||
if [ ! -d "$LFS/etc" ]; then
|
||||
|
|
@ -90,9 +91,9 @@ if [ ! -d "$LFS/etc" ]; then
|
|||
ln -sv usr/$i $LFS/$i
|
||||
done
|
||||
|
||||
case $ARCH in
|
||||
x86_64) mkdir -pv $LFS/lib64 ;;
|
||||
esac
|
||||
#case $ARCH in
|
||||
# x86_64) mkdir -pv $LFS/lib64 ;;
|
||||
#esac
|
||||
fi
|
||||
|
||||
# Build binutils
|
||||
|
|
@ -146,9 +147,12 @@ if [ ! -f "$STEPS_DIR/linux-headers" ]; then
|
|||
touch "$STEPS_DIR/linux-headers"
|
||||
fi
|
||||
|
||||
export CFLAGS="$CFLAGS -static "
|
||||
export LDFLAGS="$LDFLAGS -Bstatic "
|
||||
|
||||
# Build gcc
|
||||
if [ ! -f "$STEPS_DIR/gcc-step1" ]; then
|
||||
bash unpack-gcc.sh
|
||||
bash unpack-gcc.sh "$LFS_BUILD/"
|
||||
cd "$LFS_BUILD/gcc/"
|
||||
|
||||
# # On x86_64 hosts, set the default directory name for 64-bit libraries to “lib”
|
||||
|
|
@ -159,8 +163,8 @@ if [ ! -f "$STEPS_DIR/gcc-step1" ]; then
|
|||
# ;;
|
||||
# esac
|
||||
|
||||
mkdir -vp build
|
||||
cd build
|
||||
mkdir -vp build-step1
|
||||
cd build-step1
|
||||
|
||||
"../configure" \
|
||||
--target=$LFS_TGT \
|
||||
|
|
@ -207,9 +211,10 @@ export AR="$LFS_TGT-ar"
|
|||
export RANLIB="$LFS_TGT-ranlib"
|
||||
export STRIP="$LFS_TGT-strip"
|
||||
export OBJDUMP="$LFS_TGT-objdump"
|
||||
export LDFLAGS=" -Bstatic "
|
||||
# remove hardening options for building libraries
|
||||
export CFLAGS="-U_FORTIFY_SOURCE -O2"
|
||||
export CPPFLAGS="-U_FORTIFY_SOURCE -O2"
|
||||
export CFLAGS="-U_FORTIFY_SOURCE -O2 -static"
|
||||
export CPPFLAGS="-U_FORTIFY_SOURCE -O2 -static"
|
||||
export LD_LIBRARY_PATH_old="$LD_LIBRARY_PATH"
|
||||
unset LD_LIBRARY_PATH
|
||||
|
||||
|
|
@ -303,17 +308,15 @@ unset RANLIB
|
|||
unset STRIP
|
||||
unset OBJDUMP
|
||||
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH_old"
|
||||
export CFLAGS="-static "
|
||||
export LDFLAGS="-Bstatic "
|
||||
|
||||
if [ ! -f "$STEPS_DIR/gcc-step2" ]; then
|
||||
#if [ ! -d "$LFS_BUILD/gcc/build" ]; then
|
||||
# echo "'$LFS_BUILD/gcc/build' directory is supposed to exist. Error."
|
||||
# exit 1
|
||||
#fi
|
||||
#cd "$LFS_BUILD/gcc/build"
|
||||
bash unpack-gcc.sh "$LFS_BUILD/"
|
||||
cd "$LFS_BUILD/gcc"
|
||||
|
||||
mkdir -vp build
|
||||
cd build
|
||||
mkdir -vp build-step2
|
||||
cd build-step2
|
||||
|
||||
# ../configure is already done
|
||||
"../configure" \
|
||||
|
|
@ -360,6 +363,8 @@ fi
|
|||
#export CPPFLAGS="-U_FORTIFY_SOURCE -O2"
|
||||
#export LD_LIBRARY_PATH_old="$LD_LIBRARY_PATH"
|
||||
#unset LD_LIBRARY_PATH
|
||||
unset CFLAGS
|
||||
unset LDFLAGS
|
||||
|
||||
if [ ! -f "$STEPS_DIR/glibc-step2" ]; then
|
||||
if [ ! -d "$LFS_BUILD/glibc/build" ]; then
|
||||
|
|
@ -389,15 +394,17 @@ fi
|
|||
#unset RANLIB
|
||||
#unset OBJDUMP
|
||||
#export LD_LIBRARY_PATH="$LD_LIBRARY_PATH_old"
|
||||
export CFLAGS="-static "
|
||||
export LDFLAGS="-Bstatic "
|
||||
|
||||
# build the rest of gcc
|
||||
if [ ! -f "$STEPS_DIR/gcc-step3" ]; then
|
||||
if [ ! -d "$LFS_BUILD/gcc/build" ]; then
|
||||
echo "'$LFS_BUILD/gcc/build' directory is supposed to exist. Error."
|
||||
exit 1
|
||||
fi
|
||||
cd "$LFS_BUILD/gcc/build"
|
||||
bash unpack-gcc.sh "$LFS_BUILD/"
|
||||
cd "$LFS_BUILD/gcc/"
|
||||
|
||||
mkdir -vp build-step3
|
||||
cd build-step3
|
||||
|
||||
"../configure" \
|
||||
--target=$LFS_TGT \
|
||||
--host=${BUILD_MACHINE_TRIPLET} \
|
||||
|
|
|
|||
|
|
@ -1,18 +1,35 @@
|
|||
if [ ! -d "$LFS_BUILD/gcc" ]; then
|
||||
export GCC_SOURCE_DIR=$1
|
||||
|
||||
if [ ! -d "$GCC_SOURCE_DIR/gcc" ]; then
|
||||
tar -xzf "$BASE_DIR/sources/gcc-14.2.0.tar.gz"
|
||||
mv "gcc-14.2.0" "$LFS_BUILD/gcc"
|
||||
mv "gcc-14.2.0" "$GCC_SOURCE_DIR/gcc"
|
||||
fi
|
||||
cd "$GCC_SOURCE_DIR/gcc/"
|
||||
|
||||
if [ ! -d "mpfr" ]; then
|
||||
tar -xf "$BASE_DIR/sources/mpfr-4.2.1.tar.xz"
|
||||
mv -v mpfr-4.2.1 mpfr
|
||||
fi
|
||||
|
||||
if [ ! -d "gmp" ]; then
|
||||
tar -xf "$BASE_DIR/sources/gmp-6.3.0.tar.xz"
|
||||
mv -v gmp-6.3.0 gmp
|
||||
fi
|
||||
|
||||
if [ ! -d "mpc" ]; then
|
||||
tar -xf "$BASE_DIR/sources/mpc-1.3.1.tar.gz"
|
||||
mv -v mpc-1.3.1 mpc
|
||||
fi
|
||||
|
||||
if [ ! -d "isl" ]; then
|
||||
tar -xf "$BASE_DIR/sources/isl-0.27.tar.gz"
|
||||
mv -v isl-0.27 isl
|
||||
fi
|
||||
|
||||
if [ ! -d "cloog" ]; then
|
||||
tar -xf "$BASE_DIR/sources/cloog-0.18.4.tar.gz"
|
||||
mv -v cloog-0.18.4 cloog
|
||||
fi
|
||||
cd "$LFS_BUILD/gcc/"
|
||||
tar -xf "$BASE_DIR/sources/mpfr-4.2.1.tar.xz"
|
||||
mv -v mpfr-4.2.1 mpfr
|
||||
tar -xf "$BASE_DIR/sources/gmp-6.3.0.tar.xz"
|
||||
mv -v gmp-6.3.0 gmp
|
||||
tar -xf "$BASE_DIR/sources/mpc-1.3.1.tar.gz"
|
||||
mv -v mpc-1.3.1 mpc
|
||||
tar -xf "$BASE_DIR/sources/isl-0.27.tar.gz"
|
||||
mv -v isl-0.27 isl
|
||||
tar -xf "$BASE_DIR/sources/cloog-0.18.4.tar.gz"
|
||||
mv -v cloog-0.18.4 cloog
|
||||
|
||||
# On x86_64 hosts, set the default directory name for 64-bit libraries to “lib”
|
||||
#case $(uname -m) in
|
||||
|
|
@ -21,5 +38,3 @@ mv -v cloog-0.18.4 cloog
|
|||
# -i.orig gcc/config/i386/t-linux64
|
||||
#;;
|
||||
#esac
|
||||
|
||||
cd "$BASE_DIR"
|
||||
Loading…
Add table
Add a link
Reference in a new issue