Added support for ${ABI} and if it's not set, we do sll ${MULTILIB_ABIS}. This is...
authorJeremy Huddleston <eradicator@gentoo.org>
Thu, 23 Dec 2004 20:16:59 +0000 (20:16 +0000)
committerJeremy Huddleston <eradicator@gentoo.org>
Thu, 23 Dec 2004 20:16:59 +0000 (20:16 +0000)
sys-libs/glibc/ChangeLog
sys-libs/glibc/Manifest
sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild
sys-libs/glibc/glibc-2.3.4.20041102.ebuild

index 92eb42cfddef41eec97169d20bab19ad5f1a067f..6e1497b57b58487deb78b1260f5fe5bc6bde8b72 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for sys-libs/glibc
 # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.297 2004/12/13 10:10:46 eradicator Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.298 2004/12/23 20:16:59 eradicator Exp $
+
+  23 Dec 2004; Jeremy Huddleston <eradicator@gentoo.org>
+  glibc-2.3.4.20040808-r1.ebuild, glibc-2.3.4.20041102.ebuild:
+  Added support for ${ABI} and if it's not set, we do sll ${MULTILIB_ABIS}.
+  This is restricted to the sparc64-multilib PROFILE_ARCH.
 
   13 Dec 2004; Jeremy Huddleston <eradicator@gentoo.org>
   glibc-2.3.4.20040808-r1.ebuild, glibc-2.3.4.20041102.ebuild:
index 5609f4111e62d9606e9a10e7be55047c850d8854..b44fd51fcfb7572aa77054f0cdb7498ecf2371e9 100644 (file)
@@ -1,12 +1,12 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-MD5 b8c6b5bec8c9ee7075cf6b724720e48e ChangeLog 62989
+MD5 e12a52e31f3cef84d7a419a5bf87fd16 ChangeLog 63245
 MD5 7cf88dee2671dcc30659d07241b8d918 glibc-2.2.5-r9.ebuild 10915
 MD5 7ac20d9072665431e9f5cdc3c14f9737 glibc-2.3.2-r12.ebuild 20817
 MD5 d59fdfb3aca88476d792b71922c765a5 glibc-2.3.3.20040420-r2.ebuild 21630
-MD5 bb6bdbd539ae6b5029380523a5b3bf54 glibc-2.3.4.20040808-r1.ebuild 24236
-MD5 72df7175ceee1ca74b1bf40d3649f29d glibc-2.3.4.20041102.ebuild 28857
+MD5 b4bbaaf21fccef026c3e8657457e56c9 glibc-2.3.4.20040808-r1.ebuild 25121
+MD5 175f38924e59d4b431e7abf02caada55 glibc-2.3.4.20041102.ebuild 29822
 MD5 567094e03359ffc1c95af7356395228d metadata.xml 162
 MD5 48dcbf88afd15efb62b4313337261968 glibc-2.3.4.20040619-r2.ebuild 21077
 MD5 9cc1e6b6f749dba7c8759bd07266f7d9 files/digest-glibc-2.2.5-r9 143
@@ -137,7 +137,7 @@ MD5 b72e5aca6d834026a6f5fb87623e6fd3 files/2.3.4/host.conf 1302
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.2.6 (GNU/Linux)
 
-iD8DBQFBvWrkArHZZzCEUG0RAsp5AKCHIqgo32kW7UxPJORUOctTE+aZoACfc3xo
-FoBKDEln0p3vlLAb5Jc1Ctw=
-=hki6
+iD8DBQFByyfKArHZZzCEUG0RAkbDAJ0XPOaAO7CCZs1/tY+f4JSUM5XoRACfUm+8
+DbFnVtjyMx86kPyCiJDcK90=
+=d3EE
 -----END PGP SIGNATURE-----
index ee3c2fd37f92986d90518b335d70c38e0f99cc22..124994a34dd64313987d114a9e1e87059113c40f 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2004 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild,v 1.22 2004/12/13 10:10:46 eradicator Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild,v 1.23 2004/12/23 20:16:59 eradicator Exp $
 
 inherit eutils flag-o-matic gcc versionator
 
@@ -130,30 +130,41 @@ setup_flags() {
                        # Setup the CHOST properly to insure "sparcv9"
                        # This passes -mcpu=ultrasparc -Wa,-Av9a to the compiler
                        if [ "${CHOST}" = "sparc-unknown-linux-gnu" ]; then
-                               export CHOST="sparcv9-unknown-linux-gnu"
-                               export CTARGET="sparcv9-unknown-linux-gnu"
+                               CTARGET="sparcv9-unknown-linux-gnu"
+                               CHOST="${CTARGET}"
                        fi
                fi
 
                if [ "${PROFILE_ARCH}" = "sparc64-multilib" ]; then
                        # glibc isn't too smart about guessing our flags.  It
-                       # also will default to -xarch=v9, but assembly in glibc
-                       # needs to be v9a or greater...
+                       # will default to -xarch=v9, but assembly in sparc64 glibc
+                       # requires v9a or greater...
                        if is-flag "-mcpu=ultrasparc3"; then
-                               append-flags "-Wa,-xarch=v9b"
-                               export ASFLAGS="${ASFLAGS} -Wa,-xarch=v9b"
-
                                # Change CHOST to include us3 assembly
-                               export CHOST="sparc64b-unknown-linux-gnu"
+                               if [ "${ABI}" = "sparc32" ]; then
+                                       CTARGET="sparcv9b-unknown-linux-gnu"
+                                       CHOST="${CTARGET}"
+                                       CFLAGS_ABI="$(get_abi_var CFLAGS)"
+                               else
+                                       CTARGET="sparc64b-unknown-linux-gnu"
+                                       CHOST="${CTARGET}"
+                                       CFLAGS_ABI="$(get_abi_var CFLAGS) -Wa,-xarch=v9b"
+                               fi
                        else
-                               append-flags "-Wa,-xarch=v9a"
-                               export ASFLAGS="${ASFLAGS} -Wa,-xarch=v9a"
+                               if [ "${ABI}" = "sparc32" ]; then
+                                       CTARGET="sparcv9-unknown-linux-gnu"
+                                       CHOST="${CTARGET}"
+                                       CFLAGS_ABI="$(get_abi_var CFLAGS)"
+                               else
+                                       CTARGET="sparc64-unknown-linux-gnu"
+                                       CHOST="${CTARGET}"
+                                       CFLAGS_ABI="$(get_abi_var CFLAGS) -Wa,-xarch=v9a"
+                               fi
                        fi
 
-                       # Get rid of flags known to fail
-                       replace-flags "-mvis" ""
+                       filter-flags -mvis -m32 -m64 -Wa,-xarch -Wa,-A
+                       export CC="${ORIG_CC} ${CFLAGS_ABI}"
                fi
-
        fi
 
        if [ "`gcc-major-version`" -ge "3" -a "`gcc-minor-version`" -ge "4" ]; then
@@ -580,6 +591,17 @@ src_unpack() {
 }
 
 src_compile() {
+       if [ "${PROFILE_ARCH}" = "sparc64-multilib" -a -z "${ABI}" ]; then
+               export ORIG_CC="$(tc-getCC)"
+               for ABI in ${MULTILIB_ABIS}; do
+                       export ABI
+                       einfo "Compiling ${ABI} glibc"
+                       src_compile && mv ${WORKDIR}/build ${WORKDIR}/build.${ABI}
+               done
+               unset ABI
+               return 0
+       fi
+
        setup_flags
 
        # These should not be set, else the
@@ -634,6 +656,16 @@ src_compile() {
 }
 
 src_install() {
+       if [ "${PROFILE_ARCH}" = "sparc64-multilib" -a -z "${ABI}" ]; then
+               for ABI in ${MULTILIB_ABIS}; do
+                       export ABI
+                       mv ${WORKDIR}/build.${ABI} ${WORKDIR}/build
+                       src_install && mv ${WORKDIR}/build ${WORKDIR}/build.${ABI}
+               done
+               unset ABI
+               return 0
+       fi
+
        setup_flags
 
        # These should not be set, else the
index be8139a6746560828f53c04cb1409a263796d4e4..61b7a6f472e0432884566810ca723a88e73ada12 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2004 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20041102.ebuild,v 1.15 2004/12/13 10:10:46 eradicator Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20041102.ebuild,v 1.16 2004/12/23 20:16:59 eradicator Exp $
 
 inherit eutils flag-o-matic gcc versionator
 
@@ -50,7 +50,9 @@ LICENSE="LGPL-2"
 [[ ${CTARGET} != ${CHOST} ]] \
        && SLOT="${CTARGET}-2.2" \
        || SLOT="2.2"
-KEYWORDS="~amd64 ppc64 -hppa ~ia64 ~ppc ~x86 ~mips"
+#-sparc: Compiled fine with 3.4.1-r1, but tar would consistantly bus error when untarring the
+#        samba-1.0.9 tarball.
+KEYWORDS="~amd64 ppc64 -hppa ~ia64 ~ppc ~x86 ~mips -sparc"
 IUSE="nls pic build nptl nptlonly erandom hardened multilib debug userlocales nomalloccheck"
 RESTRICT="nostrip" # we'll handle stripping ourself #46186
 
@@ -128,30 +130,39 @@ setup_flags() {
                        # Setup the CHOST properly to insure "sparcv9"
                        # This passes -mcpu=ultrasparc -Wa,-Av9a to the compiler
                        if [ "${CHOST}" = "sparc-unknown-linux-gnu" ]; then
-                               export CHOST="sparcv9-unknown-linux-gnu"
-                               export CTARGET="sparcv9-unknown-linux-gnu"
+                               CTARGET="sparcv9-unknown-linux-gnu"
+                               CHOST="${CTARGET}"
                        fi
                fi
 
-               if [ "${PROFILE_ARCH}" = "sparc64-multilib" ]; then
+               if [ "${PROFILE_ARCH}" = "sparc64-multilib" ]; then        
+                       CFLAGS_ABI="$(get_abi_var CFLAGS)"
+
                        # glibc isn't too smart about guessing our flags.  It
-                       # also will default to -xarch=v9, but assembly in glibc
-                       # needs to be v9a or greater...
+                       # will default to -xarch=v9, but assembly in sparc64 glibc
+                       # requires v9a or greater...                 
                        if is-flag "-mcpu=ultrasparc3"; then
-                               append-flags "-Wa,-xarch=v9b"
-                               export ASFLAGS="${ASFLAGS} -Wa,-xarch=v9b"
-
                                # Change CHOST to include us3 assembly
-                               export CHOST="sparc64b-unknown-linux-gnu"
+                               if [ "${ABI}" = "sparc32" ]; then         
+                                       CTARGET="sparcv9b-unknown-linux-gnu"
+                               else
+                                       CTARGET="sparc64b-unknown-linux-gnu"
+                                       CFLAGS_ABI="${CFLAGS_ABI} -Wa,-xarch=v9b"
+                               fi
                        else
-                               append-flags "-Wa,-xarch=v9a"
-                               export ASFLAGS="${ASFLAGS} -Wa,-xarch=v9a"
+                                if [ "${ABI}" = "sparc32" ]; then
+                                       CTARGET="sparcv9-unknown-linux-gnu"
+                               else
+                                       CTARGET="sparc64-unknown-linux-gnu"
+                                       CFLAGS_ABI="${CFLAGS_ABI} -Wa,-xarch=v9a"
+                               fi
                        fi
 
-                       # Get rid of flags known to fail
-                       replace-flags "-mvis" ""
+                       CHOST="${CTARGET}"                
+                       filter-flags -mvis -m32 -m64 -Wa,-xarch -Wa,-A
+                       export CC="${ORIG_CC} ${CFLAGS_ABI}"
                fi
-       fi
+       fi
 
        if [ "`gcc-major-version`" -ge "3" -a "`gcc-minor-version`" -ge "4" ]; then
                # broken in 3.4.x
@@ -578,6 +589,17 @@ src_unpack() {
        use arm         && do_arch_arm_patches
        use hppa        && do_arch_hppa_patches
        use ia64        && do_arch_ia64_patches
+       if [ "${PROFILE_ARCH}" = "sparc64-multilib" -a -z "${ABI}" ]; then
+               export ORIG_CC="$(tc-getCC)"
+               for ABI in ${MULTILIB_ABIS}; do
+                       export ABI
+                       einfo "Compiling ${ABI} glibc"
+                       src_compile && mv ${WORKDIR}/build ${WORKDIR}/build.${ABI}
+               done
+               unset ABI
+               return 0
+       fi
+
        use mips        && do_arch_mips_patches
        use ppc         && do_arch_ppc_patches
        use ppc64       && do_arch_ppc64_patches
@@ -678,6 +700,16 @@ src_compile() {
 }
 
 src_install() {
+       if [ "${PROFILE_ARCH}" = "sparc64-multilib" -a -z "${ABI}" ]; then
+               for ABI in ${MULTILIB_ABIS}; do
+                       export ABI
+                       mv ${WORKDIR}/build.${ABI} ${WORKDIR}/build
+                       src_install && mv ${WORKDIR}/build ${WORKDIR}/build.${ABI}
+               done
+               unset ABI
+               return 0
+       fi
+
        setup_flags
 
        # These should not be set, else the