diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-09-16 02:03:57 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-09-16 02:03:57 +0000 |
commit | 06ac0c96d161efe3f4997298355b5ea106c758e6 (patch) | |
tree | e1fbd636d90989a03da526d19ba861b908ab0ed0 | |
parent | cp -a -> cp -pPR (diff) | |
download | gentoo-2-06ac0c96d161efe3f4997298355b5ea106c758e6.tar.gz gentoo-2-06ac0c96d161efe3f4997298355b5ea106c758e6.tar.bz2 gentoo-2-06ac0c96d161efe3f4997298355b5ea106c758e6.zip |
start to fixup multilib cross-compile support with the help of kanaka
(Portage version: 2.0.52-r1 http://ronaldmcnightrider.ytmnd.com/ )
-rw-r--r-- | sys-libs/glibc/glibc-2.3.4.20041102-r2.ebuild | 80 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.3.4.20050125-r1.ebuild | 85 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.3.5-r1.ebuild | 84 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.3.5.20050421.ebuild | 80 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.3.5.20050722.ebuild | 80 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.3.5.ebuild | 80 |
6 files changed, 197 insertions, 292 deletions
diff --git a/sys-libs/glibc/glibc-2.3.4.20041102-r2.ebuild b/sys-libs/glibc/glibc-2.3.4.20041102-r2.ebuild index de9e0c28055f..bf8ff383b759 100644 --- a/sys-libs/glibc/glibc-2.3.4.20041102-r2.ebuild +++ b/sys-libs/glibc/glibc-2.3.4.20041102-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 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-r2.ebuild,v 1.2 2005/07/26 22:20:42 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20041102-r2.ebuild,v 1.3 2005/09/16 02:03:57 vapier Exp $ # Here's how the cross-compile logic breaks down ... # CTARGET - machine that will target the binaries @@ -245,8 +245,15 @@ toolchain-glibc_src_unpack() { toolchain-glibc_src_compile() { # Set gconvdir to /usr/$(get_libdir)/gconv on archs with multiple ABIs + local MAKEFLAGS="" has_multilib_profile && MAKEFLAGS="gconvdir=$(alt_usrlibdir)/gconv" + echo + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CFLAGS ; do + einfo " $(printf '%15s' ${v}:) ${!v}" + done + echo + # -fomit-frame-pointer gets stripped in setup_flags, so we do this # now to cache the value want_omitfp @@ -616,7 +623,7 @@ alt_prefix() { alt_libdir() { if is_crosscompile ; then - echo /usr/${CTARGET}/lib + echo /usr/${CTARGET}/$(get_libdir) else echo /$(get_libdir) fi @@ -624,7 +631,7 @@ alt_libdir() { alt_usrlibdir() { if is_crosscompile ; then - echo /usr/${CTARGET}/lib + echo /usr/${CTARGET}/$(get_libdir) else echo /usr/$(get_libdir) fi @@ -994,33 +1001,10 @@ fix_lib64_symlinks() { } use_multilib() { - case $(tc-arch) in - sparc) - case ${CHOST} in - sparc64*) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; - esac - ;; - mips) - case ${CHOST} in - mips64*) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; - esac - ;; - amd64|ppc64) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; + case ${CTARGET} in + sparc64*|mips64*|amd64|ppc64) + is_crosscompile || has_multilib_profile || use multilib ;; + *) false ;; esac } @@ -1033,13 +1017,13 @@ crosscompile_setup() { case ${CTARGET} in x86_64*) - export CFLAGS_x86="${CFLAGS_x86--m32}" - export CHOST_x86="i686-pc-linux-gnu" + export CFLAGS_x86=${CFLAGS_x86--m32} + export CHOST_x86=${CTARGET/x86_64/i686} export CDEFINE_x86="__i386__" export LIBDIR_x86="lib" - export CFLAGS_amd64="${CFLAGS_amd64--m64}" - export CHOST_amd64="x86_64-pc-linux-gnu" + export CFLAGS_amd64=${CFLAGS_amd64--m64} + export CHOST_amd64=${CTARGET} export CDEFINE_amd64="__x86_64__" export LIBDIR_amd64="lib64" @@ -1047,18 +1031,18 @@ crosscompile_setup() { export DEFAULT_ABI="amd64" ;; mips64*) - export CFLAGS_o32="${CFLAGS_o32--mabi=32}" - export CHOST_o32="mips-unknown-linux-gnu" + export CFLAGS_o32=${CFLAGS_o32--mabi=32} + export CHOST_o32=${CTARGET/mips64/mips} export CDEFINE_o32="_ABIO32" export LIBDIR_o32="lib" - export CFLAGS_n32="${CFLAGS_n32--mabi=n32}" - export CHOST_n32="mips64-unknown-linux-gnu" + export CFLAGS_n32=${CFLAGS_n32--mabi=n32} + export CHOST_n32=${CTARGET} export CDEFINE_n32="_ABIN32" export LIBDIR_n32="lib32" - export CFLAGS_n64="${CFLAGS_n64--mabi=64}" - export CHOST_n64="mips64-unknown-linux-gnu" + export CFLAGS_n64=${CFLAGS_n64--mabi=64} + export CHOST_n64=${CTARGET} export CDEFINE_n64="_ABI64" export LIBDIR_n64="lib64" @@ -1066,13 +1050,13 @@ crosscompile_setup() { export DEFAULT_ABI="n32" ;; powerpc64*) - export CFLAGS_ppc="${CFLAGS_ppc--m32}" - export CHOST_ppc="powerpc-unknown-linux-gnu" + export CFLAGS_ppc=${CFLAGS_ppc--m32} + export CHOST_ppc=${CTARGET/powerpc64/powerpc} export CDEFINE_ppc="!__powerpc64__" export LIBDIR_ppc="lib" - export CFLAGS_ppc64="${CFLAGS_ppc64--m64}" - export CHOST_ppc64="powerpc64-unknown-linux-gnu" + export CFLAGS_ppc64=${CFLAGS_ppc64--m64} + export CHOST_ppc64=${CTARGET} export CDEFINE_ppc64="__powerpc64__" export LIBDIR_ppc64="lib64" @@ -1080,13 +1064,13 @@ crosscompile_setup() { export DEFAULT_ABI="ppc64" ;; sparc64*) - export CFLAGS_sparc32="${CFLAGS_sparc--m32}" - export CHOST_sparc32="sparc-unknown-linux-gnu" + export CFLAGS_sparc32=${CFLAGS_sparc--m32} + export CHOST_sparc32=${CTARGET/sparc64/sparc} export CDEFINE_sparc32="!__arch64__" export LIBDIR_sparc32="lib" - export CFLAGS_sparc64="${CFLAGS_sparc64--m64}" - export CHOST_sparc64="sparc64-unknown-linux-gnu" + export CFLAGS_sparc64=${CFLAGS_sparc64--m64} + export CHOST_sparc64=${CTARGET} export CDEFINE_sparc64="__arch64__" export LIBDIR_sparc64="lib64" diff --git a/sys-libs/glibc/glibc-2.3.4.20050125-r1.ebuild b/sys-libs/glibc/glibc-2.3.4.20050125-r1.ebuild index c97d58411c49..ae21d83a3dc2 100644 --- a/sys-libs/glibc/glibc-2.3.4.20050125-r1.ebuild +++ b/sys-libs/glibc/glibc-2.3.4.20050125-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 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.20050125-r1.ebuild,v 1.58 2005/08/13 03:54:31 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20050125-r1.ebuild,v 1.59 2005/09/16 02:03:57 vapier Exp $ # Here's how the cross-compile logic breaks down ... # CTARGET - machine that will target the binaries @@ -229,8 +229,15 @@ toolchain-glibc_src_unpack() { toolchain-glibc_src_compile() { # Set gconvdir to /usr/$(get_libdir)/gconv on archs with multiple ABIs + local MAKEFLAGS="" has_multilib_profile && MAKEFLAGS="gconvdir=$(alt_usrlibdir)/gconv" + echo + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CFLAGS ; do + einfo " $(printf '%15s' ${v}:) ${!v}" + done + echo + if want_linuxthreads ; then glibc_do_configure linuxthreads einfo "Building GLIBC with linuxthreads..." @@ -605,7 +612,7 @@ alt_prefix() { alt_libdir() { if is_crosscompile ; then - echo /usr/${CTARGET}/lib + echo /usr/${CTARGET}/$(get_libdir) else echo /$(get_libdir) fi @@ -613,7 +620,7 @@ alt_libdir() { alt_usrlibdir() { if is_crosscompile ; then - echo /usr/${CTARGET}/lib + echo /usr/${CTARGET}/$(get_libdir) else echo /usr/$(get_libdir) fi @@ -914,7 +921,8 @@ fix_lib64_symlinks() { rm ${ROOT}/lib64 # now that lib64 is gone, nothing will run without calling ld.so # directly. luckily the window of brokenness is almost non-existant - /lib/ld-linux-x86-64.so.2 /bin/mv ${ROOT}/lib ${ROOT}/lib64 + use amd64 && /lib/ld-linux-x86-64.so.2 /bin/mv ${ROOT}/lib ${ROOT}/lib64 + use ppc64 && /lib/ld64.so.1 /bin/mv ${ROOT}/lib ${ROOT}/lib64 # all better :) ldconfig ln -s lib64 ${ROOT}/lib @@ -938,33 +946,10 @@ fix_lib64_symlinks() { } use_multilib() { - case $(tc-arch) in - sparc) - case ${CHOST} in - sparc64*) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; - esac - ;; - mips) - case ${CHOST} in - mips64*) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; - esac - ;; - amd64|ppc64) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; + case ${CTARGET} in + sparc64*|mips64*|amd64|ppc64) + is_crosscompile || has_multilib_profile || use multilib ;; + *) false ;; esac } @@ -977,13 +962,13 @@ crosscompile_setup() { case ${CTARGET} in x86_64*) - export CFLAGS_x86="${CFLAGS_x86--m32}" - export CHOST_x86="i686-pc-linux-gnu" + export CFLAGS_x86=${CFLAGS_x86--m32} + export CHOST_x86=${CTARGET/x86_64/i686} export CDEFINE_x86="__i386__" export LIBDIR_x86="lib" - export CFLAGS_amd64="${CFLAGS_amd64--m64}" - export CHOST_amd64="x86_64-pc-linux-gnu" + export CFLAGS_amd64=${CFLAGS_amd64--m64} + export CHOST_amd64=${CTARGET} export CDEFINE_amd64="__x86_64__" export LIBDIR_amd64="lib64" @@ -991,18 +976,18 @@ crosscompile_setup() { export DEFAULT_ABI="amd64" ;; mips64*) - export CFLAGS_o32="${CFLAGS_o32--mabi=32}" - export CHOST_o32="mips-unknown-linux-gnu" + export CFLAGS_o32=${CFLAGS_o32--mabi=32} + export CHOST_o32=${CTARGET/mips64/mips} export CDEFINE_o32="_ABIO32" export LIBDIR_o32="lib" - export CFLAGS_n32="${CFLAGS_n32--mabi=n32}" - export CHOST_n32="mips64-unknown-linux-gnu" + export CFLAGS_n32=${CFLAGS_n32--mabi=n32} + export CHOST_n32=${CTARGET} export CDEFINE_n32="_ABIN32" export LIBDIR_n32="lib32" - export CFLAGS_n64="${CFLAGS_n64--mabi=64}" - export CHOST_n64="mips64-unknown-linux-gnu" + export CFLAGS_n64=${CFLAGS_n64--mabi=64} + export CHOST_n64=${CTARGET} export CDEFINE_n64="_ABI64" export LIBDIR_n64="lib64" @@ -1010,13 +995,13 @@ crosscompile_setup() { export DEFAULT_ABI="n32" ;; powerpc64*) - export CFLAGS_ppc="${CFLAGS_ppc--m32}" - export CHOST_ppc="powerpc-unknown-linux-gnu" - export CDEFINE_ppc="__powerpc__" + export CFLAGS_ppc=${CFLAGS_ppc--m32} + export CHOST_ppc=${CTARGET/powerpc64/powerpc} + export CDEFINE_ppc="!__powerpc64__" export LIBDIR_ppc="lib" - export CFLAGS_ppc64="${CFLAGS_ppc64--m64}" - export CHOST_ppc64="powerpc64-unknown-linux-gnu" + export CFLAGS_ppc64=${CFLAGS_ppc64--m64} + export CHOST_ppc64=${CTARGET} export CDEFINE_ppc64="__powerpc64__" export LIBDIR_ppc64="lib64" @@ -1024,13 +1009,13 @@ crosscompile_setup() { export DEFAULT_ABI="ppc64" ;; sparc64*) - export CFLAGS_sparc32="${CFLAGS_sparc--m32}" - export CHOST_sparc32="sparc-unknown-linux-gnu" + export CFLAGS_sparc32=${CFLAGS_sparc--m32} + export CHOST_sparc32=${CTARGET/sparc64/sparc} export CDEFINE_sparc32="!__arch64__" export LIBDIR_sparc32="lib" - export CFLAGS_sparc64="${CFLAGS_sparc64--m64}" - export CHOST_sparc64="sparc64-unknown-linux-gnu" + export CFLAGS_sparc64=${CFLAGS_sparc64--m64} + export CHOST_sparc64=${CTARGET} export CDEFINE_sparc64="__arch64__" export LIBDIR_sparc64="lib64" diff --git a/sys-libs/glibc/glibc-2.3.5-r1.ebuild b/sys-libs/glibc/glibc-2.3.5-r1.ebuild index cb512551b036..d544713f4451 100644 --- a/sys-libs/glibc/glibc-2.3.5-r1.ebuild +++ b/sys-libs/glibc/glibc-2.3.5-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.5-r1.ebuild,v 1.25 2005/09/07 20:13:08 eradicator Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.5-r1.ebuild,v 1.26 2005/09/16 02:03:57 vapier Exp $ # Here's how the cross-compile logic breaks down ... # CTARGET - machine that will target the binaries @@ -218,19 +218,26 @@ toolchain-glibc_src_unpack() { toolchain-glibc_src_compile() { # Set gconvdir to /usr/$(get_libdir)/gconv on archs with multiple ABIs + local MAKEFLAGS="" has_multilib_profile && MAKEFLAGS="gconvdir=$(alt_usrlibdir)/gconv" + echo + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CFLAGS ; do + einfo " $(printf '%15s' ${v}:) ${!v}" + done + echo + if want_linuxthreads ; then glibc_do_configure linuxthreads einfo "Building GLIBC with linuxthreads..." - make PARALLELMFLAGS="-j1" ${MAKEFLAGS} || die + make PARALLELMFLAGS="${MAKEOPTS} -j1" ${MAKEFLAGS} || die fi if want_nptl ; then # ... and then do the optional nptl build unset LD_ASSUME_KERNEL || : glibc_do_configure nptl einfo "Building GLIBC with NPTL..." - make PARALLELMFLAGS="-j1" ${MAKEFLAGS} || die + make PARALLELMFLAGS="${MAKEOPTS} -j1" ${MAKEFLAGS} || die fi } @@ -593,7 +600,7 @@ alt_prefix() { alt_libdir() { if is_crosscompile ; then - echo /usr/${CTARGET}/lib + echo /usr/${CTARGET}/$(get_libdir) else echo /$(get_libdir) fi @@ -601,7 +608,7 @@ alt_libdir() { alt_usrlibdir() { if is_crosscompile ; then - echo /usr/${CTARGET}/lib + echo /usr/${CTARGET}/$(get_libdir) else echo /usr/$(get_libdir) fi @@ -951,33 +958,10 @@ fix_lib64_symlinks() { } use_multilib() { - case $(tc-arch) in - sparc) - case ${CHOST} in - sparc64*) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; - esac - ;; - mips) - case ${CHOST} in - mips64*) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; - esac - ;; - amd64|ppc64) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; + case ${CTARGET} in + sparc64*|mips64*|amd64|ppc64) + is_crosscompile || has_multilib_profile || use multilib ;; + *) false ;; esac } @@ -990,13 +974,13 @@ crosscompile_setup() { case ${CTARGET} in x86_64*) - export CFLAGS_x86="${CFLAGS_x86--m32}" - export CHOST_x86="i686-pc-linux-gnu" + export CFLAGS_x86=${CFLAGS_x86--m32} + export CHOST_x86=${CTARGET/x86_64/i686} export CDEFINE_x86="__i386__" export LIBDIR_x86="lib" - export CFLAGS_amd64="${CFLAGS_amd64--m64}" - export CHOST_amd64="x86_64-pc-linux-gnu" + export CFLAGS_amd64=${CFLAGS_amd64--m64} + export CHOST_amd64=${CTARGET} export CDEFINE_amd64="__x86_64__" export LIBDIR_amd64="lib64" @@ -1004,18 +988,18 @@ crosscompile_setup() { export DEFAULT_ABI="amd64" ;; mips64*) - export CFLAGS_o32="${CFLAGS_o32--mabi=32}" - export CHOST_o32="mips-unknown-linux-gnu" + export CFLAGS_o32=${CFLAGS_o32--mabi=32} + export CHOST_o32=${CTARGET/mips64/mips} export CDEFINE_o32="_ABIO32" export LIBDIR_o32="lib" - export CFLAGS_n32="${CFLAGS_n32--mabi=n32}" - export CHOST_n32="mips64-unknown-linux-gnu" + export CFLAGS_n32=${CFLAGS_n32--mabi=n32} + export CHOST_n32=${CTARGET} export CDEFINE_n32="_ABIN32" export LIBDIR_n32="lib32" - export CFLAGS_n64="${CFLAGS_n64--mabi=64}" - export CHOST_n64="mips64-unknown-linux-gnu" + export CFLAGS_n64=${CFLAGS_n64--mabi=64} + export CHOST_n64=${CTARGET} export CDEFINE_n64="_ABI64" export LIBDIR_n64="lib64" @@ -1023,13 +1007,13 @@ crosscompile_setup() { export DEFAULT_ABI="n32" ;; powerpc64*) - export CFLAGS_ppc="${CFLAGS_ppc--m32}" - export CHOST_ppc="powerpc-unknown-linux-gnu" + export CFLAGS_ppc=${CFLAGS_ppc--m32} + export CHOST_ppc=${CTARGET/powerpc64/powerpc} export CDEFINE_ppc="!__powerpc64__" export LIBDIR_ppc="lib" - export CFLAGS_ppc64="${CFLAGS_ppc64--m64}" - export CHOST_ppc64="powerpc64-unknown-linux-gnu" + export CFLAGS_ppc64=${CFLAGS_ppc64--m64} + export CHOST_ppc64=${CTARGET} export CDEFINE_ppc64="__powerpc64__" export LIBDIR_ppc64="lib64" @@ -1037,13 +1021,13 @@ crosscompile_setup() { export DEFAULT_ABI="ppc64" ;; sparc64*) - export CFLAGS_sparc32="${CFLAGS_sparc--m32}" - export CHOST_sparc32="sparc-unknown-linux-gnu" + export CFLAGS_sparc32=${CFLAGS_sparc--m32} + export CHOST_sparc32=${CTARGET/sparc64/sparc} export CDEFINE_sparc32="!__arch64__" export LIBDIR_sparc32="lib" - export CFLAGS_sparc64="${CFLAGS_sparc64--m64}" - export CHOST_sparc64="sparc64-unknown-linux-gnu" + export CFLAGS_sparc64=${CFLAGS_sparc64--m64} + export CHOST_sparc64=${CTARGET} export CDEFINE_sparc64="__arch64__" export LIBDIR_sparc64="lib64" diff --git a/sys-libs/glibc/glibc-2.3.5.20050421.ebuild b/sys-libs/glibc/glibc-2.3.5.20050421.ebuild index 975cc6078801..c9a661839247 100644 --- a/sys-libs/glibc/glibc-2.3.5.20050421.ebuild +++ b/sys-libs/glibc/glibc-2.3.5.20050421.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.5.20050421.ebuild,v 1.32 2005/08/30 02:08:08 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.5.20050421.ebuild,v 1.33 2005/09/16 02:03:57 vapier Exp $ # Here's how the cross-compile logic breaks down ... # CTARGET - machine that will target the binaries @@ -219,8 +219,15 @@ toolchain-glibc_src_unpack() { toolchain-glibc_src_compile() { # Set gconvdir to /usr/$(get_libdir)/gconv on archs with multiple ABIs + local MAKEFLAGS="" has_multilib_profile && MAKEFLAGS="gconvdir=$(alt_usrlibdir)/gconv" + echo + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CFLAGS ; do + einfo " $(printf '%15s' ${v}:) ${!v}" + done + echo + if want_linuxthreads ; then glibc_do_configure linuxthreads einfo "Building GLIBC with linuxthreads..." @@ -594,7 +601,7 @@ alt_prefix() { alt_libdir() { if is_crosscompile ; then - echo /usr/${CTARGET}/lib + echo /usr/${CTARGET}/$(get_libdir) else echo /$(get_libdir) fi @@ -602,7 +609,7 @@ alt_libdir() { alt_usrlibdir() { if is_crosscompile ; then - echo /usr/${CTARGET}/lib + echo /usr/${CTARGET}/$(get_libdir) else echo /usr/$(get_libdir) fi @@ -949,33 +956,10 @@ fix_lib64_symlinks() { } use_multilib() { - case $(tc-arch) in - sparc) - case ${CHOST} in - sparc64*) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; - esac - ;; - mips) - case ${CHOST} in - mips64*) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; - esac - ;; - amd64|ppc64) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; + case ${CTARGET} in + sparc64*|mips64*|amd64|ppc64) + is_crosscompile || has_multilib_profile || use multilib ;; + *) false ;; esac } @@ -988,13 +972,13 @@ crosscompile_setup() { case ${CTARGET} in x86_64*) - export CFLAGS_x86="${CFLAGS_x86--m32}" - export CHOST_x86="i686-pc-linux-gnu" + export CFLAGS_x86=${CFLAGS_x86--m32} + export CHOST_x86=${CTARGET/x86_64/i686} export CDEFINE_x86="__i386__" export LIBDIR_x86="lib" - export CFLAGS_amd64="${CFLAGS_amd64--m64}" - export CHOST_amd64="x86_64-pc-linux-gnu" + export CFLAGS_amd64=${CFLAGS_amd64--m64} + export CHOST_amd64=${CTARGET} export CDEFINE_amd64="__x86_64__" export LIBDIR_amd64="lib64" @@ -1002,18 +986,18 @@ crosscompile_setup() { export DEFAULT_ABI="amd64" ;; mips64*) - export CFLAGS_o32="${CFLAGS_o32--mabi=32}" - export CHOST_o32="mips-unknown-linux-gnu" + export CFLAGS_o32=${CFLAGS_o32--mabi=32} + export CHOST_o32=${CTARGET/mips64/mips} export CDEFINE_o32="_ABIO32" export LIBDIR_o32="lib" - export CFLAGS_n32="${CFLAGS_n32--mabi=n32}" - export CHOST_n32="mips64-unknown-linux-gnu" + export CFLAGS_n32=${CFLAGS_n32--mabi=n32} + export CHOST_n32=${CTARGET} export CDEFINE_n32="_ABIN32" export LIBDIR_n32="lib32" - export CFLAGS_n64="${CFLAGS_n64--mabi=64}" - export CHOST_n64="mips64-unknown-linux-gnu" + export CFLAGS_n64=${CFLAGS_n64--mabi=64} + export CHOST_n64=${CTARGET} export CDEFINE_n64="_ABI64" export LIBDIR_n64="lib64" @@ -1021,13 +1005,13 @@ crosscompile_setup() { export DEFAULT_ABI="n32" ;; powerpc64*) - export CFLAGS_ppc="${CFLAGS_ppc--m32}" - export CHOST_ppc="powerpc-unknown-linux-gnu" + export CFLAGS_ppc=${CFLAGS_ppc--m32} + export CHOST_ppc=${CTARGET/powerpc64/powerpc} export CDEFINE_ppc="!__powerpc64__" export LIBDIR_ppc="lib" - export CFLAGS_ppc64="${CFLAGS_ppc64--m64}" - export CHOST_ppc64="powerpc64-unknown-linux-gnu" + export CFLAGS_ppc64=${CFLAGS_ppc64--m64} + export CHOST_ppc64=${CTARGET} export CDEFINE_ppc64="__powerpc64__" export LIBDIR_ppc64="lib64" @@ -1035,13 +1019,13 @@ crosscompile_setup() { export DEFAULT_ABI="ppc64" ;; sparc64*) - export CFLAGS_sparc32="${CFLAGS_sparc--m32}" - export CHOST_sparc32="sparc-unknown-linux-gnu" + export CFLAGS_sparc32=${CFLAGS_sparc--m32} + export CHOST_sparc32=${CTARGET/sparc64/sparc} export CDEFINE_sparc32="!__arch64__" export LIBDIR_sparc32="lib" - export CFLAGS_sparc64="${CFLAGS_sparc64--m64}" - export CHOST_sparc64="sparc64-unknown-linux-gnu" + export CFLAGS_sparc64=${CFLAGS_sparc64--m64} + export CHOST_sparc64=${CTARGET} export CDEFINE_sparc64="__arch64__" export LIBDIR_sparc64="lib64" diff --git a/sys-libs/glibc/glibc-2.3.5.20050722.ebuild b/sys-libs/glibc/glibc-2.3.5.20050722.ebuild index a4689c99a62d..b09b8fae6803 100644 --- a/sys-libs/glibc/glibc-2.3.5.20050722.ebuild +++ b/sys-libs/glibc/glibc-2.3.5.20050722.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.5.20050722.ebuild,v 1.11 2005/08/30 02:08:08 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.5.20050722.ebuild,v 1.12 2005/09/16 02:03:57 vapier Exp $ # Here's how the cross-compile logic breaks down ... # CTARGET - machine that will target the binaries @@ -224,8 +224,15 @@ toolchain-glibc_src_unpack() { toolchain-glibc_src_compile() { # Set gconvdir to /usr/$(get_libdir)/gconv on archs with multiple ABIs + local MAKEFLAGS="" has_multilib_profile && MAKEFLAGS="gconvdir=$(alt_usrlibdir)/gconv" + echo + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CFLAGS ; do + einfo " $(printf '%15s' ${v}:) ${!v}" + done + echo + if want_linuxthreads ; then glibc_do_configure linuxthreads einfo "Building GLIBC with linuxthreads..." @@ -599,7 +606,7 @@ alt_prefix() { alt_libdir() { if is_crosscompile ; then - echo /usr/${CTARGET}/lib + echo /usr/${CTARGET}/$(get_libdir) else echo /$(get_libdir) fi @@ -607,7 +614,7 @@ alt_libdir() { alt_usrlibdir() { if is_crosscompile ; then - echo /usr/${CTARGET}/lib + echo /usr/${CTARGET}/$(get_libdir) else echo /usr/$(get_libdir) fi @@ -957,33 +964,10 @@ fix_lib64_symlinks() { } use_multilib() { - case $(tc-arch) in - sparc) - case ${CHOST} in - sparc64*) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; - esac - ;; - mips) - case ${CHOST} in - mips64*) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; - esac - ;; - amd64|ppc64) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; + case ${CTARGET} in + sparc64*|mips64*|amd64|ppc64) + is_crosscompile || has_multilib_profile || use multilib ;; + *) false ;; esac } @@ -996,13 +980,13 @@ crosscompile_setup() { case ${CTARGET} in x86_64*) - export CFLAGS_x86="${CFLAGS_x86--m32}" - export CHOST_x86="i686-pc-linux-gnu" + export CFLAGS_x86=${CFLAGS_x86--m32} + export CHOST_x86=${CTARGET/x86_64/i686} export CDEFINE_x86="__i386__" export LIBDIR_x86="lib" - export CFLAGS_amd64="${CFLAGS_amd64--m64}" - export CHOST_amd64="x86_64-pc-linux-gnu" + export CFLAGS_amd64=${CFLAGS_amd64--m64} + export CHOST_amd64=${CTARGET} export CDEFINE_amd64="__x86_64__" export LIBDIR_amd64="lib64" @@ -1010,18 +994,18 @@ crosscompile_setup() { export DEFAULT_ABI="amd64" ;; mips64*) - export CFLAGS_o32="${CFLAGS_o32--mabi=32}" - export CHOST_o32="mips-unknown-linux-gnu" + export CFLAGS_o32=${CFLAGS_o32--mabi=32} + export CHOST_o32=${CTARGET/mips64/mips} export CDEFINE_o32="_ABIO32" export LIBDIR_o32="lib" - export CFLAGS_n32="${CFLAGS_n32--mabi=n32}" - export CHOST_n32="mips64-unknown-linux-gnu" + export CFLAGS_n32=${CFLAGS_n32--mabi=n32} + export CHOST_n32=${CTARGET} export CDEFINE_n32="_ABIN32" export LIBDIR_n32="lib32" - export CFLAGS_n64="${CFLAGS_n64--mabi=64}" - export CHOST_n64="mips64-unknown-linux-gnu" + export CFLAGS_n64=${CFLAGS_n64--mabi=64} + export CHOST_n64=${CTARGET} export CDEFINE_n64="_ABI64" export LIBDIR_n64="lib64" @@ -1029,13 +1013,13 @@ crosscompile_setup() { export DEFAULT_ABI="n32" ;; powerpc64*) - export CFLAGS_ppc="${CFLAGS_ppc--m32}" - export CHOST_ppc="powerpc-unknown-linux-gnu" + export CFLAGS_ppc=${CFLAGS_ppc--m32} + export CHOST_ppc=${CTARGET/powerpc64/powerpc} export CDEFINE_ppc="!__powerpc64__" export LIBDIR_ppc="lib" - export CFLAGS_ppc64="${CFLAGS_ppc64--m64}" - export CHOST_ppc64="powerpc64-unknown-linux-gnu" + export CFLAGS_ppc64=${CFLAGS_ppc64--m64} + export CHOST_ppc64=${CTARGET} export CDEFINE_ppc64="__powerpc64__" export LIBDIR_ppc64="lib64" @@ -1043,13 +1027,13 @@ crosscompile_setup() { export DEFAULT_ABI="ppc64" ;; sparc64*) - export CFLAGS_sparc32="${CFLAGS_sparc--m32}" - export CHOST_sparc32="sparc-unknown-linux-gnu" + export CFLAGS_sparc32=${CFLAGS_sparc--m32} + export CHOST_sparc32=${CTARGET/sparc64/sparc} export CDEFINE_sparc32="!__arch64__" export LIBDIR_sparc32="lib" - export CFLAGS_sparc64="${CFLAGS_sparc64--m64}" - export CHOST_sparc64="sparc64-unknown-linux-gnu" + export CFLAGS_sparc64=${CFLAGS_sparc64--m64} + export CHOST_sparc64=${CTARGET} export CDEFINE_sparc64="__arch64__" export LIBDIR_sparc64="lib64" diff --git a/sys-libs/glibc/glibc-2.3.5.ebuild b/sys-libs/glibc/glibc-2.3.5.ebuild index 1a1d4b93e36c..fb82b5a03a16 100644 --- a/sys-libs/glibc/glibc-2.3.5.ebuild +++ b/sys-libs/glibc/glibc-2.3.5.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.5.ebuild,v 1.43 2005/08/30 02:08:08 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.5.ebuild,v 1.44 2005/09/16 02:03:57 vapier Exp $ # Here's how the cross-compile logic breaks down ... # CTARGET - machine that will target the binaries @@ -225,8 +225,15 @@ toolchain-glibc_src_unpack() { toolchain-glibc_src_compile() { # Set gconvdir to /usr/$(get_libdir)/gconv on archs with multiple ABIs + local MAKEFLAGS="" has_multilib_profile && MAKEFLAGS="gconvdir=$(alt_usrlibdir)/gconv" + echo + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CFLAGS ; do + einfo " $(printf '%15s' ${v}:) ${!v}" + done + echo + # -fomit-frame-pointer gets stripped in setup_flags, so we do this # now to cache the value want_omitfp @@ -597,7 +604,7 @@ alt_prefix() { alt_libdir() { if is_crosscompile ; then - echo /usr/${CTARGET}/lib + echo /usr/${CTARGET}/$(get_libdir) else echo /$(get_libdir) fi @@ -605,7 +612,7 @@ alt_libdir() { alt_usrlibdir() { if is_crosscompile ; then - echo /usr/${CTARGET}/lib + echo /usr/${CTARGET}/$(get_libdir) else echo /usr/$(get_libdir) fi @@ -977,33 +984,10 @@ fix_lib64_symlinks() { } use_multilib() { - case $(tc-arch) in - sparc) - case ${CHOST} in - sparc64*) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; - esac - ;; - mips) - case ${CHOST} in - mips64*) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; - esac - ;; - amd64|ppc64) - is_crosscompile || has_multilib_profile || use multilib - ;; - *) - false - ;; + case ${CTARGET} in + sparc64*|mips64*|amd64|ppc64) + is_crosscompile || has_multilib_profile || use multilib ;; + *) false ;; esac } @@ -1016,13 +1000,13 @@ crosscompile_setup() { case ${CTARGET} in x86_64*) - export CFLAGS_x86="${CFLAGS_x86--m32}" - export CHOST_x86="i686-pc-linux-gnu" + export CFLAGS_x86=${CFLAGS_x86--m32} + export CHOST_x86=${CTARGET/x86_64/i686} export CDEFINE_x86="__i386__" export LIBDIR_x86="lib" - export CFLAGS_amd64="${CFLAGS_amd64--m64}" - export CHOST_amd64="x86_64-pc-linux-gnu" + export CFLAGS_amd64=${CFLAGS_amd64--m64} + export CHOST_amd64=${CTARGET} export CDEFINE_amd64="__x86_64__" export LIBDIR_amd64="lib64" @@ -1030,18 +1014,18 @@ crosscompile_setup() { export DEFAULT_ABI="amd64" ;; mips64*) - export CFLAGS_o32="${CFLAGS_o32--mabi=32}" - export CHOST_o32="mips-unknown-linux-gnu" + export CFLAGS_o32=${CFLAGS_o32--mabi=32} + export CHOST_o32=${CTARGET/mips64/mips} export CDEFINE_o32="_ABIO32" export LIBDIR_o32="lib" - export CFLAGS_n32="${CFLAGS_n32--mabi=n32}" - export CHOST_n32="mips64-unknown-linux-gnu" + export CFLAGS_n32=${CFLAGS_n32--mabi=n32} + export CHOST_n32=${CTARGET} export CDEFINE_n32="_ABIN32" export LIBDIR_n32="lib32" - export CFLAGS_n64="${CFLAGS_n64--mabi=64}" - export CHOST_n64="mips64-unknown-linux-gnu" + export CFLAGS_n64=${CFLAGS_n64--mabi=64} + export CHOST_n64=${CTARGET} export CDEFINE_n64="_ABI64" export LIBDIR_n64="lib64" @@ -1049,13 +1033,13 @@ crosscompile_setup() { export DEFAULT_ABI="n32" ;; powerpc64*) - export CFLAGS_ppc="${CFLAGS_ppc--m32}" - export CHOST_ppc="powerpc-unknown-linux-gnu" + export CFLAGS_ppc=${CFLAGS_ppc--m32} + export CHOST_ppc=${CTARGET/powerpc64/powerpc} export CDEFINE_ppc="!__powerpc64__" export LIBDIR_ppc="lib" - export CFLAGS_ppc64="${CFLAGS_ppc64--m64}" - export CHOST_ppc64="powerpc64-unknown-linux-gnu" + export CFLAGS_ppc64=${CFLAGS_ppc64--m64} + export CHOST_ppc64=${CTARGET} export CDEFINE_ppc64="__powerpc64__" export LIBDIR_ppc64="lib64" @@ -1063,13 +1047,13 @@ crosscompile_setup() { export DEFAULT_ABI="ppc64" ;; sparc64*) - export CFLAGS_sparc32="${CFLAGS_sparc--m32}" - export CHOST_sparc32="sparc-unknown-linux-gnu" + export CFLAGS_sparc32=${CFLAGS_sparc--m32} + export CHOST_sparc32=${CTARGET/sparc64/sparc} export CDEFINE_sparc32="!__arch64__" export LIBDIR_sparc32="lib" - export CFLAGS_sparc64="${CFLAGS_sparc64--m64}" - export CHOST_sparc64="sparc64-unknown-linux-gnu" + export CFLAGS_sparc64=${CFLAGS_sparc64--m64} + export CHOST_sparc64=${CTARGET} export CDEFINE_sparc64="__arch64__" export LIBDIR_sparc64="lib64" |