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.

64 lines
1.5 KiB

#!/usr/bin/env bash
sed -i 's/char [*]q/const &/' libgomp/affinity-fmt.c
case $(uname -m) in
x86_64)
sed -e '/m64=/s/lib64/lib/' \
-i.orig gcc/config/i386/t-linux64
;;
esac
mkdir -v build
cd build || return 1
../configure --prefix=/usr \
LD=ld \
--enable-languages=c,c++ \
--enable-default-pie \
--enable-default-ssp \
--enable-host-pie \
--disable-multilib \
--disable-bootstrap \
--disable-fixincludes \
--with-system-zlib
make || return 1
ulimit -s -H unlimited
sed -e '/cpython/d' -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp
chown -Rv tester .
su tester -c "PATH=$PATH make -k check"
../contrib/test_summary
make install || return 1
chown -v -R root:root /usr/lib/gcc/"$(gcc -dumpmachine)"/15.2.0/include{,-fixed}
ln -svr /usr/bin/cpp /usr/lib
ln -sv gcc.1 /usr/share/man/man1/cc.1
ln -svf ../../libexec/gcc/"$(gcc -dumpmachine)"/15.2.0/liblto_plugin.so /usr/lib/bfd-plugins/
echo 'int main(){}' | cc -x c - -v -Wl,--verbose &> dummy.log
readelf -l a.out | grep ': /lib' || return 1
grep -E -o '/usr/lib.*/S?crt[1in].*succeeded' dummy.log || return 1
grep -B4 '^ /usr/include' dummy.log || return 1
grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g' || return 1
grep "/lib.*/libc.so.6 " dummy.log || return 1
grep found dummy.log || return 1
mkdir -pv /usr/share/gdb/auto-load/usr/lib
mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib