diff --git a/srcpkgs/gcc-c++-multilib b/srcpkgs/gcc-c++-multilib index 9f2eca37b15..b08d5af5795 120000 --- a/srcpkgs/gcc-c++-multilib +++ b/srcpkgs/gcc-c++-multilib @@ -1 +1 @@ -gcc-multilib \ No newline at end of file +gcc \ No newline at end of file diff --git a/srcpkgs/gcc-multilib b/srcpkgs/gcc-multilib new file mode 120000 index 00000000000..b08d5af5795 --- /dev/null +++ b/srcpkgs/gcc-multilib @@ -0,0 +1 @@ +gcc \ No newline at end of file diff --git a/srcpkgs/gcc-multilib/depends b/srcpkgs/gcc-multilib/depends deleted file mode 100644 index fa93ce90fbf..00000000000 --- a/srcpkgs/gcc-multilib/depends +++ /dev/null @@ -1,2 +0,0 @@ -abi_depends=">=4.5.0" -api_depends="${abi_depends}" diff --git a/srcpkgs/gcc-multilib/template b/srcpkgs/gcc-multilib/template deleted file mode 100644 index 274e4e288f0..00000000000 --- a/srcpkgs/gcc-multilib/template +++ /dev/null @@ -1,108 +0,0 @@ -# Template build file for 'gcc-multilib' -pkgname=gcc-multilib -_majorver=4.6 -_gmp_ver=5.0.3 -_mpfr_ver=3.1.0 -_mpc_ver=0.8.2 -version=${_majorver}.2 -wrksrc="gcc-${version}" -distfiles=" -http://ftp.gnu.org/pub/gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2 -http://ftp.gnu.org/pub/gnu/gmp/gmp-${_gmp_ver}.tar.bz2 -http://www.mpfr.org/mpfr-current/mpfr-${_mpfr_ver}.tar.bz2 -http://www.multiprecision.org/mpc/download/mpc-${_mpc_ver}.tar.gz" -short_desc="The GNU C Compiler suite (multilib libraries)" -maintainer="Juan RP " -checksum=" -60b05463dfe18d40d68fb8a71b25b408a01f86cc6ceaf5e6b22238b6b0f450c2 -dcafe9989c7f332b373e1f766af8e9cd790fc802fdec422a1910a6ef783480e3 -74a7bbbad168dd1cc414f1c9210b8fc16ccfc8e422d34b3371a8978e31eab680 -ae79f8d41d8a86456b68607e9ca398d00f8b7342d1d83bcf4428178ac45380c7" -long_desc=" - The GNU C Compiler suite, with support for C, C++, ObjC and ObjC++. - - This package installs the 32 bit libraries required to compile 32 bit - code on x86_64 systems." - -subpackages="libgcc32 libssp32 libgomp32 libobjc32 libstdc++32 libmudflap32" -subpackages="${subpackages} libstdc++32-devel libmudflap32-devel" -subpackages="${subpackages} gcc-c++-multilib gcc-objc-multilib" - -disable_parallel_build=yes -noverifyrdeps=yes -only_for_archs=x86_64 - -Add_dependency run gcc ">=${version}" -Add_dependency run libgcc32 ">=${version}" -Add_dependency run libgomp32 ">=${version}" -Add_dependency run zlib32 -Add_dependency run glibc32-devel - -Add_dependency build glibc32-devel -Add_dependency build zlib32-devel - -do_configure() { - # As specified in the LFS book, disable installing libiberty. - sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in - # Do not run fixincludes - sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in - - mkdir -p ${build_wrksrc}/gmp - { mv ${XBPS_BUILDDIR}/gmp-${_gmp_ver} gmp; \ - mv ${XBPS_BUILDDIR}/mpfr-${_mpfr_ver} mpfr; \ - mv ${XBPS_BUILDDIR}/mpc-${_mpc_ver} mpc; } - - cp -a gmp/*.h ${build_wrksrc}/gmp - - ./configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib \ - --enable-clocale=gnu --enable-shared --disable-bootstrap \ - --enable-threads=posix --enable-__cxa_atexit \ - --disable-gold --disable-lto --with-system-zlib \ - --enable-languages=c,c++,objc,obj-c++ --disable-nls \ - --enable-multilib -} - -do_build() { - make ${makejobs} -} - -do_install() { - local triplet="x86_64-unknown-linux-gnu" - local libmddir="usr/lib/gcc/${triplet}/${_majorver}" - local dirn _dir_ - - vmkdir usr/lib - cd ${DESTDIR}/usr && ln -sf lib lib64 && cd ${wrksrc}/${build_wrksrc} - - # Create major version to version symlink. - make DESTDIR=${DESTDIR} install - mv ${DESTDIR}/usr/lib/gcc/${triplet}/${version} \ - ${DESTDIR}/${libmddir} - - # We are only interested in 32bit stuff, remove anything else. - rm -rf ${DESTDIR}/usr/{lib64,libexec,bin,share} - rm -f ${DESTDIR}/usr/lib/*.{spec,a,so*} - rm -f ${DESTDIR}/usr/lib32/{libiberty*,*.py} - rm -rf ${DESTDIR}/${libmddir}/{include,include-fixed,install-tools,plugin} - rm -f ${DESTDIR}/${libmddir}/*.{a,o} - rm -f ${DESTDIR}/${libmddir}/{c,lto}* - rm -f ${DESTDIR}/usr/lib32/libquadmath* - - # Move around some stuff for multilib. - mv ${DESTDIR}/usr/lib32/lib{std,sup}c++.a ${DESTDIR}/${libmddir}/32 - mv ${DESTDIR}/usr/lib32/lib{gomp,objc*}.a ${DESTDIR}/${libmddir}/32 - mv ${DESTDIR}/usr/lib32/libssp*.a ${DESTDIR}/${libmddir}/32 - - # Keep libstdc++ 32bit headers, remove anything else. - rm -rf ${wrksrc}/xbps_32bits_libstdc++ - mv ${DESTDIR}/usr/include/c++/${version}/${triplet}/32 \ - ${wrksrc}/xbps_32bits_libstdc++ - rm -rf ${DESTDIR}/usr/include/c++/${version}/* - - vmkdir usr/include/c++/${_majorver}/${triplet} - mv xbps_32bits_libstdc++ \ - ${DESTDIR}/usr/include/c++/${_majorver}/${triplet}/32 - - # Install specs file overriding native gcc with no multilib support. - vinstall host-${triplet}/gcc/specs 644 ${libmddir} -} diff --git a/srcpkgs/gcc-objc-multilib b/srcpkgs/gcc-objc-multilib index 9f2eca37b15..b08d5af5795 120000 --- a/srcpkgs/gcc-objc-multilib +++ b/srcpkgs/gcc-objc-multilib @@ -1 +1 @@ -gcc-multilib \ No newline at end of file +gcc \ No newline at end of file diff --git a/srcpkgs/gcc-multilib/gcc-c++-multilib.template b/srcpkgs/gcc/gcc-c++-multilib.template similarity index 71% rename from srcpkgs/gcc-multilib/gcc-c++-multilib.template rename to srcpkgs/gcc/gcc-c++-multilib.template index d6d0a4a1614..74e610edc70 100644 --- a/srcpkgs/gcc-multilib/gcc-c++-multilib.template +++ b/srcpkgs/gcc/gcc-c++-multilib.template @@ -7,14 +7,16 @@ long_desc=" On architectures with multilib support, the package contains files and dependencies for the non-default multilib architecture(s)." +noverifyrdeps=yes + Add_dependency run gcc-c++ ">=${version}" Add_dependency run gcc-multilib ">=${version}" Add_dependency run libstdc++32-devel ">=${version}" -do_install() -{ - local libmddir="usr/lib/gcc/x86_64-unknown-linux-gnu/${_majorver}" +do_install() { + local libmddir="usr/lib/gcc/${_triplet}/${_majorver}" - vmove ${libmddir}/32/libstdc++.a ${libmddir}/32 - vmove ${libmddir}/32/libsupc++.a ${libmddir}/32 + for f in std sup; do + vmove usr/lib32/lib${f}c++.a ${libmddir}/32 + done } diff --git a/srcpkgs/gcc/gcc-c++.template b/srcpkgs/gcc/gcc-c++.template index c520d98f9e5..b7ca817ad90 100644 --- a/srcpkgs/gcc/gcc-c++.template +++ b/srcpkgs/gcc/gcc-c++.template @@ -1,6 +1,5 @@ # Template file for 'gcc-c++'. # -revision=3 short_desc="GCC C++ support" long_desc="${long_desc} diff --git a/srcpkgs/gcc/gcc-fortran.template b/srcpkgs/gcc/gcc-fortran.template index fc2b69c7007..9525895a6e6 100644 --- a/srcpkgs/gcc/gcc-fortran.template +++ b/srcpkgs/gcc/gcc-fortran.template @@ -1,6 +1,5 @@ # Template file for 'gcc-fortran'. # -revision=3 short_desc="GCC Fortran compiler frontend" long_desc="${long_desc} diff --git a/srcpkgs/gcc/gcc-go.template b/srcpkgs/gcc/gcc-go.template index 8a431e9c3a0..99a64eed3a0 100644 --- a/srcpkgs/gcc/gcc-go.template +++ b/srcpkgs/gcc/gcc-go.template @@ -1,6 +1,5 @@ # Template file for 'gcc-go'. # -revision=3 short_desc="GCC Go compiler frontend" long_desc="${long_desc} diff --git a/srcpkgs/gcc/gcc-multilib.template b/srcpkgs/gcc/gcc-multilib.template new file mode 100644 index 00000000000..8cbf24b7e90 --- /dev/null +++ b/srcpkgs/gcc/gcc-multilib.template @@ -0,0 +1,24 @@ +# Template file for 'gcc-c-multilib'. +# +short_desc="GCC C compiler (multilib files)" +long_desc=" + This is the GNU C compiler, a fairly portable optimizing compiler for C. + + On architectures with multilib support, the package contains files and + dependencies for the non-default multilib architecture(s)." + +noverifyrdeps=yes + +Add_dependency run gcc ">=${version}" +Add_dependency run libgcc32 ">=${version}" +Add_dependency run libgomp32 ">=${version}" +Add_dependency run zlib32 +Add_dependency run glibc32-devel + +do_install() { + local libmddir="usr/lib/gcc/${_triplet}/${_majorver}" + + vmove ${libmddir}/32 ${libmddir} + vmove "usr/lib32/libssp*.a" ${libmddir}/32 + vinstall host-${_triplet}/gcc/specs 644 ${libmddir} +} diff --git a/srcpkgs/gcc/gcc-objc++.template b/srcpkgs/gcc/gcc-objc++.template index 0b122f2da39..6667fff8cef 100644 --- a/srcpkgs/gcc/gcc-objc++.template +++ b/srcpkgs/gcc/gcc-objc++.template @@ -1,6 +1,5 @@ # Template file for 'gcc-objc++'. # -revision=3 short_desc="GCC Objective-C++ support" long_desc="${long_desc} diff --git a/srcpkgs/gcc-multilib/gcc-objc-multilib.template b/srcpkgs/gcc/gcc-objc-multilib.template similarity index 74% rename from srcpkgs/gcc-multilib/gcc-objc-multilib.template rename to srcpkgs/gcc/gcc-objc-multilib.template index 6aa5f084477..3d1b985eebf 100644 --- a/srcpkgs/gcc-multilib/gcc-objc-multilib.template +++ b/srcpkgs/gcc/gcc-objc-multilib.template @@ -8,14 +8,14 @@ long_desc=" On architectures with multilib support, the package contains files and dependencies for the non-default multilib architecture(s)." -Add_dependency run gcc ">=${version}" +noverifyrdeps=yes + Add_dependency run gcc-multilib ">=${version}" Add_dependency run gcc-objc ">=${version}" Add_dependency run libobjc32 ">=${version}" -do_install() -{ - local libmddir="/usr/lib/gcc/x86_64-unknown-linux-gnu/${_majorver}" +do_install() { + local libmddir="/usr/lib/gcc/${_triplet}/${_majorver}" - vmove "${libmddir}/32/libobjc*.a" ${libmddir}/32 + vmove "usr/lib32/libobjc*.a" ${libmddir}/32 } diff --git a/srcpkgs/gcc/gcc-objc.template b/srcpkgs/gcc/gcc-objc.template index 4fa0e7d3f77..793b0cf63fc 100644 --- a/srcpkgs/gcc/gcc-objc.template +++ b/srcpkgs/gcc/gcc-objc.template @@ -1,6 +1,5 @@ # Template file for 'gcc-objc'. # -revision=3 short_desc="GCC Objective-C support" long_desc="${long_desc} diff --git a/srcpkgs/gcc/gcc.rshlibs b/srcpkgs/gcc/gcc.rshlibs index 0167f35af9c..baa7e41b092 100644 --- a/srcpkgs/gcc/gcc.rshlibs +++ b/srcpkgs/gcc/gcc.rshlibs @@ -6,3 +6,4 @@ libmpfr.so.4 libgmp.so.10 libdl.so.2 libz.so.1 +ld-linux.so.2 diff --git a/srcpkgs/gcc-multilib/libgcc32.template b/srcpkgs/gcc/libgcc32.template similarity index 94% rename from srcpkgs/gcc-multilib/libgcc32.template rename to srcpkgs/gcc/libgcc32.template index 74783619149..67ab4771f2d 100644 --- a/srcpkgs/gcc-multilib/libgcc32.template +++ b/srcpkgs/gcc/libgcc32.template @@ -7,7 +7,6 @@ long_desc="${long_desc} noverifyrdeps=yes -do_install() -{ +do_install() { vmove "usr/lib32/libgcc_s.so*" usr/lib32 } diff --git a/srcpkgs/gcc/libgfortran.template b/srcpkgs/gcc/libgfortran.template index 3a9d92fac39..1b71d951f6e 100644 --- a/srcpkgs/gcc/libgfortran.template +++ b/srcpkgs/gcc/libgfortran.template @@ -1,6 +1,5 @@ # Template file for 'libgfortran'. # -revision=1 short_desc="GCC Fortran library ${version} shared library support" long_desc="${long_desc} diff --git a/srcpkgs/gcc/libgo.template b/srcpkgs/gcc/libgo.template index fd2ba294c2e..e956d6f9546 100644 --- a/srcpkgs/gcc/libgo.template +++ b/srcpkgs/gcc/libgo.template @@ -1,6 +1,5 @@ # Template file for 'libgo'. # -revision=2 short_desc="Go library ${version} shared library support" long_desc="${long_desc} diff --git a/srcpkgs/gcc/libgomp.template b/srcpkgs/gcc/libgomp.template index b3409af5290..7d02ec5162e 100644 --- a/srcpkgs/gcc/libgomp.template +++ b/srcpkgs/gcc/libgomp.template @@ -1,6 +1,5 @@ # Template file for 'gcc-libgomp'. # -revision=1 short_desc="GCC OpenMP v3.0 shared support library" long_desc="${long_desc} diff --git a/srcpkgs/gcc-multilib/libgomp32.template b/srcpkgs/gcc/libgomp32.template similarity index 72% rename from srcpkgs/gcc-multilib/libgomp32.template rename to srcpkgs/gcc/libgomp32.template index 7bf524dba3b..089d95fb6f2 100644 --- a/srcpkgs/gcc-multilib/libgomp32.template +++ b/srcpkgs/gcc/libgomp32.template @@ -6,11 +6,11 @@ long_desc="${long_desc} This package contains the 32bit GCC shared support library which is needed for OpenMP v3.0 support." +noverifyrdeps=yes + Add_dependency run libgcc32 Add_dependency run glibc32 -do_install() -{ - mkdir -p ${DESTDIR}/usr/lib32 - mv ${SRCPKGDESTDIR}/usr/lib32/libgomp.* ${DESTDIR}/usr/lib32 +do_install() { + vmove "usr/lib32/libgomp.*" usr/lib32 } diff --git a/srcpkgs/gcc/libmudflap.template b/srcpkgs/gcc/libmudflap.template index 603170f29b5..e9a96b2dd9d 100644 --- a/srcpkgs/gcc/libmudflap.template +++ b/srcpkgs/gcc/libmudflap.template @@ -1,6 +1,5 @@ # Template file for 'gcc-libmudflap'. # -revision=2 short_desc="GCC mudflap shared support library" long_desc="${long_desc} diff --git a/srcpkgs/gcc-multilib/libmudflap32-devel.template b/srcpkgs/gcc/libmudflap32-devel.template similarity index 96% rename from srcpkgs/gcc-multilib/libmudflap32-devel.template rename to srcpkgs/gcc/libmudflap32-devel.template index 417801eea0c..be68b25d42d 100644 --- a/srcpkgs/gcc-multilib/libmudflap32-devel.template +++ b/srcpkgs/gcc/libmudflap32-devel.template @@ -11,7 +11,6 @@ Add_dependency run gcc-multilib Add_dependency run glibc32-devel Add_dependency run libmudflap32 -do_install() -{ +do_install() { vmove "usr/lib32/libmudflap*.a" usr/lib32 } diff --git a/srcpkgs/gcc-multilib/libmudflap32.template b/srcpkgs/gcc/libmudflap32.template similarity index 90% rename from srcpkgs/gcc-multilib/libmudflap32.template rename to srcpkgs/gcc/libmudflap32.template index 4f81e465381..262c4ff2b43 100644 --- a/srcpkgs/gcc-multilib/libmudflap32.template +++ b/srcpkgs/gcc/libmudflap32.template @@ -5,10 +5,11 @@ long_desc=" The libmudflap libraries are used by GCC for instrumenting pointer and array dereferencing operations." +noverifyrdeps=yes + Add_dependency run gcc-multilib Add_dependency run glibc32 -do_install() -{ +do_install() { vmove "usr/lib32/libmudflap*.so*" usr/lib32 } diff --git a/srcpkgs/gcc/libobjc.template b/srcpkgs/gcc/libobjc.template index cf55142609c..917352c0b9b 100644 --- a/srcpkgs/gcc/libobjc.template +++ b/srcpkgs/gcc/libobjc.template @@ -1,6 +1,5 @@ # Template file for 'libobjc'. # -revision=1 short_desc="GCC Objective-C shared library support" long_desc="${long_desc} diff --git a/srcpkgs/gcc-multilib/libobjc32.template b/srcpkgs/gcc/libobjc32.template similarity index 91% rename from srcpkgs/gcc-multilib/libobjc32.template rename to srcpkgs/gcc/libobjc32.template index 6051de02171..37b7837d710 100644 --- a/srcpkgs/gcc-multilib/libobjc32.template +++ b/srcpkgs/gcc/libobjc32.template @@ -6,10 +6,11 @@ long_desc="${long_desc} This package contains the 32bit GCC Objective-C shared support library which is needed to run Objective-C dynamically linked programs." +noverifyrdeps=yes + Add_dependency run libgcc32 Add_dependency run glibc32 -do_install() -{ +do_install() { vmove "usr/lib32/libobjc.so*" usr/lib32 } diff --git a/srcpkgs/gcc/libquadmath.template b/srcpkgs/gcc/libquadmath.template index 2726fbd3cdd..51440f16604 100644 --- a/srcpkgs/gcc/libquadmath.template +++ b/srcpkgs/gcc/libquadmath.template @@ -1,6 +1,5 @@ # Template file for 'libquadmath' # -revision=1 short_desc="GCC quad match ${version} shared library support" long_desc="${long_desc} diff --git a/srcpkgs/gcc/libssp.template b/srcpkgs/gcc/libssp.template index 434b88671ea..99df9633363 100644 --- a/srcpkgs/gcc/libssp.template +++ b/srcpkgs/gcc/libssp.template @@ -1,6 +1,5 @@ # Template file for 'libssp'. # -revision=1 short_desc="GCC SSP shared library support" long_desc="${long_desc} diff --git a/srcpkgs/gcc-multilib/libssp32.template b/srcpkgs/gcc/libssp32.template similarity index 88% rename from srcpkgs/gcc-multilib/libssp32.template rename to srcpkgs/gcc/libssp32.template index 0877407ab85..1ffcaf0277d 100644 --- a/srcpkgs/gcc-multilib/libssp32.template +++ b/srcpkgs/gcc/libssp32.template @@ -6,9 +6,10 @@ long_desc="${long_desc} This package contains the 32bit Stack Smashing Protection shared library provided by GCC." +noverifyrdeps=yes + Add_dependency run glibc32 -do_install() -{ +do_install() { vmove "usr/lib32/libssp.so*" usr/lib32 } diff --git a/srcpkgs/gcc/libstdc++.template b/srcpkgs/gcc/libstdc++.template index 3bca259a769..1b1c6a3c497 100644 --- a/srcpkgs/gcc/libstdc++.template +++ b/srcpkgs/gcc/libstdc++.template @@ -1,6 +1,5 @@ # Template file for 'gcc-libstdc++'. # -revision=2 short_desc="GCC Standard C++ Library" long_desc="${long_desc} diff --git a/srcpkgs/gcc-multilib/libstdc++32-devel.template b/srcpkgs/gcc/libstdc++32-devel.template similarity index 71% rename from srcpkgs/gcc-multilib/libstdc++32-devel.template rename to srcpkgs/gcc/libstdc++32-devel.template index 60e4bbd3af0..3d77fcc7c04 100644 --- a/srcpkgs/gcc-multilib/libstdc++32-devel.template +++ b/srcpkgs/gcc/libstdc++32-devel.template @@ -6,10 +6,12 @@ long_desc="${long_desc} This package contains a rewritten 32bit standard compliant GCC Standard C++ development files and headers for x86_64 systems." +noverifyrdeps=yes + Add_dependency run libstdc++-devel Add_dependency run libstdc++32 -do_install() -{ - vmove usr/include usr +do_install() { + vmove usr/include/c++/${_majorver}/${_triplet}/32 \ + usr/include/c++/${_majorver}/${_triplet} } diff --git a/srcpkgs/gcc-multilib/libstdc++32.template b/srcpkgs/gcc/libstdc++32.template similarity index 83% rename from srcpkgs/gcc-multilib/libstdc++32.template rename to srcpkgs/gcc/libstdc++32.template index 51b822280e0..a3cc13f55df 100644 --- a/srcpkgs/gcc-multilib/libstdc++32.template +++ b/srcpkgs/gcc/libstdc++32.template @@ -6,10 +6,12 @@ long_desc="${long_desc} This package contains a rewritten standard compliant GCC Standard C++ library 32bit for x86_64 systems." +noverifyrdeps=yes + Add_dependency run libgcc32 Add_dependency run glibc32 +Add_dependency run libstdc++ -do_install() -{ +do_install() { vmove "usr/lib32/libstdc++.so*" usr/lib32 } diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template index 8ddbb94b332..7f6635794c9 100644 --- a/srcpkgs/gcc/template +++ b/srcpkgs/gcc/template @@ -1,16 +1,13 @@ # Template build file for 'gcc' -# -# NOTE: don't forget to sync with gcc-multilib when this package is updated. pkgname=gcc _majorver=4.6 -version=${_majorver}.2 +version=${_majorver}.3 distfiles="http://ftp.gnu.org/pub/gnu/gcc/gcc-$version/gcc-$version.tar.bz2" -revision=3 short_desc="The GNU C Compiler" maintainer="Juan RP " homepage="http://gcc.gnu.org" license="GFDL-1.2, GPL-3, LGPL-2.1" -checksum=60b05463dfe18d40d68fb8a71b25b408a01f86cc6ceaf5e6b22238b6b0f450c2 +checksum=e8f5853d4eec2f5ebaf8a72ae4d53c436aacf98153b2499f8635b48c4718a093 long_desc=" The GNU C Compiler, with support for building C code. @@ -18,18 +15,14 @@ long_desc=" for ObjectiveC++ install gcc-objc++, for Go install gcc-go, for Fortran install gcc-fortran." -subpackages="libgcc libgo libssp libssp-devel libstdc++ libstdc++-devel libgomp" -subpackages="${subpackages} libquadmath libquadmath-devel libgo-devel libgomp-devel" -subpackages="${subpackages} libmudflap libmudflap-devel libobjc libobjc-devel" -subpackages="${subpackages} libgfortran libgfortran-devel gcc-fortran" -subpackages="${subpackages} gcc-c++ gcc-objc gcc-objc++ gcc-go" - -Add_dependency run libgcc ">=${version}" Add_dependency run libgomp ">=${version}" Add_dependency run binutils Add_dependency run libelf Add_dependency run libssp-devel ">=${version}" +Add_dependency build perl +Add_dependency build flex +Add_dependency build zlib-devel Add_dependency build gmp-devel Add_dependency build mpfr-devel Add_dependency build mpc-devel @@ -37,11 +30,27 @@ Add_dependency build cloog-ppl-devel Add_dependency build libelf-devel if [ "${XBPS_MACHINE}" = "x86_64" ]; then + # Required stuff for multilib packages. + Add_dependency build glibc32-devel + Add_dependency build zlib32-devel + + subpackages="gcc-multilib gcc-c++-multilib" + subpackages="${subpackages} gcc-objc-multilib libgcc32 libgomp32" + subpackages="${subpackages} libmudflap32-devel libmudflap32" + subpackages="${subpackages} libobjc32 libssp32 libstdc++32-devel" + subpackages="${subpackages} libstdc++32" + _triplet="${XBPS_MACHINE}-unknown-linux-gnu" else _triplet="${XBPS_MACHINE}-pc-linux-gnu" fi +subpackages="${subpackages} libgcc libgo libssp libssp-devel libstdc++ libstdc++-devel libgomp" +subpackages="${subpackages} libquadmath libquadmath-devel libgo-devel libgomp-devel" +subpackages="${subpackages} libmudflap libmudflap-devel libobjc libobjc-devel" +subpackages="${subpackages} libgfortran libgfortran-devel gcc-fortran" +subpackages="${subpackages} gcc-c++ gcc-objc gcc-objc++ gcc-go" + do_configure() { # As specified in the LFS book, disable installing libiberty. sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in @@ -50,14 +59,15 @@ do_configure() { CONFIG_SHELL=/bin/bash ./configure --libexecdir=/usr/lib \ --enable-clocale=gnu --disable-bootstrap --libdir=/usr/lib \ - --enable-threads=posix --enable-__cxa_atexit --disable-multilib \ + --enable-threads=posix --enable-__cxa_atexit --enable-multilib \ --enable-languages=c,c++,objc,obj-c++,fortran,go,lto --enable-tls \ --with-mpfr=$XBPS_MASTERDIR/usr --with-gmp=$XBPS_MASTERDIR/usr \ --disable-rpath --with-system-zlib --enable-shared \ --with-ppl=${XBPS_MASTERDIR}/usr --with-cloog=${XBPS_MASTERDIR}/usr \ --enable-lto --with-libelf=${XBPS_MASTERDIR}/usr \ --enable-linker-build-id --enable-gnu-unique-object \ - --enable-checking=release ${CONFIGURE_SHARED_ARGS} + --enable-checking=release --enable-__cxa_atexit \ + --disable-libstdcxx-pch ${CONFIGURE_SHARED_ARGS} } do_build() { @@ -67,8 +77,9 @@ do_build() { do_install() { if [ "$XBPS_MACHINE" = "x86_64" ]; then vmkdir usr/lib - cd ${DESTDIR}/usr && ln -sf lib lib64 && cd ${wrksrc} + cd ${DESTDIR}/usr && ln -sf lib lib64 fi + cd ${wrksrc} make DESTDIR=${DESTDIR} install # Make version a symlink of major version to make all versions @@ -95,6 +106,16 @@ do_install() { rm -f ${DESTDIR}/usr/lib/libffi* rm -f ${DESTDIR}/usr/share/man/man3/ffi* + # Remove unused stuff for multilib. + if [ "${XBPS_MACHINE}" = "x86_64" ]; then + rm -f ${DESTDIR}/usr/lib32/libffi* + rm -f ${DESTDIR}/usr/lib32/libgfortran* + rm -f ${DESTDIR}/usr/lib32/libgo.{a,so*} + rm -f ${DESTDIR}/usr/lib32/libgobegin.a + rm -f ${DESTDIR}/usr/lib32/libquadmath* + rm -rf ${DESTDIR}/usr/lib32/go + fi + # Remove all python scripts in libdir. rm -f ${DESTDIR}/usr/lib/*.py diff --git a/srcpkgs/libgcc32 b/srcpkgs/libgcc32 index 9f2eca37b15..b08d5af5795 120000 --- a/srcpkgs/libgcc32 +++ b/srcpkgs/libgcc32 @@ -1 +1 @@ -gcc-multilib \ No newline at end of file +gcc \ No newline at end of file diff --git a/srcpkgs/libgomp32 b/srcpkgs/libgomp32 index 9f2eca37b15..b08d5af5795 120000 --- a/srcpkgs/libgomp32 +++ b/srcpkgs/libgomp32 @@ -1 +1 @@ -gcc-multilib \ No newline at end of file +gcc \ No newline at end of file diff --git a/srcpkgs/libmudflap32 b/srcpkgs/libmudflap32 index 9f2eca37b15..b08d5af5795 120000 --- a/srcpkgs/libmudflap32 +++ b/srcpkgs/libmudflap32 @@ -1 +1 @@ -gcc-multilib \ No newline at end of file +gcc \ No newline at end of file diff --git a/srcpkgs/libmudflap32-devel b/srcpkgs/libmudflap32-devel index 9f2eca37b15..b08d5af5795 120000 --- a/srcpkgs/libmudflap32-devel +++ b/srcpkgs/libmudflap32-devel @@ -1 +1 @@ -gcc-multilib \ No newline at end of file +gcc \ No newline at end of file diff --git a/srcpkgs/libobjc32 b/srcpkgs/libobjc32 index 9f2eca37b15..b08d5af5795 120000 --- a/srcpkgs/libobjc32 +++ b/srcpkgs/libobjc32 @@ -1 +1 @@ -gcc-multilib \ No newline at end of file +gcc \ No newline at end of file diff --git a/srcpkgs/libssp32 b/srcpkgs/libssp32 index 9f2eca37b15..b08d5af5795 120000 --- a/srcpkgs/libssp32 +++ b/srcpkgs/libssp32 @@ -1 +1 @@ -gcc-multilib \ No newline at end of file +gcc \ No newline at end of file diff --git a/srcpkgs/libstdc++32 b/srcpkgs/libstdc++32 index 9f2eca37b15..b08d5af5795 120000 --- a/srcpkgs/libstdc++32 +++ b/srcpkgs/libstdc++32 @@ -1 +1 @@ -gcc-multilib \ No newline at end of file +gcc \ No newline at end of file diff --git a/srcpkgs/libstdc++32-devel b/srcpkgs/libstdc++32-devel index 9f2eca37b15..b08d5af5795 120000 --- a/srcpkgs/libstdc++32-devel +++ b/srcpkgs/libstdc++32-devel @@ -1 +1 @@ -gcc-multilib \ No newline at end of file +gcc \ No newline at end of file