Merge remote-tracking branch 'x/master'

* x/master:
  gcc: update to 4.6.3. Build multilib pkgs on x86_64.
  Remove gcc-multilib. Functionality will be merged to the gcc pkg.
This commit is contained in:
davehome 2012-03-01 20:28:31 -07:00
commit adb064f1f2
39 changed files with 108 additions and 177 deletions

View file

@ -1 +1 @@
gcc-multilib
gcc

1
srcpkgs/gcc-multilib Symbolic link
View file

@ -0,0 +1 @@
gcc

View file

@ -1,2 +0,0 @@
abi_depends=">=4.5.0"
api_depends="${abi_depends}"

View file

@ -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 <xtraeme@gmail.com>"
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}
}

View file

@ -1 +1 @@
gcc-multilib
gcc

View file

@ -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
}

View file

@ -1,6 +1,5 @@
# Template file for 'gcc-c++'.
#
revision=3
short_desc="GCC C++ support"
long_desc="${long_desc}

View file

@ -1,6 +1,5 @@
# Template file for 'gcc-fortran'.
#
revision=3
short_desc="GCC Fortran compiler frontend"
long_desc="${long_desc}

View file

@ -1,6 +1,5 @@
# Template file for 'gcc-go'.
#
revision=3
short_desc="GCC Go compiler frontend"
long_desc="${long_desc}

View file

@ -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}
}

View file

@ -1,6 +1,5 @@
# Template file for 'gcc-objc++'.
#
revision=3
short_desc="GCC Objective-C++ support"
long_desc="${long_desc}

View file

@ -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
}

View file

@ -1,6 +1,5 @@
# Template file for 'gcc-objc'.
#
revision=3
short_desc="GCC Objective-C support"
long_desc="${long_desc}

View file

@ -6,3 +6,4 @@ libmpfr.so.4
libgmp.so.10
libdl.so.2
libz.so.1
ld-linux.so.2

View file

@ -7,7 +7,6 @@ long_desc="${long_desc}
noverifyrdeps=yes
do_install()
{
do_install() {
vmove "usr/lib32/libgcc_s.so*" usr/lib32
}

View file

@ -1,6 +1,5 @@
# Template file for 'libgfortran'.
#
revision=1
short_desc="GCC Fortran library ${version} shared library support"
long_desc="${long_desc}

View file

@ -1,6 +1,5 @@
# Template file for 'libgo'.
#
revision=2
short_desc="Go library ${version} shared library support"
long_desc="${long_desc}

View file

@ -1,6 +1,5 @@
# Template file for 'gcc-libgomp'.
#
revision=1
short_desc="GCC OpenMP v3.0 shared support library"
long_desc="${long_desc}

View file

@ -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
}

View file

@ -1,6 +1,5 @@
# Template file for 'gcc-libmudflap'.
#
revision=2
short_desc="GCC mudflap shared support library"
long_desc="${long_desc}

View file

@ -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
}

View file

@ -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
}

View file

@ -1,6 +1,5 @@
# Template file for 'libobjc'.
#
revision=1
short_desc="GCC Objective-C shared library support"
long_desc="${long_desc}

View file

@ -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
}

View file

@ -1,6 +1,5 @@
# Template file for 'libquadmath'
#
revision=1
short_desc="GCC quad match ${version} shared library support"
long_desc="${long_desc}

View file

@ -1,6 +1,5 @@
# Template file for 'libssp'.
#
revision=1
short_desc="GCC SSP shared library support"
long_desc="${long_desc}

View file

@ -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
}

View file

@ -1,6 +1,5 @@
# Template file for 'gcc-libstdc++'.
#
revision=2
short_desc="GCC Standard C++ Library"
long_desc="${long_desc}

View file

@ -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}
}

View file

@ -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
}

View file

@ -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 <xtraeme@gmail.com>"
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

View file

@ -1 +1 @@
gcc-multilib
gcc

View file

@ -1 +1 @@
gcc-multilib
gcc

View file

@ -1 +1 @@
gcc-multilib
gcc

View file

@ -1 +1 @@
gcc-multilib
gcc

View file

@ -1 +1 @@
gcc-multilib
gcc

View file

@ -1 +1 @@
gcc-multilib
gcc

View file

@ -1 +1 @@
gcc-multilib
gcc

View file

@ -1 +1 @@
gcc-multilib
gcc