3.25. gcc-11.2.0
#!/bin/sh # Copyright © 1999-2022 Gerard Beekmans # Copyright © 2017-2022 Random Crew # Distributed under the terms of MIT License.
Configuration
src_config() { sed -e '/static.*SIGSTKSZ/d' \ -e 's/return kAltStackSize/return SIGSTKSZ * 4/' \ -i libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp 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/11.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/11.1/chapter08/gcc.html
- url.lfs.stage1: