]> code.delx.au - gnu-emacs/blobdiff - configure1.in
Use AC_QUOTE_SQUOTE twice to properly quote vpath_sed value.
[gnu-emacs] / configure1.in
index 84d95fb33b838ba427dbd3a0df70cf7ab1525e90..23cdd962141ced0418672fa5b2ea09c11b9cb14f 100755 (executable)
@@ -203,7 +203,6 @@ Set it to either \`yes' or \`no'."
             val=`eval echo '$'$index`
          fi
          x_includes="${val}"
-         C_SWITCH_X_SITE="-I${x_includes}"
         ;;
        "x_libraries" )
          ## If the value was omitted, get it from the next argument.
@@ -219,7 +218,6 @@ Set it to either \`yes' or \`no'."
             val=`eval echo '$'$index`
          fi
          x_libraries="${val}"
-         LD_SWITCH_X_SITE="-L${x_libraries}"
         ;;
 
        ## Should this use the "development configuration"?
@@ -262,9 +260,19 @@ Set it to either \`yes' or \`no'."
          exec_prefix="${val}"
         ;;
 
+       ## Verbose flag, tested by autoconf macros.
+       "verbose" )
+         verbose=yes
+       ;;
+
        ## Has the user asked for some help?
        "usage" | "help" )
-         echo "${short_usage}" | more
+         if [ "x$PAGER" = x ]
+         then
+           echo "${short_usage}" | more
+         else
+           echo "${short_usage}" | $PAGER
+         fi
          exit
        ;;
 
@@ -354,15 +362,22 @@ case "${srcdir}" in
   *  ) srcdir="`(cd ${srcdir}; pwd)`" ;;
 esac
 
-#### Make sure that the source directory doesn't already have a
-#### configured system in it.
+#### Check if the source directory already has a configured system in it.
 if [ `pwd` != `(cd ${srcdir} && pwd)` ] \
    && [ -f "${srcdir}/src/config.h" ] ; then
-  (echo "${progname}: the directory tree \`${srcdir}' is being used"
+  (echo "${progname}: WARNING: The directory tree \`${srcdir}' is being used"
    echo "   as a build directory right now; it has been configured in its own"
-   echo "   right.  You can't use srcdir in this situation.") >&2
-  exit 1
+   echo "   right.  To configure in another directory as well, you MUST"
+   echo "   use GNU make.  If you do not have GNU make, then you must"
+   echo "   now do \`make distclean' in ${srcdir},"
+   echo "   and then run ${progname} again.") >&2
+  # We need a multi-line sed script, which cannot go in a makefile.
+  vpath_sed='-f vpath.sed'
+else
+  # Do the normal substitution for VPATH.  This will not crash non-GNU make.
+  vpath_sed=]'AC_QUOTE_SQUOTE(AC_QUOTE_SQUOTE('-e '\''s|^\(VPATH *=\).*$$|\1 ='\''"${srcdir}/${subdir}|"'))'[
 fi
+] AC_SUBST(vpath_sed) [
 
 ### Make the necessary directories, if they don't exist.
 for dir in ./src ./lib-src ./cpp ./oldXMenu ./etc ; do
@@ -376,7 +391,7 @@ done
 
 ### Canonicalize the configuration name.
 echo "Checking the configuration name."
-if configuration=`${srcdir}/config.sub "${configuration}"` ; then : ; else
+if canonical=`${srcdir}/config.sub "${configuration}"` ; then : ; else
   exit $?
 fi
 
@@ -404,7 +419,7 @@ fi
 ### confusion between `system' and `release' levels'."
 
 machine='' opsys='' unported='false'
-case "${configuration}" in
+case "${canonical}" in
 
   ## Alliant machines
   ## Strictly speaking, we need the version of the alliant operating
@@ -444,8 +459,13 @@ case "${configuration}" in
     machine=7300 opsys=usg5-2-2
   ;;
 
+  ## Bull dpx2
+  m68*-bull-sysv3* )
+    machine=dpx2 opsys=usg5-3
+  ;;
+
   ## Bull sps7
-  m68*-bull-sysv* )
+  m68*-bull-sysv2* )
     machine=sps7 opsys=usg5-2
   ;;
 
@@ -489,7 +509,7 @@ case "${configuration}" in
   ;;
 
   ## DECstations
-  mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0 | mips-dec-bsd4.2 )
+  mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* )
     machine=pmax opsys=bsd4-2
   ;;
   mips-dec-ultrix* | mips-dec-bsd* )
@@ -503,6 +523,9 @@ case "${configuration}" in
   m68*-motorola-sysv* )
     machine=delta opsys=usg5-3
   ;;
+  m88k-motorola-sysv4* )
+    machine=delta88k opsys=usg5-4
+  ;;
   m88k-motorola-sysv* | m88k-motorola-m88kbcs* )
     machine=delta88k opsys=usg5-3
   ;;
@@ -528,10 +551,10 @@ case "${configuration}" in
   ## The GEC 93 - apparently, this port isn't really finished yet.
 
   ## Gould Power Node and NP1
-  pn-gould-bsd4.2 )
+  pn-gould-bsd4.2* )
     machine=gould opsys=bsd4-2
   ;;
-  pn-gould-bsd4.3 )
+  pn-gould-bsd4.3* )
     machine=gould opsys=bsd4-3
   ;;
   np1-gould-bsd* )
@@ -547,9 +570,19 @@ case "${configuration}" in
   m68*-hp-bsd* )
     machine=hp9000s300 opsys=bsd4-3
   ;;
-  ## HP/UX 8 doesn't run on these machines, so use HP/UX 7.
+  m68*-hp-netbsd* )
+    machine=hp9000s300 opsys=netbsd
+  ;;
+  ## HP/UX 7, 8 and 9 are supported on these machines.
   m68*-hp-hpux* )
-    machine=hp9000s300 opsys=hpux
+    case "`uname -r`" in
+      ## Someone's system reports A.B8.05 for this.
+      ## I wonder what other possibilities there are.
+      *.B8.* ) machine=hp9000s300 opsys=hpux8 ;;
+      *.08.* ) machine=hp9000s300 opsys=hpux8 ;;
+      *.09.* ) machine=hp9000s300 opsys=hpux9 ;;
+      *) machine=hp9000s300 opsys=hpux ;;
+    esac
   ;;
 
   ## HP 9000 series 700 and 800, running HP/UX
@@ -567,6 +600,9 @@ case "${configuration}" in
   hppa*-hp-hpux* )
     ## Cross-compilation?  Nah!
     case "`uname -r`" in
+      ## Someone's system reports A.B8.05 for this.
+      ## I wonder what other possibilities there are.
+      *.B8.* ) machine=hp9000s800 opsys=hpux8 ;;
       *.08.* ) machine=hp9000s800 opsys=hpux8 ;;
       *.09.* ) machine=hp9000s800 opsys=hpux9 ;;
       *) machine=hp9000s800 opsys=hpux ;;
@@ -582,28 +618,31 @@ case "${configuration}" in
   ;;
 
   ## IBM machines
-  i386-ibm-aix1.1 )
+  i386-ibm-aix1.1* )
     machine=ibmps2-aix opsys=usg5-2-2
   ;;
-  i386-ibm-aix1.[23] | i386-ibm-aix* )
+  i386-ibm-aix1.[23]* | i386-ibm-aix* )
     machine=ibmps2-aix opsys=usg5-3
   ;;
-  rs6000-ibm-aix3.1 )
+  i370-ibm-aix*)
+    machine=ibm370aix opsys=usg5-3
+  ;;
+  rs6000-ibm-aix3.1* )
     machine=ibmrs6000 opsys=aix3-1
   ;;
-  rs6000-ibm-aix3.2 | rs6000-ibm-aix* )
+  rs6000-ibm-aix3.2* | rs6000-ibm-aix* )
     machine=ibmrs6000 opsys=aix3-2
   ;;
-  romp-ibm-bsd4-3 )
+  romp-ibm-bsd4.3* )
     machine=ibmrt opsys=bsd4-3
   ;;   
-  romp-ibm-bsd4-2 )
+  romp-ibm-bsd4.2* )
     machine=ibmrt opsys=bsd4-2
   ;;
-  romp-ibm-aos4-3 )
+  romp-ibm-aos4.3* )
     machine=ibmrt opsys=bsd4-3
   ;;   
-  romp-ibm-aos4-2 )
+  romp-ibm-aos4.2* )
     machine=ibmrt opsys=bsd4-2
   ;;
   romp-ibm-aos* )
@@ -617,10 +656,10 @@ case "${configuration}" in
   ;;
 
   ## Integrated Solutions `Optimum V'
-  m68*-isi-bsd4.2 )
+  m68*-isi-bsd4.2* )
     machine=isi-ov opsys=bsd4-2
   ;;
-  m68*-isi-bsd4.3 )
+  m68*-isi-bsd4.3* )
     machine=isi-ov opsys=bsd4-3
   ;;
 
@@ -640,28 +679,31 @@ case "${configuration}" in
   ;;
 
   ## Intel 860
-  i860-*-sysvr4 )
+  i860-*-sysvr4* )
     machine=i860 opsys=usg5-4
   ;;
 
   ## Silicon Graphics machines
   ## Iris 2500 and Iris 2500 Turbo (aka the Iris 3030)
-  m68*-sgi-iris3.5 )
+  m68*-sgi-iris3.5* )
     machine=irist opsys=iris3-5
   ;;
-  m68*-sgi-iris3.6 | m68*-sgi-iris*)
+  m68*-sgi-iris3.6* | m68*-sgi-iris*)
     machine=irist opsys=iris3-6
   ;;
   ## Iris 4D
   mips-sgi-irix3.* )
     machine=iris4d opsys=irix3-3
   ;;
+  mips-sgi-irix5.* )
+    machine=iris4d opsys=irix5-0
+  ;;
   mips-sgi-irix4.* | mips-sgi-irix* )
     machine=iris4d opsys=irix4-0
   ;;
 
   ## Masscomp machines
-  m68*-masscomp-rtu )
+  m68*-masscomp-rtu* )
     machine=masscomp opsys=rtu
   ;;
 
@@ -736,18 +778,21 @@ case "${configuration}" in
   ;;
 
   ## Sequent Balance
-  ns32k-sequent-bsd4.2 )
+  ns32k-sequent-bsd4.2* )
     machine=sequent opsys=bsd4-2
   ;;
-  ns32k-sequent-bsd4.3 )
+  ns32k-sequent-bsd4.3* )
     machine=sequent opsys=bsd4-3
   ;;
 
   ## SONY machines
-  m68*-sony-bsd4.2 )
+  m68*-sony-bsd4.2* )
     machine=news opsys=bsd4-2
   ;;
-  m68*-sony-bsd4.3 )
+  m68*-sony-bsd4.3* )
+    machine=news opsys=bsd4-3
+  ;;
+  m68*-sony-newsos3*)
     machine=news opsys=bsd4-3
   ;;
   mips-sony-bsd* )
@@ -761,7 +806,7 @@ case "${configuration}" in
 
   ## Suns
   *-sun-sunos* | *-sun-bsd* | *-sun-solaris* )
-    case "${configuration}" in
+    case "${canonical}" in
       m68*-sunos1* )   machine=sun1 ;;
       m68*-sunos2* )   machine=sun2 ;;
       m68* )           machine=sun3 ;;
@@ -769,7 +814,9 @@ case "${configuration}" in
       sparc* )         machine=sparc ;;
       * )              unported=true ;;
     esac
-    case "${configuration}" in
+    case "${canonical}" in
+      ## The Sun386 didn't get past 4.0.
+      i386-*-sunos4      ) opsys=sunos4-0 ;;
       *-sunos4.0*        ) opsys=sunos4-0 ;;
       *-sunos4.1.3*      ) opsys=sunos4-1-3 ;;
       *-sunos4* | *-sunos ) opsys=sunos4-1 ;;
@@ -784,10 +831,10 @@ case "${configuration}" in
   ;;
 
   ## Tahoe machines
-  tahoe-tahoe-bsd4.2 )
+  tahoe-tahoe-bsd4.2* )
     machine=tahoe opsys=bsd4-2
   ;;
-  tahoe-tahoe-bsd4.3 )
+  tahoe-tahoe-bsd4.3* )
     machine=tahoe opsys=bsd4-3
   ;;
 
@@ -797,8 +844,8 @@ case "${configuration}" in
   ;;
 
   ## Tektronix XD88
-  m88k-tektronix-sysv3 )
-  machine=tekXD88 opsys=usg5-3
+  m88k-tektronix-sysv3* )
+  machine=tekxd88 opsys=usg5-3
   ;;
 
   ## Tektronix 16000 box (6130?)
@@ -808,7 +855,7 @@ case "${configuration}" in
   ## Tektronix 4300
   ## src/m/tek4300.h hints that this is a m68k machine.
   m68*-tektronix-bsd* )
-    machine=tex4300 opsys=bsd4-3
+    machine=tek4300 opsys=bsd4-3
   ;;
 
   ## Titan P2 or P3
@@ -825,11 +872,11 @@ case "${configuration}" in
   ## Vaxen.
   vax-dec-* )
     machine=vax
-    case "${configuration}" in
-      *-bsd4.1 )                                       opsys=bsd4-1 ;;
-      *-bsd4.2 | *-ultrix[0-3].* | *-ultrix4.0 )       opsys=bsd4-2 ;;
-      *-bsd4.3 | *-ultrix* )                           opsys=bsd4-3 ;;
-      *-bsd386 )                                       opsys=bsd386 ;;
+    case "${canonical}" in
+      *-bsd4.1* )                                      opsys=bsd4-1 ;;
+      *-bsd4.2* | *-ultrix[0-3].* | *-ultrix4.0* )     opsys=bsd4-2 ;;
+      *-bsd4.3* | *-ultrix* )                          opsys=bsd4-3 ;;
+      *-bsd386* )                                      opsys=bsd386 ;;
       *-sysv[01]* | *-sysvr[01]* )                     opsys=usg5-0 ;;
       *-sysv2* | *-sysvr2* )                           opsys=usg5-2 ;;
       *-vms* )                                                 opsys=vms ;;
@@ -852,9 +899,9 @@ case "${configuration}" in
   ## Intel 386 machines where we don't care about the manufacturer
   i[34]86-*-* )
     machine=intel386
-    case "${configuration}" in
+    case "${canonical}" in
       *-isc1.* | *-isc2.[01]* )        opsys=386-ix ;;
-      *-isc2.2 )               opsys=isc2-2 ;;
+      *-isc2.2* )              opsys=isc2-2 ;;
       *-isc* )                 opsys=isc3-0 ;;
       *-esix5* )               opsys=esix5r4 ;;
       *-esix* )                        opsys=esix ;;
@@ -862,7 +909,8 @@ case "${configuration}" in
       *-linux* )               opsys=linux ;;
       *-sco3.2v4* )            opsys=sco4 ;;
       *-bsd386* )              opsys=bsd386 ;;
-      *-386bsd )               opsys=386bsd ;;
+      *-386bsd* )              opsys=386bsd ;;
+      *-netbsd* )              opsys=netbsd ;;
       ## Otherwise, we'll fall through to the generic opsys code at the bottom.
     esac
   ;;
@@ -879,7 +927,7 @@ esac
 ### runs, it's cleaner to make it explicit in the case statement
 ### above.
 if [ x"${opsys}" = x ]; then
-  case "${configuration}" in
+  case "${canonical}" in
     *-bsd4.[01] )      opsys=bsd4-1 ;;
     *-bsd4.2 )         opsys=bsd4-2 ;;
     *-bsd4.3 )         opsys=bsd4-3 ;;
@@ -896,7 +944,7 @@ if [ x"${opsys}" = x ]; then
 fi
 
 if $unported ; then
-  (echo "${progname}: Emacs hasn't been ported to \`${configuration}' systems."
+  (echo "${progname}: Emacs hasn't been ported to \`${canonical}' systems."
    echo "${progname}: Check \`etc/MACHINES' for recognized configuration names."
   ) >&2
   exit 1
@@ -935,16 +983,9 @@ AC_HAVE_HEADERS(sys/timeb.h sys/time.h)
 AC_STDC_HEADERS
 AC_TIME_WITH_SYS_TIME
 
-dnl checks for library files
-AC_HAVE_LIBRARY(-ldnet)
-
 dnl checks for typedefs
 AC_RETSIGTYPE
 
-dnl checks for functions
-AC_ALLOCA
-AC_HAVE_FUNCS(gettimeofday gethostname dup2 rename)
-
 dnl checks for structure members
 AC_STRUCT_TM
 AC_TIMEZONE
@@ -984,21 +1025,46 @@ esac
 case "${window_system}" in
   "none" | "x11" | "x10" ) ;;
   "" )
-    echo "  No window system specified.  Looking for X11."
-    window_system=none
-    if [ -r /usr/lib/libX11.a \
+    # --x-includes or --x-libraries implies --with-x11.
+    if [ -n "${x_includes}" ] || [ -n "${x_libraries}" ]; then
+      window_system=x11
+    else
+      echo "  No window system specified.  Looking for X11."
+      # If the user didn't specify a window system and we found X11, use it.
+      if [ -r /usr/lib/libX11.a \
         -o -d /usr/include/X11 \
          -o -d /usr/X386/include \
         -o -d ${x_includes}/X11 ]; then
-      window_system=x11
+        window_system=x11
+      fi
     fi
   ;;
   * )
-    echo "Don't specify the window system more than once." >&2
+    echo "Don't specify a window system more than once." >&2
     exit 1
   ;;
 esac
 
+case "${window_system}" in
+  "" | "x11" )
+    ### If the user hasn't specified where we should find X, try
+    ### letting autoconf figure that out.
+    if [ -z "${x_includes}" ] && [ -z "${x_libraries}" ]; then
+      ]
+      AC_FIND_X
+      [
+    fi
+    if [ -n "${x_includes}" ] || [ -n "${x_libraries}" ]; then
+      window_system=x11
+    fi
+  ;;
+esac
+
+[ -z "${window_system}" ] && window_system=none
+
+[ -n "${x_libraries}" ] && LD_SWITCH_X_SITE="-L${x_libraries}"
+[ -n "${x_includes}" ] && C_SWITCH_X_SITE="-I${x_includes}"
+
 case "${window_system}" in
   x11 )
     HAVE_X_WINDOWS=yes
@@ -1025,26 +1091,6 @@ case ${HAVE_X11} in
   ;;
 esac
 
-### Check for XFree386.  It needs special hacks.
-lib_havexbsd=no
-]
-AC_HAVE_LIBRARY( Xbsd , have_libxbsd=yes , have_libxbsd=no )
-[
-if [ -n "${x_libraries}" ] && [ -f ${x_libraries}/libXbsd.a ]; then
-  have_libxbsd=yes
-fi
-
-case ${window_system} in
-  x11 )
-    if [ -d /usr/X386/include ] && [ "${have_libxbsd}" = "yes" ]; then
-      HAVE_XFREE386=yes
-      if [ "${C_SWITCH_X_SITE}" = "" ]; then
-       C_SWITCH_X_SITE="-I/usr/X386/include"
-      fi
-    fi
-  ;;
-esac
-
 #### Extract some information from the operating system and machine files.
 
 echo "Examining the machine- and system-dependent files to find out"
@@ -1068,19 +1114,32 @@ echo '
 #ifndef C_SWITCH_SYSTEM
 #define C_SWITCH_SYSTEM
 #endif
-@configure@ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
-@configure@ c_switch_system=C_SWITCH_SYSTEM
+configure___ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
+configure___ c_switch_system=C_SWITCH_SYSTEM
+
+#ifndef LIB_X11_LIB
+#define LIB_X11_LIB -lX11
+#endif
+
+#ifndef LIBX11_MACHINE
+#define LIBX11_MACHINE
+#endif
+
+#ifndef LIBX11_SYSTEM
+#define LIBX11_SYSTEM
+#endif
+configure___ LIBX=LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM
 
 #ifdef UNEXEC
-@configure@ unexec=UNEXEC
+configure___ unexec=UNEXEC
 #else
-@configure@ unexec=unexec.o
+configure___ unexec=unexec.o
 #endif
 
 #ifdef SYSTEM_MALLOC
-@configure@ system_malloc=yes
+configure___ system_malloc=yes
 #else
-@configure@ system_malloc=no
+configure___ system_malloc=no
 #endif
 
 #ifndef C_DEBUG_SWITCH
@@ -1092,17 +1151,17 @@ echo '
 #endif
 
 #ifdef __GNUC__
-@configure@ CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH
+configure___ CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH
 #else
-@configure@ CFLAGS=C_DEBUG_SWITCH
+configure___ CFLAGS=C_DEBUG_SWITCH
 #endif
 ' > ${tempcname}
 # The value of CPP is a quoted variable reference, so we need to do this
 # to get its actual value...
-foo=`eval "echo $CPP"`
-eval `${foo} -Isrc ${tempcname} \
-       | grep '@configure@' \
-       | sed -e 's/^@configure@ \([^=]*=\)\(.*\)$/\1"\2"/'`
+CPP=`eval "echo $CPP"`
+eval `${CPP} -Isrc ${tempcname} \
+       | grep 'configure___' \
+       | sed -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/'`
 rm ${tempcname}
 
 ### Compute the unexec source name from the object name.
@@ -1124,23 +1183,48 @@ fi
 LISP_FLOAT_TYPE=yes
 
 
-#### Add the X libraries to the list, and check for some functions found there.
-CFLAGS_save="$CFLAGS"
-CFLAGS="${CFLAGS} ${LD_SWITCH_X_SITE}"
+#### Add the libraries to LIBS and check for some functions.
+
 ]
-AC_HAVE_LIBRARY(-lXbsd)
-[
-LIBS_save="$LIBS"
-if [ "${HAVE_X11}" = "yes" ] ; then
-  LIBS="-lX11 ${LIBS}"
+DEFS="$c_switch_system $DEFS"
+LIBS="$libsrc_libs"
+
+dnl If found, this defines HAVE_LIBDNET, which m/pmax.h checks,
+dnl and also adds -ldnet to LIBS, which Autoconf uses for checks.
+AC_HAVE_LIBRARY(-ldnet)
+
+AC_HAVE_LIBRARY(-lXbsd, LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE -lXbsd")
+
+echo checking for XFree86
+if test -d /usr/X386/include; then
+  HAVE_XFREE386=yes
+  test -z "${C_SWITCH_X_SITE}" && C_SWITCH_X_SITE="-I/usr/X386/include"
 fi
-]
-AC_HAVE_FUNCS(XrmSetDatabase random)
-[
-CFLAGS="$CFLAGS_save"
-LIBS="$LIBS_save"
 
+if test "${HAVE_X11}" = "yes"; then
+  DEFS="$C_SWITCH_X_SITE $DEFS"
+  LIBS="$LD_SWITCH_X_SITE $LIBX $LIBS"
+  AC_HAVE_FUNCS(XrmSetDatabase XScreenResourceString XScreenNumberOfScreen)
+fi
+
+AC_ALLOCA
+
+# logb and frexp are found in -lm on most systems.
+AC_HAVE_LIBRARY(-lm)
+AC_HAVE_FUNCS(gettimeofday gethostname dup2 rename closedir mkdir rmdir random bcopy logb frexp ftime res_init)
 
+ok_so_far=true
+AC_FUNC_CHECK(socket, , ok_so_far=)
+if test -n "$ok_so_far"; then
+  AC_HEADER_CHECK(netinet/in.h, , ok_so_far=)
+fi
+if test -n "$ok_so_far"; then
+  AC_HEADER_CHECK(arpa/inet.h, , ok_so_far=)
+fi
+if test -n "$ok_so_far"; then
+  AC_DEFINE(HAVE_INET_SOCKETS)
+fi
+[
 #### Find out which version of Emacs this is.
 version=`grep 'defconst[        ]*emacs-version' ${srcdir}/lisp/version.el \
         | sed -e 's/^.*"\([0-9][0-9]*\.[0-9][0-9]*\)\..*$/\1/'`
@@ -1150,8 +1234,15 @@ if [ x"${version}" = x ]; then
   exit 1
 fi
 
+if [ -f /usr/lpp/X11/bin/smt.exp ]; then
+  ]
+  AC_DEFINE(HAVE_AIX_SMT_EXP)
+  [
+fi
+
 
 #### Specify what sort of things we'll be editing into Makefile and config.h.
+### Use configuration here uncanonicalized to avoid exceeding size limits.
 ]
 AC_SUBST(configuration)
 AC_SUBST(version)
@@ -1199,7 +1290,7 @@ fi
 #### Report on what we decided to do.
 echo "
 
-Configured for \`${configuration}'.
+Configured for \`${canonical}'.
 
   Where should the build process find the source code?    ${srcdir}
   What operating system and machine description files should Emacs use?
@@ -1212,5 +1303,11 @@ Configured for \`${configuration}'.
   Where do we find X Windows libraries?                   }${x_libraries}
 
 "
+
+# Remove any trailing slashes in these variables.
+test -n "${prefix}" &&
+  prefix=`echo "${prefix}" | sed 's,\([^/]\)/*$,\1,'`
+test -n "${exec_prefix}" &&
+  exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'`
 ]
 AC_OUTPUT(Makefile)