2008-11-21 11:36:43 +01:00
|
|
|
# Template build file for 'gcc-multilib'
|
|
|
|
pkgname=gcc-multilib
|
2011-04-11 20:03:02 +02:00
|
|
|
version=4.6.0
|
2010-05-15 19:42:26 +02:00
|
|
|
_gmp_ver=5.0.1
|
2011-04-11 20:03:02 +02:00
|
|
|
_mpfr_ver=3.0.1
|
2010-10-30 17:59:30 +02:00
|
|
|
_mpc_ver=0.8.2
|
2010-05-15 19:42:26 +02:00
|
|
|
wrksrc="gcc-${version}"
|
|
|
|
distfiles="
|
|
|
|
http://ftp.gnu.org/pub/gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2
|
2010-10-30 17:59:30 +02:00
|
|
|
http://ftp.gnu.org/pub/gnu/gmp/gmp-${_gmp_ver}.tar.bz2
|
2010-05-15 19:42:26 +02:00
|
|
|
http://www.mpfr.org/mpfr-current/mpfr-${_mpfr_ver}.tar.bz2
|
2010-10-30 17:59:30 +02:00
|
|
|
http://www.multiprecision.org/mpc/download/mpc-${_mpc_ver}.tar.gz"
|
2011-04-11 20:03:02 +02:00
|
|
|
build_style=custom-install
|
2008-11-21 11:36:43 +01:00
|
|
|
short_desc="The GNU C Compiler suite (multilib libraries)"
|
|
|
|
maintainer="Juan RP <xtraeme@gmail.com>"
|
2010-05-15 19:42:26 +02:00
|
|
|
checksum="
|
2011-04-11 20:03:02 +02:00
|
|
|
23bd0013d76ac6fb4537e5e8f4e5947129362dcc32f0d08563b7d4d9e44c0e17
|
2010-05-15 19:42:26 +02:00
|
|
|
a2a610f01fd3298dc08c87bf30498c2402590e1bcb227fc40b15ee6d280939fb
|
2011-04-11 20:03:02 +02:00
|
|
|
e1977099bb494319c0f0c1f85759050c418a56884e9c6cef1c540b9b13e38e7f
|
2010-10-30 17:59:30 +02:00
|
|
|
ae79f8d41d8a86456b68607e9ca398d00f8b7342d1d83bcf4428178ac45380c7"
|
2008-11-21 11:36:43 +01:00
|
|
|
long_desc="
|
2010-05-15 19:42:26 +02:00
|
|
|
The GNU C Compiler suite, with support for C, C++, ObjC and ObjC++.
|
2008-11-21 11:36:43 +01:00
|
|
|
|
|
|
|
This package installs the 32 bit libraries required to compile 32 bit
|
|
|
|
code on x86_64 systems."
|
|
|
|
|
2010-05-15 19:42:26 +02:00
|
|
|
subpackages="libgcc32 libssp32 libgomp32 libobjc32 libstdc++32 libmudflap32"
|
2010-05-21 00:29:47 +02:00
|
|
|
subpackages="${subpackages} libstdc++32-devel libmudflap32-devel"
|
|
|
|
subpackages="${subpackages} gcc-c++-multilib gcc-objc-multilib"
|
|
|
|
subpackages="${subpackages} gcc-objc++-multilib"
|
2009-03-11 06:31:56 +01:00
|
|
|
|
2010-05-15 19:42:26 +02:00
|
|
|
disable_parallel_build=yes
|
|
|
|
noverifyrdeps=yes
|
|
|
|
only_for_archs=x86_64
|
|
|
|
|
2010-10-30 17:59:30 +02:00
|
|
|
Add_dependency run gcc ">=${version}"
|
2010-05-15 19:42:26 +02:00
|
|
|
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
|
|
|
|
|
2011-04-11 20:03:02 +02:00
|
|
|
do_build()
|
2010-05-15 19:42:26 +02:00
|
|
|
{
|
2010-10-30 17:59:30 +02:00
|
|
|
# As specified in the LFS book, disable installing libiberty.
|
2011-04-11 20:03:02 +02:00
|
|
|
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
|
2010-10-30 17:59:30 +02:00
|
|
|
# "Add" ppl-0.11 compatibility
|
2011-04-11 20:03:02 +02:00
|
|
|
sed -i "/ppl_minor_version=/s#10#11#" configure
|
2010-10-30 17:59:30 +02:00
|
|
|
# Do not run fixincludes
|
2011-04-11 20:03:02 +02:00
|
|
|
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
|
2010-10-30 17:59:30 +02:00
|
|
|
|
|
|
|
mkdir -p ${build_wrksrc}/gmp
|
2011-04-11 20:03:02 +02:00
|
|
|
{ mv ${XBPS_BUILDDIR}/gmp-${_gmp_ver} gmp; \
|
|
|
|
mv ${XBPS_BUILDDIR}/mpfr-${_mpfr_ver} mpfr; \
|
|
|
|
mv ${XBPS_BUILDDIR}/mpc-${_mpc_ver} mpc; } || return 1
|
2010-10-30 17:59:30 +02:00
|
|
|
|
2011-04-11 20:03:02 +02:00
|
|
|
cp -a gmp/*.h ${build_wrksrc}/gmp
|
2010-10-30 17:59:30 +02:00
|
|
|
|
2011-04-11 20:03:02 +02:00
|
|
|
LDFLAGS= ./configure --prefix=/usr \
|
|
|
|
--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
|
2010-05-15 19:42:26 +02:00
|
|
|
|
2011-04-11 20:03:02 +02:00
|
|
|
make ${makejobs}
|
2010-05-15 19:42:26 +02:00
|
|
|
}
|
2008-11-21 11:36:43 +01:00
|
|
|
|
2011-04-11 20:03:02 +02:00
|
|
|
do_install()
|
2008-11-21 11:36:43 +01:00
|
|
|
{
|
2010-05-15 19:42:26 +02:00
|
|
|
local libmddir="/usr/lib/gcc/x86_64-unknown-linux-gnu/${version}"
|
2010-05-21 00:29:47 +02:00
|
|
|
local dirn _dir_
|
2010-05-15 19:42:26 +02:00
|
|
|
|
2011-04-11 20:03:02 +02:00
|
|
|
mkdir -p ${DESTDIR}/usr/lib
|
|
|
|
cd ${DESTDIR}/usr && ln -sf lib lib64 && cd ${wrksrc}/${build_wrksrc}
|
|
|
|
|
|
|
|
make DESTDIR=${DESTDIR} install
|
|
|
|
|
2010-05-15 19:42:26 +02:00
|
|
|
# We are only interested in 32bit stuff, remove anything else.
|
2010-05-21 00:29:47 +02:00
|
|
|
rm -rf ${DESTDIR}/usr/{lib64,libexec,bin,share}
|
2010-05-15 19:42:26 +02:00
|
|
|
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}
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
2010-05-21 00:29:47 +02:00
|
|
|
# Keep libstdc++ 32bit headers, remove anything else.
|
|
|
|
mv ${DESTDIR}/usr/include/c++/${version}/x86_64-unknown-linux-gnu/32 \
|
|
|
|
${wrksrc}/xbps_32bits_libstdc++
|
|
|
|
rm -rf ${DESTDIR}/usr/include/c++/${version}/*
|
|
|
|
install -d ${DESTDIR}/usr/include/c++/${version}/x86_64-unknown-linux-gnu
|
|
|
|
mv ${wrksrc}/xbps_32bits_libstdc++ \
|
|
|
|
${DESTDIR}/usr/include/c++/${version}/x86_64-unknown-linux-gnu/32
|
2010-05-15 19:42:26 +02:00
|
|
|
# Install specs file overriding native gcc with no multilib support.
|
2011-04-11 20:03:02 +02:00
|
|
|
install -m644 ${wrksrc}/host-${xbps_machine}-unknown-linux-gnu/gcc/specs \
|
2010-05-15 19:42:26 +02:00
|
|
|
${DESTDIR}/${libmddir}
|
2008-11-21 11:36:43 +01:00
|
|
|
}
|