--- a/acinclude.m4
+++ b/acinclude.m4
@@ -30,29 +30,29 @@ dnl    a_out.exe - OpenVMS DEC C called
 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-*-* | bulldozer-*-* | pentium4-*-* | atom-*-* | core2-*-* | corei*-*-* | x86_64-*-* | nano-*-*]])
 
 dnl  GMP_FAT_SUFFIX(DSTVAR, DIRECTORY)
@@ -70,7 +70,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'`]])
 
 
@@ -79,7 +79,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 :;
@@ -95,12 +95,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
@@ -121,7 +121,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
@@ -136,7 +136,7 @@ dnl  Expand at autoconf time to the valu
 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[ 	]+],[]),
@@ -150,7 +150,7 @@ dnl  The gmp version number, extracted f
 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)])
@@ -1512,7 +1512,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
 ])
 
 
--- a/configure.in
+++ b/configure.in
@@ -29,12 +29,6 @@ AC_REVISION($Revision$)
 AC_PREREQ(2.59)
 AC_INIT(GNU MP, GMP_VERSION, [gmp-bugs@gmplib.org, see http://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)
 
 # If --target is not used then $target_alias is empty, but if say
 # "./configure athlon-pc-freebsd3.5" is used, then all three of
@@ -311,7 +305,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.
 #
@@ -403,7 +397,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"
@@ -1666,7 +1660,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
@@ -2073,7 +2067,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
 GMP_H_ANSI
 
@@ -2096,11 +2089,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
 
@@ -2206,7 +2199,7 @@ case $host in
 esac
 
 
-cat >&AC_FD_CC <<EOF
+cat >&AS_MESSAGE_LOG_FD() <<EOF
 Decided:
 ABI=$ABI
 CC=$CC
@@ -3465,7 +3458,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							\
   mpbsd/Makefile mpf/Makefile mpn/Makefile mpq/Makefile			\
   mpz/Makefile printf/Makefile scanf/Makefile cxx/Makefile		\
   tests/Makefile tests/devel/Makefile tests/mpbsd/Makefile		\
@@ -3474,4 +3467,5 @@ AC_OUTPUT(Makefile							\
   tests/cxx/Makefile							\
   doc/Makefile tune/Makefile						\
   demos/Makefile demos/calc/Makefile demos/expr/Makefile		\
-  gmp.h:gmp-h.in mp.h:mp-h.in)
+  gmp.h:gmp-h.in mp.h:mp-h.in])
+AC_OUTPUT
