commit:     d0f1aa52f380ac736b5fc95cf885fb900f198e02
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 24 16:12:00 2015 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Sat Oct 24 16:12:00 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d0f1aa52

dev-libs/gmp: sync GMPABI handling across current versions #563886

No functional changes here really -- just make the ebuilds we want
to keep in the tree act the same.

 dev-libs/gmp/files/gmp-4.3.2-ABI-multilib.patch | 256 ------------------------
 dev-libs/gmp/gmp-4.3.2-r1.ebuild                |  22 +-
 dev-libs/gmp/gmp-5.1.3-r1.ebuild                |   4 +-
 dev-libs/gmp/gmp-6.0.0a.ebuild                  |   4 +-
 4 files changed, 18 insertions(+), 268 deletions(-)

diff --git a/dev-libs/gmp/files/gmp-4.3.2-ABI-multilib.patch 
b/dev-libs/gmp/files/gmp-4.3.2-ABI-multilib.patch
deleted file mode 100644
index 2f9911c..0000000
--- a/dev-libs/gmp/files/gmp-4.3.2-ABI-multilib.patch
+++ /dev/null
@@ -1,256 +0,0 @@
-Gentoo uses ABI env var already
-
---- gmp-4.2.3/configure
-+++ gmp-4.2.3/configure
-@@ -489,7 +489,7 @@
- WANT_MPBSD_TRUE
- WANT_MPBSD_FALSE
- GMP_NAIL_BITS
--ABI
-+GMPABI
- HAVE_HOST_CPU_FAMILY_power
- HAVE_HOST_CPU_FAMILY_powerpc
- GMP_LDFLAGS
-@@ -930,7 +930,7 @@
-       ac_precious_vars='build_alias
- host_alias
- target_alias
--ABI
-+GMPABI
- CC
- CFLAGS
- LDFLAGS
-@@ -1091,7 +1091,7 @@
-                           include additional configurations [automatic]
- 
- Some influential environment variables:
--  ABI         desired ABI (for processors supporting more than one ABI)
-+  GMPABI      desired ABI (for processors supporting more than one ABI)
-   CC          C compiler command
-   CFLAGS      C compiler flags
-   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-@@ -2670,7 +2670,7 @@
-     # (64-bit), but not both, so there's no option to choose the desired
-     # mode, we must instead detect which of the two it is.  This is done by
-     # checking sizeof(long), either 4 or 8 bytes respectively.  Do this in
--    # ABI=1.0 too, in case someone tries to build that with a 2.0w gcc.
-+    # GMPABI=1.0 too, in case someone tries to build that with a 2.0w gcc.
-     #
-     gcc_cflags="-O2"
-     gcc_cflags_optlist="arch"
-@@ -2694,11 +2694,11 @@
-     # gcc 2.7.2.3 knows -mpa-risc-1-0 and -mpa-risc-1-1
-     # gcc 2.95 adds -mpa-risc-2-0, plus synonyms -march=1.0, 1.1 and 2.0
-     #
--    # We don't use -mpa-risc-2-0 in ABI=1.0 because 64-bit registers may not
-+    # We don't use -mpa-risc-2-0 in GMPABI=1.0 because 64-bit registers may 
not
-     # be saved by the kernel on an old system.  Actually gcc (as of 3.2)
-     # only adds a few float instructions with -mpa-risc-2-0, so it would
-     # probably be safe, but let's not take the chance.  In any case, a
--    # configuration like --host=hppa2.0 ABI=1.0 is far from optimal.
-+    # configuration like --host=hppa2.0 GMPABI=1.0 is far from optimal.
-     #
-     case $host_cpu in
-       hppa1.0*)           gcc_cflags_arch="-mpa-risc-1-0" ;;
-@@ -2733,9 +2733,9 @@
-         cc_20n_cflags="+DA2.0 +e +O2 -Wl,+vnocompatwarnings"
-         cc_20n_testlist="hpc-hppa-2-0"
- 
--      # ABI=2.0w is available for hppa2.0w and hppa2.0, but not for
-+      # GMPABI=2.0w is available for hppa2.0w and hppa2.0, but not for
-       # hppa2.0n, on the assumption that that the latter indicates a
--      # desire for ABI=2.0n.
-+      # desire for GMPABI=2.0n.
-       case $host in
-         hppa2.0n-*-*) ;;
-         *)
-@@ -3203,7 +3203,7 @@
-     # mode, but not set our ABI.  For some reason it's sparc where this
-     # keeps coming up, presumably users there are accustomed to driving the
-     # compiler mode that way.  The effect of our testlist setting is to
--    # reject ABI=64 in favour of ABI=32 if the user has forced the flags to
-+    # reject GMPABI=64 in favour of GMPABI=32 if the user has forced the 
flags to
-     # 32-bit mode.
-     #
-     abilist="32"
-@@ -3308,12 +3308,12 @@
-     case $host_cpu in
-       sparc64 | sparcv9* | ultrasparc*)
-         case $host in
--          # Solaris 6 and earlier cannot run ABI=64 since it doesn't save
--          # registers properly, so ABI=32 is left as the only choice.
-+          # Solaris 6 and earlier cannot run GMPABI=64 since it doesn't save
-+          # registers properly, so GMPABI=32 is left as the only choice.
-           #
-           *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) ;;
- 
--          # BSD sparc64 ports are 64-bit-only systems, so ABI=64 is the only
-+          # BSD sparc64 ports are 64-bit-only systems, so GMPABI=64 is the 
only
-           # choice.  In fact they need no special compiler flags, gcc -m64
-           # is the default, but it doesn't hurt to add it.  v9 CPUs always
-           # use the sparc64 port, since the plain 32-bit sparc ports don't
-@@ -3399,7 +3399,7 @@
-   # -O, but lets assume that's no longer true.
-   #
-   # -m32 forces 32-bit mode on a bi-arch 32/64 amd64 build of gcc.  -m64 is
--  # the default in such a build (we think), so -m32 is essential for ABI=32.
-+  # the default in such a build (we think), so -m32 is essential for 
GMPABI=32.
-   # This is, of course, done for any $host_cpu, not just x86_64, so we can
-   # get such a gcc into the right mode to cross-compile to say i486-*-*.
-   #
-@@ -3639,7 +3639,7 @@
- 
- cat >&5 <<EOF
- User:
--ABI=$ABI
-+GMPABI=$GMPABI
- CC=$CC
- CFLAGS=$CFLAGS_or_unset
- CPPFLAGS=$CPPFLAGS_or_unset
-@@ -3660,24 +3660,24 @@
- # If the user specifies an ABI then it must be in $abilist, after that
- # $abilist is restricted to just that choice.
- #
--if test -n "$ABI"; then
-+if test -n "$GMPABI"; then
-   found=no
-   for abi in $abilist; do
--    if test $abi = "$ABI"; then found=yes; break; fi
-+    if test $abi = "$GMPABI"; then found=yes; break; fi
-   done
-   if test $found = no; then
--    { { echo "$as_me:$LINENO: error: ABI=$ABI is not among the following 
valid choices: $abilist" >&5
--echo "$as_me: error: ABI=$ABI is not among the following valid choices: 
$abilist" >&2;}
-+    { { echo "$as_me:$LINENO: error: GMPABI=$GMPABI is not among the 
following valid choices: $abilist" >&5
-+echo "$as_me: error: GMPABI=$GMPABI is not among the following valid choices: 
$abilist" >&2;}
-    { (exit 1); exit 1; }; }
-   fi
--  abilist="$ABI"
-+  abilist="$GMPABI"
- fi
- 
- found_compiler=no
- 
- for abi in $abilist; do
- 
--  echo "checking ABI=$abi"
-+  echo "checking GMPABI=$abi"
- 
-   # Suppose abilist="64 32", then for abi=64, will have abi1="_64" and
-   # abi2="_64".  For abi=32, will have abi1="_32" and abi2="".  This is how
-@@ -5128,7 +5128,7 @@
-             # For -march settings which enable SSE2 we exclude certain bad
-             # gcc versions and we need an OS knowing how to save xmm regs.
-             #
--            # This is only for ABI=32, any 64-bit gcc is good and any OS
-+            # This is only for GMPABI=32, any 64-bit gcc is good and any OS
-             # knowing x86_64 will know xmm.
-             #
-             # -march=k8 was only introduced in gcc 3.3, so we shouldn't need
-@@ -6368,16 +6368,16 @@
-     done
-   fi
- 
--  ABI="$abi"
-+  GMPABI="$abi"
-   CC="$cc"
-   CFLAGS="$cflags"
-   CPPFLAGS="$cppflags"
- 
- 
-   # Could easily have this in config.h too, if desired.
--  ABI_nodots=`echo $ABI | sed 's/\./_/'`
-+  GMPABI_nodots=`echo $GMPABI | sed 's/\./_/'`
- 
--echo "define_not_for_expansion(\`HAVE_ABI_$ABI_nodots')" >> $gmp_tmpconfigm4p
-+echo "define_not_for_expansion(\`HAVE_ABI_$GMPABI_nodots')" >> 
$gmp_tmpconfigm4p
- 
- 
- 
-@@ -8830,12 +8830,12 @@
- # If there's any sse2 or mmx in the path, check whether the assembler
- # supports it, and remove if not.
- #
--# We only need this in ABI=32, for ABI=64 on x86_64 we can assume a new
-+# We only need this in GMPABI=32, for GMPABI=64 on x86_64 we can assume a new
- # enough assembler.
- #
- case $host in
-   i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-* | 
geode*-*-* | athlon64-*-* | atom-*-* | core2-*-* | x86_64-*-*)
--    if test "$ABI" = 32; then
-+    if test "$GMPABI" = 32; then
-       case "$path $fat_path" in
-         *mmx*)   echo "$as_me:$LINENO: checking if the assembler knows about 
MMX instructions" >&5
- echo $ECHO_N "checking if the assembler knows about MMX instructions... 
$ECHO_C" >&6
-@@ -9019,7 +9019,7 @@
- 
- cat >&5 <<EOF
- Decided:
--ABI=$ABI
-+GMPABI=$GMPABI
- CC=$CC
- CFLAGS=$CFLAGS
- CPPFLAGS=$CPPFLAGS
-@@ -9028,7 +9028,7 @@
- CXXFLAGS=$CXXFLAGS
- path=$path
- EOF
--echo "using ABI=\"$ABI\""
-+echo "using GMPABI=\"$GMPABI\""
- echo "      CC=\"$CC\""
- echo "      CFLAGS=\"$CFLAGS\""
- echo "      CPPFLAGS=\"$CPPFLAGS\""
-@@ -30005,7 +30005,7 @@
- 
-       case $host in
-         *-*-aix*)
--        case $ABI in
-+        case $GMPABI in
-           64 | aix64)
- echo "include_mpn(\`powerpc64/aix.m4')" >> $gmp_tmpconfigm4i
-  ;;
-@@ -30015,7 +30015,7 @@
-           esac
-           ;;
-         *-*-linux* | *-*-*bsd*)
--        case $ABI in
-+        case $GMPABI in
-           mode64)
- echo "include_mpn(\`powerpc64/elf.m4')" >> $gmp_tmpconfigm4i
-  ;;
-@@ -30025,7 +30025,7 @@
-           esac
-           ;;
-         *-*-darwin*)
--        case $ABI in
-+        case $GMPABI in
-           mode64)
- echo "include_mpn(\`powerpc64/darwin.m4')" >> $gmp_tmpconfigm4i
-  ;;
-@@ -30048,7 +30048,7 @@
- 
-       ;;
-     sparcv9*-*-* | ultrasparc*-*-* | sparc64-*-*)
--      case $ABI in
-+      case $GMPABI in
-         64)
- 
- echo "$as_me:$LINENO: checking if the assembler accepts \".register\"" >&5
-@@ -30130,7 +30130,7 @@
- echo "define(<ALIGN_FILL_0x90>,<$gmp_cv_asm_align_fill_0x90>)" >> 
$gmp_tmpconfigm4
- 
- 
--      case $ABI in
-+      case $GMPABI in
-         32)
- 
- echo "include_mpn(\`x86/x86-defs.m4')" >> $gmp_tmpconfigm4i
-@@ -34032,7 +34032,7 @@
- WANT_MPBSD_TRUE!$WANT_MPBSD_TRUE$ac_delim
- WANT_MPBSD_FALSE!$WANT_MPBSD_FALSE$ac_delim
- GMP_NAIL_BITS!$GMP_NAIL_BITS$ac_delim
--ABI!$ABI$ac_delim
-+GMPABI!$GMPABI$ac_delim
- HAVE_HOST_CPU_FAMILY_power!$HAVE_HOST_CPU_FAMILY_power$ac_delim
- HAVE_HOST_CPU_FAMILY_powerpc!$HAVE_HOST_CPU_FAMILY_powerpc$ac_delim
- GMP_LDFLAGS!$GMP_LDFLAGS$ac_delim

diff --git a/dev-libs/gmp/gmp-4.3.2-r1.ebuild b/dev-libs/gmp/gmp-4.3.2-r1.ebuild
index c42ae5a..94a2563 100644
--- a/dev-libs/gmp/gmp-4.3.2-r1.ebuild
+++ b/dev-libs/gmp/gmp-4.3.2-r1.ebuild
@@ -22,29 +22,35 @@ RDEPEND=""
 
 src_prepare() {
        epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
-       epatch "${FILESDIR}"/${PN}-4.3.2-ABI-multilib.patch
        epatch "${FILESDIR}"/${PN}-4.2.1-s390.diff
 
-       sed -i -e 's:ABI = @ABI@:GMPABI = @GMPABI@:' \
-               Makefile.in */Makefile.in */*/Makefile.in
-
        # note: we cannot run autotools here as gcc depends on this package
        elibtoolize
+
+       # GMP uses the "ABI" env var during configure as does Gentoo (econf).
+       # So, to avoid patching the source constantly, wrap things up.
+       mv configure configure.wrapped || die
+       cat <<-\EOF > configure
+       #!/bin/sh
+       exec env ABI="${GMPABI}" "$0.wrapped" "$@"
+       EOF
+       chmod a+rx configure
 }
 
 src_configure() {
        # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
        # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
        if [[ ${CHOST} == hppa2.0-* ]] ; then
-               export GMPABI="1.0"
+               GMPABI="1.0"
        fi
 
        # ABI mappings (needs all architectures supported)
        case ${ABI} in
-               32|x86)       export GMPABI=32;;
-               64|amd64|n64) export GMPABI=64;;
-               o32|n32)      export GMPABI=${ABI};;
+               32|x86)       GMPABI=32;;
+               64|amd64|n64) GMPABI=64;;
+               [onx]32)      GMPABI=${ABI};;
        esac
+       export GMPABI
 
        tc-export CC
        econf \

diff --git a/dev-libs/gmp/gmp-5.1.3-r1.ebuild b/dev-libs/gmp/gmp-5.1.3-r1.ebuild
index 8946cc5..4eca2e6 100644
--- a/dev-libs/gmp/gmp-5.1.3-r1.ebuild
+++ b/dev-libs/gmp/gmp-5.1.3-r1.ebuild
@@ -45,7 +45,7 @@ src_prepare() {
        mv configure configure.wrapped || die
        cat <<-\EOF > configure
        #!/bin/sh
-       exec env ABI="$GMPABI" "$0.wrapped" "$@"
+       exec env ABI="${GMPABI}" "$0.wrapped" "$@"
        EOF
        chmod a+rx configure
 }
@@ -54,7 +54,7 @@ multilib_src_configure() {
        # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
        # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
        if [[ ${CHOST} == hppa2.0-* ]] ; then
-               export GMPABI="1.0"
+               GMPABI="1.0"
        fi
 
        # ABI mappings (needs all architectures supported)

diff --git a/dev-libs/gmp/gmp-6.0.0a.ebuild b/dev-libs/gmp/gmp-6.0.0a.ebuild
index 72693fb..1b4dcf8 100644
--- a/dev-libs/gmp/gmp-6.0.0a.ebuild
+++ b/dev-libs/gmp/gmp-6.0.0a.ebuild
@@ -44,7 +44,7 @@ src_prepare() {
        mv configure configure.wrapped || die
        cat <<-\EOF > configure
        #!/bin/sh
-       exec env ABI="$GMPABI" "$0.wrapped" "$@"
+       exec env ABI="${GMPABI}" "$0.wrapped" "$@"
        EOF
        chmod a+rx configure
 }
@@ -53,7 +53,7 @@ multilib_src_configure() {
        # Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
        # http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
        if [[ ${CHOST} == hppa2.0-* ]] ; then
-               export GMPABI="1.0"
+               GMPABI="1.0"
        fi
 
        # ABI mappings (needs all architectures supported)

Reply via email to