diff options
author | Jeremy Huddleston <eradicator@gentoo.org> | 2004-12-23 20:16:59 +0000 |
---|---|---|
committer | Jeremy Huddleston <eradicator@gentoo.org> | 2004-12-23 20:16:59 +0000 |
commit | 012b101dabe421a4846087bd3f5296262ad29ffa (patch) | |
tree | 87861415ec73b77255009c561c2644f9c682efaf /sys-libs | |
parent | Stable on hppa. (diff) | |
download | historical-012b101dabe421a4846087bd3f5296262ad29ffa.tar.gz historical-012b101dabe421a4846087bd3f5296262ad29ffa.tar.bz2 historical-012b101dabe421a4846087bd3f5296262ad29ffa.zip |
Added support for ${ABI} and if it's not set, we do sll ${MULTILIB_ABIS}. This is restricted to the sparc64-multilib PROFILE_ARCH.
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/glibc/ChangeLog | 7 | ||||
-rw-r--r-- | sys-libs/glibc/Manifest | 12 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild | 60 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.3.4.20041102.ebuild | 64 |
4 files changed, 106 insertions, 37 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog index 92eb42cfddef..6e1497b57b58 100644 --- a/sys-libs/glibc/ChangeLog +++ b/sys-libs/glibc/ChangeLog @@ -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: diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index 5609f4111e62..b44fd51fcfb7 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -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----- diff --git a/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild b/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild index ee3c2fd37f92..124994a34dd6 100644 --- a/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild +++ b/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild @@ -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 diff --git a/sys-libs/glibc/glibc-2.3.4.20041102.ebuild b/sys-libs/glibc/glibc-2.3.4.20041102.ebuild index be8139a67465..61b7a6f472e0 100644 --- a/sys-libs/glibc/glibc-2.3.4.20041102.ebuild +++ b/sys-libs/glibc/glibc-2.3.4.20041102.ebuild @@ -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 |