3.25. gcc-10.2.0
#!/bin/sh # Copyright © 1999-2022 Gerard Beekmans # Copyright © 2017-2022 Random Crew # Distributed under the terms of MIT License.
Configuration
src_config()
{
case $(uname -m) in
x86_64)
sed -e '/m64=/s/lib64/lib/' \
-i.orig gcc/config/i386/t-linux64
;;
esac
mkdir build
cd build
../configure \
--prefix=${PREFIX} \
LD=ld \
--enable-languages=c,c++ \
--disable-multilib \
--disable-bootstrap \
--with-system-zlib
}
Compilation
src_compile()
{
make ${MAKEOPTS}
}
Installation
The following code from original LFS is not executed:
chown -v -R root:root \
/usr/lib/gcc/*linux-gnu/10.2.0/include{,-fixed}
We do not need that, as all built files are user-owned by now. At the installation stage all files will automatically obtain root owner.
src_install()
{
make install ${MAKEOPTS} DESTDIR=${D}
rm -rf ${D}${PREFIX}/lib/gcc/$(gcc -dumpmachine)/${PV}/include-fixed/bits/
ln -s ../bin/cpp ${D}${PREFIX}/lib/cpp
ln -s gcc ${D}${PREFIX}/bin/cc
install -dm755 ${D}${PREFIX}/lib/bfd-plugins
ln -sf ../../libexec/gcc/$(gcc -dumpmachine)/${PV}/liblto_plugin.so \
${D}${PREFIX}/lib/bfd-plugins/
mkdir -p ${D}${PREFIX}/share/gdb/auto-load/usr/lib
mv ${D}${PREFIX}/lib/*gdb.py ${D}${PREFIX}/share/gdb/auto-load/usr/lib
}
Unit testing
src_check()
{
cd ${S}/build
ulimit -s 32768
make -k check || nonfail
../contrib/test_summary
}
Build code
Other files
Links
- url.lfs: https://linuxfromscratch.org/lfs/view/10.1/chapter08/gcc.html
- url.lfs.stage1: