Upstream-Status: Pending

Updated to apply to gmp-5.1.0

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>

---
 acinclude.m4 | 32 +++++++++++++++++---------------
 configure.ac | 26 +++++++++-----------------
 2 files changed, 26 insertions(+), 32 deletions(-)

diff --git a/acinclude.m4 b/acinclude.m4
index 227712a..199aa6f 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -40,29 +40,29 @@ dnl    a_out.exe - OpenVMS DEC C called via GNV wrapper (gnv.sourceforge.net)
 dnl    conftest.exe - various DOS compilers
 
 
-define(IA64_PATTERN,
+define([IA64_PATTERN],
 [[ia64*-*-* | itanium-*-* | itanium2-*-*]])
 
 dnl  Need to be careful not to match m6811, m6812, m68hc11 and m68hc12, all
 dnl  of which config.sub accepts.  (Though none of which are likely to work
 dnl  with GMP.)
 dnl
-define(M68K_PATTERN,
+define([M68K_PATTERN],
 [[m68k-*-* | m68[0-9][0-9][0-9]-*-*]])
 
-define(POWERPC64_PATTERN,
+define([POWERPC64_PATTERN],
 [[powerpc64-*-* | powerpc64le-*-* | powerpc620-*-* | powerpc630-*-* | powerpc970-*-* | power[3-9]-*-*]])
 
-define(S390_PATTERN,
+define([S390_PATTERN],
 [[s390-*-* | z900esa-*-* | z990esa-*-* | z9esa-*-* | z10esa-*-* | z196esa-*-*]])
 
-define(S390X_PATTERN,
+define([S390X_PATTERN],
 [[s390x-*-* | z900-*-* | z990-*-* | z9-*-* | z10-*-* | z196-*-*]])
 
-define(X86_PATTERN,
+define([X86_PATTERN],
 [[i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-* | geode*-*-* | atom-*-*]])
 
-define(X86_64_PATTERN,
+define([X86_64_PATTERN],
 [[athlon64-*-* | k8-*-* | k10-*-* | bobcat-*-* | jaguar-*-* | bulldozer-*-* | piledriver-*-* | steamroller-*-* | excavator-*-* | pentium4-*-* | atom-*-* | core2-*-* | corei*-*-* | x86_64-*-* | nano-*-*]])
 
 dnl  GMP_FAT_SUFFIX(DSTVAR, DIRECTORY)
@@ -80,7 +80,7 @@ dnl      x86         ->  x86
 dnl      x86/k6      ->  k6
 dnl      x86/k6/mmx  ->  k6_mmx
 
-define(GMP_FAT_SUFFIX,
+define([GMP_FAT_SUFFIX],
 [[$1=`echo $2 | sed -e '/\//s:^[^/]*/::' -e 's:[\\/]:_:g'`]])
 
 
@@ -89,7 +89,7 @@ dnl  ----------------------------------
 dnl  Emit code to remove any occurrence of ITEM from $LISTVAR.  ITEM can be a
 dnl  shell expression like $foo if desired.
 
-define(GMP_REMOVE_FROM_LIST,
+define([GMP_REMOVE_FROM_LIST],
 [remove_from_list_tmp=
 for remove_from_list_i in $[][$1]; do
   if test $remove_from_list_i = [$2]; then :;
@@ -105,12 +105,12 @@ dnl  GMP_STRIP_PATH(subdir)
 dnl  ----------------------
 dnl  Strip entries */subdir from $path and $fat_path.
 
-define(GMP_STRIP_PATH,
+define([GMP_STRIP_PATH],
 [GMP_STRIP_PATH_VAR(path, [$1])
 GMP_STRIP_PATH_VAR(fat_path, [$1])
 ])
 
-define(GMP_STRIP_PATH_VAR,
+define([GMP_STRIP_PATH_VAR],
 [tmp_path=
 for i in $[][$1]; do
   case $i in
@@ -131,7 +131,7 @@ dnl
 dnl  Dummy value for GMP_LIMB_BITS is enough
 dnl  for all current configure-time uses of gmp.h.
 
-define(GMP_INCLUDE_GMP_H,
+define([GMP_INCLUDE_GMP_H],
 [[#define __GMP_WITHIN_CONFIGURE 1   /* ignore template stuff */
 #define GMP_NAIL_BITS $GMP_NAIL_BITS
 #define GMP_LIMB_BITS 123
@@ -146,7 +146,7 @@ dnl  Expand at autoconf time to the value of a "#define NAME" from the given
 dnl  FILE.  The regexps here aren't very rugged, but are enough for gmp.
 dnl  /dev/null as a parameter prevents a hang if $2 is accidentally omitted.
 
-define(GMP_HEADER_GETVAL,
+define([GMP_HEADER_GETVAL],
 [patsubst(patsubst(
 esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]),
 [^.*$1[ 	]+],[]),
@@ -160,7 +160,7 @@ dnl  The gmp version number, extracted from the #defines in gmp-h.in at
 dnl  autoconf time.  Two digits like 3.0 if patchlevel <= 0, or three digits
 dnl  like 3.0.1 if patchlevel > 0.
 
-define(GMP_VERSION,
+define([GMP_VERSION],
 [GMP_HEADER_GETVAL(__GNU_MP_VERSION,gmp-h.in)[]dnl
 .GMP_HEADER_GETVAL(__GNU_MP_VERSION_MINOR,gmp-h.in)[]dnl
 .GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp-h.in)])
@@ -1524,7 +1524,9 @@ esac
 echo ["define(<CONFIG_TOP_SRCDIR>,<\`$tmp'>)"] >>$gmp_tmpconfigm4
 
 # All CPUs use asm-defs.m4
-echo ["include][(CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4')"] >>$gmp_tmpconfigm4i
+echo -n ["include("] >>$gmp_tmpconfigm4i
+echo -n ["CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4'"] >>$gmp_tmpconfigm4i
+echo [")"] >>$gmp_tmpconfigm4i
 ])
 
 
diff --git a/configure.ac b/configure.ac
index 64b2c50..f07b821 100644
--- a/configure.ac
+++ b/configure.ac
@@ -39,14 +39,6 @@ AC_REVISION($Revision$)
 AC_PREREQ(2.59)
 AC_INIT(GNU MP, GMP_VERSION, [gmp-bugs@gmplib.org, see https://gmplib.org/manual/Reporting-Bugs.html], gmp)
 AC_CONFIG_SRCDIR(gmp-impl.h)
-m4_pattern_forbid([^[ \t]*GMP_])
-m4_pattern_allow(GMP_LDFLAGS)
-m4_pattern_allow(GMP_LIMB_BITS)
-m4_pattern_allow(GMP_MPARAM_H_SUGGEST)
-m4_pattern_allow(GMP_NAIL_BITS)
-m4_pattern_allow(GMP_NUMB_BITS)
-m4_pattern_allow(GMP_NONSTD_ABI)
-m4_pattern_allow(GMP_CPU_TYPE)
 
 # If --target is not used then $target_alias is empty, but if say
 # "./configure athlon-pc-freebsd3.5" is used, then all three of
@@ -348,7 +340,7 @@ AH_VERBATIM([HAVE_HOST_CPU_1],
 # After GMP specific searches and tests, the standard autoconf AC_PROG_CC is
 # called.  User selections of CC etc are respected.
 #
-# Care is taken not to use macros like AC_TRY_COMPILE during the GMP
+# Care is taken not to use macros like AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[],[]) during the GMP
 # pre-testing, since they of course depend on AC_PROG_CC, and also some of
 # them cache their results, which is not wanted.
 #
@@ -440,7 +432,7 @@ abilist="standard"
 # FIXME: We'd like to prefer an ANSI compiler, perhaps by preferring
 # c89 over cc here.  But note that on HP-UX c89 provides a castrated
 # environment, and would want to be excluded somehow.  Maybe
-# AC_PROG_CC_STDC already does enough to stick cc into ANSI mode and
+#  already does enough to stick cc into ANSI mode and
 # we don't need to worry.
 #
 cclist="gcc cc"
@@ -1843,7 +1835,7 @@ esac
 CFLAGS_or_unset=${CFLAGS-'(unset)'}
 CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'}
 
-cat >&AC_FD_CC <<EOF
+cat >&AS_MESSAGE_LOG_FD() <<EOF
 User:
 ABI=$ABI
 CC=$CC
@@ -2264,7 +2256,6 @@ AC_SUBST(DEFN_LONG_LONG_LIMB)
 
 # The C compiler and preprocessor, put into ANSI mode if possible.
 AC_PROG_CC
-AC_PROG_CC_STDC
 AC_PROG_CPP
 
 
@@ -2286,11 +2277,11 @@ AC_SUBST(CCAS)
 
 # The C++ compiler, if desired.
 want_cxx=no
+AC_PROG_CXX
 if test $enable_cxx != no; then
   test_CXXFLAGS=${CXXFLAGS+set}
-  AC_PROG_CXX
 
-  echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AC_FD_CC
+  echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AS_MESSAGE_LOG_FD()
   cxxflags_ac_prog_cxx=$CXXFLAGS
   cxxflags_list=ac_prog_cxx
 
@@ -2412,7 +2403,7 @@ if test "$enable_assembly" = "no"; then
 fi
 
 
-cat >&AC_FD_CC <<EOF
+cat >&AS_MESSAGE_LOG_FD() <<EOF
 Decided:
 ABI=$ABI
 CC=$CC
@@ -3781,7 +3772,7 @@ GMP_FINISH
 # FIXME: Upcoming version of autoconf/automake may not like broken lines.
 #        Right now automake isn't accepting the new AC_CONFIG_FILES scheme.
 
-AC_OUTPUT(Makefile							\
+AC_CONFIG_FILES([Makefile							\
   mpf/Makefile mpn/Makefile mpq/Makefile				\
   mpz/Makefile printf/Makefile scanf/Makefile rand/Makefile cxx/Makefile \
   tests/Makefile tests/devel/Makefile					\
@@ -3790,7 +3781,8 @@ AC_OUTPUT(Makefile							\
   tests/cxx/Makefile							\
   doc/Makefile tune/Makefile						\
   demos/Makefile demos/calc/Makefile demos/expr/Makefile		\
-  gmp.h:gmp-h.in)
+  gmp.h:gmp-h.in])
+AC_OUTPUT
 
 AC_MSG_NOTICE([summary of build options:
 
-- 
1.9.1

