# This is an example PKGBUILD file. Use this as a start to creating your own, # and remove these comments. For more information, see 'man PKGBUILD'. # NOTE: Please fill out the license field for your package! If it is unknown, # then please put 'unknown'. # Maintainer: Future Linux Team pkgname=(gcc gcc-libs gcc-libs-32bit) pkgbase=gcc pkgver=14.2.0 pkgrel=1 pkgdesc="The GNU Compiler Collection" arch=('x86_64') url="https://gcc.gnu.org" license=('GPL-3.0-with-GCC-exception' 'GFDL-1.3-or-later') makedepends=('binutils' 'mpc' 'isl' 'python' 'zstd') options=('!emptydirs' '!lto') source=(https://ftp.gnu.org/gnu/${pkgname}/${pkgbase}-${pkgver}/${pkgbase}-${pkgver}.tar.xz c89 c99) sha256sums=(a7b39bc69cbf9e25826c5a60ab26477001f7c08d85cec04bc0e29cabed6f3cc9 aa3327fd8626acf2a28fa75c0b3ed99fcffb1bbcbe6974505f050ee751ba4154 2861971c0ef2c011ce10c98e8cf7b5fd1d3d3c4eddcfe0a01ed9d76940f67638) prepare() { cd ${pkgbase}-${pkgver} sed -e '/m32=/s/m32=.*/m32=..\/lib32$(call if_multiarch,:i386-linux-gnu)/' \ -i.orig gcc/config/i386/t-linux64 install -dm755 ${pkgbase}-build } build() { cd ${pkgbase}-${pkgver}/${pkgbase}-build CFLAGS=${CFLAGS/-Werror=format-security/} CXXFLAGS=${CXXFLAGS/-Werror=format-security/} mlist=m64,m32 ${BUILD_CONFIGURE} \ --target=${CHOST} \ LD=ld \ --enable-languages=c,c++ \ --enable-default-pie \ --enable-default-ssp \ --enable-host-pie \ --enable-multilib \ --with-multilib-list=$mlist \ --disable-bootstrap \ --disable-fixincludes \ --with-system-zlib make } package_gcc() { pkgdesc="The GNU Compiler Collection - C and C++ frontends" groups=('base-devel') depends=("${pkgbase}-libs=${pkgver}-${pkgrel}" 'binutils' 'mpc' 'isl' 'zstd') options=('!emptydirs' 'staticlibs') cd ${pkgbase}-${pkgver}/${pkgbase}-build make DESTDIR=${pkgdir} install chown -v -R root:root ${pkgdir}/usr/lib64/gcc/${CHOST}/${pkgver}/include{,-fixed} ln -sv gcc.1 ${pkgdir}/usr/share/man/man1/cc.1 install -vdm 755 ${pkgdir}/usr/lib64/bfd-plugins ln -sfv /usr/libexec/gcc/${CHOST}/${pkgver}/liblto_plugin.so \ ${pkgdir}/usr/lib64/bfd-plugins/ install -d ${pkgdir}/usr/share/gdb/auto-load/usr/lib64 mv ${pkgdir}/usr/lib64/*gdb.py ${pkgdir}/usr/share/gdb/auto-load/usr/lib64/ ln -s gcc ${pkgdir}/usr/bin/cc ln -svr cpp ${pkgdir}/usr/lib64 install -Dm755 ${srcdir}/c89 ${pkgdir}/usr/bin/c89 install -Dm755 ${srcdir}/c99 ${pkgdir}/usr/bin/c99 _pick gcc_libs ${pkgdir}/usr/lib64/libasan.so _pick gcc_libs ${pkgdir}/usr/lib64/libasan.so.8 _pick gcc_libs ${pkgdir}/usr/lib64/libasan.so.8.0.0 _pick gcc_libs ${pkgdir}/usr/lib64/libatomic.so _pick gcc_libs ${pkgdir}/usr/lib64/libatomic.so.1 _pick gcc_libs ${pkgdir}/usr/lib64/libatomic.so.1.2.0 _pick gcc_libs ${pkgdir}/usr/lib64/libgcc_s.so _pick gcc_libs ${pkgdir}/usr/lib64/libgcc_s.so.1 _pick gcc_libs ${pkgdir}/usr/lib64/libgomp.so _pick gcc_libs ${pkgdir}/usr/lib64/libgomp.so.1 _pick gcc_libs ${pkgdir}/usr/lib64/libgomp.so.1.0.0 _pick gcc_libs ${pkgdir}/usr/lib64/libitm.so _pick gcc_libs ${pkgdir}/usr/lib64/libitm.so.1 _pick gcc_libs ${pkgdir}/usr/lib64/libitm.so.1.0.0 _pick gcc_libs ${pkgdir}/usr/lib64/liblsan.so _pick gcc_libs ${pkgdir}/usr/lib64/liblsan.so.0 _pick gcc_libs ${pkgdir}/usr/lib64/liblsan.so.0.0.0 _pick gcc_libs ${pkgdir}/usr/lib64/libquadmath.so _pick gcc_libs ${pkgdir}/usr/lib64/libquadmath.so.0 _pick gcc_libs ${pkgdir}/usr/lib64/libquadmath.so.0.0.0 _pick gcc_libs ${pkgdir}/usr/lib64/libstdc++.so _pick gcc_libs ${pkgdir}/usr/lib64/libstdc++.so.6 _pick gcc_libs ${pkgdir}/usr/lib64/libstdc++.so.6.0.33 _pick gcc_libs ${pkgdir}/usr/lib64/libtsan.so _pick gcc_libs ${pkgdir}/usr/lib64/libtsan.so.2 _pick gcc_libs ${pkgdir}/usr/lib64/libtsan.so.2.0.0 _pick gcc_libs ${pkgdir}/usr/lib64/libubsan.so _pick gcc_libs ${pkgdir}/usr/lib64/libubsan.so.1 _pick gcc_libs ${pkgdir}/usr/lib64/libubsan.so.1.0.0 _pick gcc_libs ${pkgdir}/usr/share/info/libgomp.info _pick gcc_libs ${pkgdir}/usr/share/info/libitm.info _pick gcc_libs ${pkgdir}/usr/share/info/libquadmath.info _pick gcc_libs ${pkgdir}/usr/share/locale/de/LC_MESSAGES/libstdc++.mo _pick gcc_libs ${pkgdir}/usr/share/locale/fr/LC_MESSAGES/libstdc++.mo _pick gcc_libs_32bit ${pkgdir}/usr/lib32 } package_gcc-libs() { pkgdesc='Runtime libraries shipped by GCC' groups=('base') depends=('glibc') options=('!emptydirs' '!strip') mv gcc_libs/* ${pkgdir} } package_gcc-libs-32bit() { pkgdesc='32-bit runtime libraries shipped by GCC' depends=('glibc-32bit') options=('!emptydirs' '!strip') mv gcc_libs_32bit/* ${pkgdir} }