# Template file for 'gcc-multilib' archs="x86_64" _triplet="x86_64-unknown-linux-gnu" pkgname=gcc-multilib version=14.2.1+20250405 revision=1 _patchver="${version%+*}" _minorver="${version%.*}" _majorver="${_minorver%.*}" hostmakedepends="perl flex tar" makedepends="zlib-devel libzstd-devel isl-devel libmpc-devel gmp-devel mpfr-devel glibc-32bit glibc-devel-32bit" depends=" gcc>=${_minorver} libgcc-32bit>=${_minorver} libgomp-devel-32bit>=${_minorver} libitm-devel-32bit>=${_minorver} libsanitizer-devel-32bit>=${_minorver} libatomic-devel-32bit>=${_minorver} libvtv-devel-32bit>=${_minorver} zlib-32bit glibc-devel-32bit" short_desc="GNU Compiler Collection (multilib files)" maintainer="Orphaned " homepage="http://gcc.gnu.org" license="GFDL-1.2-or-later, GPL-3.0-or-later, LGPL-2.1-or-later" case "${version}" in *+*) distfiles="https://gcc.gnu.org/pub/gcc/snapshots/${_majorver}-${version#*+}/gcc-${_majorver}-${version#*+}.tar.xz" ;; *) distfiles="${GNU_SITE}/gcc/gcc-${version}.tar.xz" ;; esac checksum=9a84b0947d8fb18197eef3fce8e255e30a61f7f382cebb961b1705c1d99214a3 replaces="libmpx-devel-32bit>=0 libssp-32bit>=0 libssp-devel-32bit>=0" # Snapshot tarballs get removed after over a year, we can archive the ones we need in distfiles. case "$XBPS_DISTFILES_FALLBACK" in *"repo-default.voidlinux.org/distfiles"*) ;; *) XBPS_DISTFILES_FALLBACK+=" https://repo-default.voidlinux.org/distfiles" ;; esac do_configure() { ldconfig &>/dev/null # _FORTIFY_SOURCE needs an optimization level. sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {gcc,libiberty}/configure # hack! some configure tests for header files using "$CPP $CPPFLAGS" sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure ./configure --prefix=/usr \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --libexecdir=/usr/lib \ --enable-clocale=gnu \ --disable-bootstrap \ --libdir=/usr/lib \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-multilib \ --disable-rpath \ --with-system-zlib \ --enable-shared \ --enable-lto \ --enable-linker-build-id \ --enable-gnu-unique-object \ --enable-default-pie \ --enable-default-ssp \ --disable-libssp \ --enable-checking=release \ --disable-libstdcxx-pch \ --disable-target-libiberty \ --with-isl \ --enable-libstdcxx-time \ --enable-tls \ --enable-languages="c,c++,lto" \ --with-linker-hash-style=gnu } do_build() { make ${makejobs} } do_install() { local _pc_triplet=x86_64-pc-linux-gnu # Install to a tempdir and then only copy relevant files. cd ${wrksrc} make DESTDIR=${wrksrc}/${pkgname}-build install # Make version a symlink of major version to make all versions # from the same series work automagically. vmkdir usr/include/c++/${_minorver}/${_triplet} vmkdir usr/lib/gcc/${_triplet}/${_minorver} cp -a ${wrksrc}/${pkgname}-build/usr/lib/gcc/${_pc_triplet}/${_patchver}/32 \ ${DESTDIR}/usr/lib/gcc/${_triplet}/${_minorver}/ cp -a ${wrksrc}/${pkgname}-build/usr/include/c++/${_patchver}/${_pc_triplet}/32 \ ${DESTDIR}/usr/include/c++/${_minorver}/${_triplet} vinstall ${wrksrc}/host-${_pc_triplet}/gcc/specs 644 usr/lib/gcc/${_triplet}/${_minorver} } gcc-objc-multilib_package() { depends="gcc-multilib>=${_minorver} gcc-objc>=${_minorver} libobjc-devel-32bit>=${_minorver}" short_desc="GNU Objective-C compiler (multilib files)" build_style=meta }