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.

53 lines
1.9 KiB

#!/usr/bin/env bash
mkdir --parents mpfr
archivepath=$(find "${SOURCES}" -name "mpfr*.tar.*" -print)
tar --extract --file=../"$(basename "${archivepath}")" --directory=mpfr --strip-components=1
mkdir --parents gmp
archivepath=$(find "${SOURCES}" -name "gmp*.tar.*" -print)
tar --extract --file=../"$(basename "${archivepath}")" --directory=gmp --strip-components=1
mkdir --parents mpc
archivepath=$(find "${SOURCES}" -name "mpc*.tar.*" -print)
tar --extract --file=../"$(basename "${archivepath}")" --directory=mpc --strip-components=1
case $(uname -m) in
x86_64)
sed --expression='/m64=/s/lib64/lib/' --in-place=.orig gcc/config/i386/t-linux64
;;
esac
mkdir --parents build
(
cd build || return 1
../configure \
--target=$LFS_TGT \
--prefix=$LFS/tools \
--with-glibc-version=2.43 \
--with-sysroot=$LFS \
--with-newlib \
--without-headers \
--enable-default-pie \
--enable-default-ssp \
--disable-nls \
--disable-shared \
--disable-multilib \
--disable-threads \
--disable-libatomic \
--disable-libgomp \
--disable-libquadmath \
--disable-libssp \
--disable-libvtv \
--disable-libstdcxx \
--enable-languages=c,c++
make
make install
)
cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \
$(dirname $($LFS_TGT-gcc -print-libgcc-file-name))/include/limits.h