Bash script to build LFS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.7 KiB

#!/usr/bin/env bash
mkdir -p mpfr
archivepath=$(find "${SOURCES}" -name "mpfr*.tar.*" -print)
tar -xf ../"$(basename "${archivepath}")" -C mpfr --strip-components=1
mkdir -p gmp
archivepath=$(find "${SOURCES}" -name "gmp*.tar.*" -print)
tar -xf ../"$(basename "${archivepath}")" -C gmp --strip-components=1
mkdir -p mpc
archivepath=$(find "${SOURCES}" -name "mpc*.tar.*" -print)
tar -xf ../"$(basename "${archivepath}")" -C mpc --strip-components=1
case $(uname -m) in
x86_64)
sed -e '/m64=/s/lib64/lib/' -i gcc/config/i386/t-linux64
;;
esac
sed '/thread_header =/s/@.*@/gthr-posix.h/' \
-i libgcc/Makefile.in libstdc++-v3/include/Makefile.in
mkdir build
cd build || return 1
../configure \
--build="$(../config.guess)" \
--host="${LFS_TGT}" \
--target="${LFS_TGT}" \
--prefix=/usr \
--with-build-sysroot="${LFS}" \
--enable-default-pie \
--enable-default-ssp \
--disable-nls \
--disable-multilib \
--disable-libatomic \
--disable-libgomp \
--disable-libquadmath \
--disable-libsanitizer \
--disable-libssp \
--disable-libvtv \
--enable-languages=c,c++ \
LDFLAGS_FOR_TARGET=-L"${PWD}"/"${LFS_TGT}"/libgcc
make
make DESTDIR="${LFS}" install
ln -s gcc "${LFS}"/usr/bin/cc