]> code.delx.au - gnu-emacs/blobdiff - configure1.in
(electric-history-map): Don't use fillarray;
[gnu-emacs] / configure1.in
index 4ea389dd67589516dd6023e4fc845f3340790213..cec0333b99b3db919e8c2e76ba8b26d59bae325a 100755 (executable)
@@ -1,10 +1,22 @@
-[
-### The above line is deliberately left blank.  If it starts with a #,
-### some CSH's will think this is a csh script.
-
+dnl This is an autoconf script.
+dnl To rebuild the `configure' script from this, execute the command
+dnl    autoconf
+dnl in the directory containing this script.  You must have autoconf
+dnl version 1.4 or later.
+dnl
+dnl The following text appears in the resulting `configure' script,
+dnl explaining how to rebuild it.
+[#!/bin/sh
 #### Configuration script for GNU Emacs
 #### Copyright (C) 1992 Free Software Foundation, Inc.
 
+### Don't edit this script!
+### This script was automatically generated by the `autoconf' program
+### from the file `./configure.in'.
+### To rebuild it, execute the command
+###    autoconf
+### in the this directory.  You must have autoconf version 1.4 or later.
+
 ### This file is part of GNU Emacs.
 
 ### GNU Emacs is free software; you can redistribute it and/or modify
 
 ### Since Emacs has configuration requirements that autoconf can't
 ### meet, this file is an unholy marriage of custom-baked
-### configuration code and autoconf macros.  New versions of autoconf
-### could very well break this arrangement.
-###
-### We omit the invocation of autoconf's initialization function,
-### because it produces Bourne shell code to parse arguments, but we
-### need to parse our own arguments.
+### configuration code and autoconf macros.
 ###
 ### We use the m4 quoting characters [ ] (as established by the
 ### autoconf system) to include large sections of raw sewage - Oops, I
@@ -59,50 +66,20 @@ progname="`echo $0 | sed 's:^\./\./:\./:'`"
 
 #### Usage messages.
 
-short_usage="Type \`${progname} --usage' for more information about options."
-
-long_usage="Usage: ${progname} CONFIGURATION [-OPTION[=VALUE] ...]
+short_usage="Usage: ${progname} CONFIGURATION [-OPTION[=VALUE] ...]
 
 Set compilation and installation parameters for GNU Emacs, and report.
 CONFIGURATION specifies the machine and operating system to build for.
-For example:
-        ${progname} sparc-sun-sunos4.1
-configures Emacs to build on a Sun Sparc machine running SunOS 4.1, and 
-        ${progname} decstation
-configures Emacs to run on a DECstation running Ultrix.  See \`etc/MACHINES'.
-
-The --with-x, --with-x11 and --with-x10 options specify what window
-       system to use; if all are omitted, use X11 if present.  If you
-       don't want X, specify \`--with-x=no'.
-
-The --x-includes=DIR option tells the build process where to search
-       for the X Windows header files.  DIR should have a
-       subdirectory called \`X11' which contains \`X.h', \`Xlib.h', and
-       the rest of the header files; DIR should not contain \`X11'
-       itself.  If this option is omitted, the build process assumes
-       they exist in a directory the compiler checks by default.
-
-The --x-libraries=DIR option tells the build process where to look for
-       the X windows libraries.  If this option is omitted, the build
-       process assumes they are in a directory the compiler checks by
-       default.
-
-The --with-gcc option says that the build process should use GCC to
-       compile Emacs.  If you have GCC but don't want to use it,
-       specify \`--with-gcc=no'.  \`configure' tries to guess whether
-       or not you have GCC by searching your executable path, but if
-       it guesses incorrectly, you may need to use this.
-
-The --run-in-place option sets up default values for the path
-       variables in \`./Makefile' so that Emacs will expect to find
-       its data files (lisp libraries, runnable programs, and the
-       like) in the same locations they occupy while Emacs builds.
-       This means that you don't have to install Emacs in order to
-       run it; it uses its data files as they were unpacked.
-
-The --srcdir=DIR option specifies that the configuration and build
-       processes should look for the Emacs source code in DIR, when
-       DIR is not the current directory.  This option doesn't work yet.
+--with-x               Support the X Window System.
+--with-x=no            Don't support X.
+--x-includes=DIR       Search for X header files in DIR.
+--x-libraries=DIR      Search for X libraries in DIR.
+--with-gcc             Use GCC to compile Emacs.
+--with-gcc=no          Don't use GCC to compile Emacs.
+--run-in-place         Use libraries and data files directly out of the 
+                       source tree.
+--srcdir=DIR           Look for source in DIR.
+--prefix=DIR           Install files below dir.
 
 If successful, ${progname} leaves its status in config.status.  If
 unsuccessful after disturbing the status quo, it removes config.status."
@@ -119,8 +96,17 @@ arguments="$@"
 rip_paths='#disabled# '
 inst_paths=''
 
-while [ $# != 0 ]; do
-  arg="$1"
+### Establish some default values.
+prefix='/usr/local'
+exec_prefix='${prefix}'
+
+### Don't use shift -- that destroys the argument list, which autoconf needs
+### to produce config.status.  It turns out that "set - ${arguments}" doesn't
+### work portably.
+index=0
+while [ $index -lt $# ]; do
+  index=`expr $index + 1`
+  arg=`eval echo '$'$index`
   case "${arg}" in
 
     ## Anything starting with a hyphen we assume is an option.
@@ -167,7 +153,7 @@ Set it to either \`yes' or \`no'."
         ;;
 
        ## Has the user specified whether or not they want GCC?
-       "with_gcc" )
+       "with_gcc" | "with_gnu_cc" )
          ## Make sure the value given was either "yes" or "no".
          case "${val}" in
            y | ye | yes )      val=yes ;;
@@ -187,17 +173,16 @@ Set it to either \`yes' or \`no'."
          ## If the value was omitted, get it from the next argument.
          if [ "${valomitted}" = "yes" ]; then
            ## Get the next argument from the argument list, if there is one.
-            if [ $# = 1 ]; then
+            if [ $index = $# ]; then
              (echo "${progname}: You must give a value for the \`--${optname}' option, as in
     \`--${optname}=FOO'."
               echo "${short_usage}") >&2
              exit 1
            fi
-           shift; val="$1"
+            index=`expr $index + 1`
+            val=`eval echo '$'$index`
          fi
           srcdir="${val}"
-
-         echo "${progname}: Beware - the \`--srcdir' option doesn't work yet." >&2
        ;;
 
        ## Has the user tried to tell us where the X files are?
@@ -208,13 +193,14 @@ Set it to either \`yes' or \`no'."
          ## If the value was omitted, get it from the next argument.
          if [ "${valomitted}" = "yes" ]; then
            ## Get the next argument from the argument list, if there is one.
-            if [ $# = 1 ]; then
+            if [ $index = $# ]; then
              (echo "${progname}: You must give a value for the \`--${optname}' option, as in
     \`--${optname}=FOO'."
               echo "${short_usage}") >&2
              exit 1
            fi
-           shift; val="$1"
+            index=`expr $index + 1`
+            val=`eval echo '$'$index`
          fi
          x_includes="${val}"
          C_SWITCH_X_SITE="-I${x_includes}"
@@ -223,13 +209,14 @@ Set it to either \`yes' or \`no'."
          ## If the value was omitted, get it from the next argument.
          if [ "${valomitted}" = "yes" ]; then
            ## Get the next argument from the argument list, if there is one.
-            if [ $# = 1 ]; then
+            if [ $index = $# ]; then
              (echo "${progname}: You must give a value for the \`--${optname}' option, as in
     \`--${optname}=FOO'."
               echo "${short_usage}") >&2
              exit 1
            fi
-           shift; val="$1"
+            index=`expr $index + 1`
+            val=`eval echo '$'$index`
          fi
          x_libraries="${val}"
          LD_SWITCH_X_SITE="-L${x_libraries}"
@@ -241,9 +228,43 @@ Set it to either \`yes' or \`no'."
          inst_paths='#disabled# '
        ;;
 
+       ## Has the user specified an installation prefix?
+       "prefix" )
+         ## If the value was omitted, get it from the next argument.
+         if [ "${valomitted}" = "yes" ]; then
+           ## Get the next argument from the argument list, if there is one.
+            if [ $index = $# ]; then
+             (echo "${progname}: You must give a value for the \`--${optname}' option, as in
+    \`--${optname}=FOO'."
+              echo "${short_usage}") >&2
+             exit 1
+           fi
+            index=`expr $index + 1`
+            val=`eval echo '$'$index`
+         fi
+         prefix="${val}"
+        ;;
+
+       ## Has the user specified an installation prefix?
+       "exec_prefix" )
+         ## If the value was omitted, get it from the next argument.
+         if [ "${valomitted}" = "yes" ]; then
+           ## Get the next argument from the argument list, if there is one.
+            if [ $index = $# ]; then
+             (echo "${progname}: You must give a value for the \`--${optname}' option, as in
+    \`--${optname}=FOO'."
+              echo "${short_usage}") >&2
+             exit 1
+           fi
+            index=`expr $index + 1`
+            val=`eval echo '$'$index`
+         fi
+         exec_prefix="${val}"
+        ;;
+
        ## Has the user asked for some help?
        "usage" | "help" )
-         echo "${long_usage}" | more
+         echo "${short_usage}" | more
          exit
        ;;
 
@@ -258,35 +279,45 @@ Set it to either \`yes' or \`no'."
     ;;
 
   esac
-  shift
 done
 
 if [ "${configuration}" = "" ]; then
-  (echo "${progname}: You must specify a configuration name as an argument."
-   echo "${short_usage}") >&2
-  exit 1
+  echo '- You did not tell me what kind of host system you want to configure.
+- I will attempt to guess the kind of system this is.' 1>&2
+  guesssys=`echo ${progname} | sed 's/configure$/config.guess/'`
+  if configuration=`${guesssys}` ; then
+    echo "- Looks like this is a ${configuration}" 1>&2
+  else
+    echo '- Failed to guess the system type.  You need to tell me.' 1>&2
+    echo "${short_usage}" >&2
+    exit 1
+  fi
 fi
 
-
 #### Decide where the source is.
 case "${srcdir}" in
 
   ## If it's not specified, see if  `.' or `..' might work.
   "" )
-    if [ -f "./src/lisp.h" -a -f "./lisp/version.el" ]; then
-      srcdir=`pwd`
+    confdir=`echo $0 | sed 's|//|/|' | sed 's|/[^/]*$||'`
+    if [ -f $confdir/src/lisp.h -a -f $confdir/lisp/version.el ]; then
+      srcdir="${confdir}"
     else
-      if [ -f "../src/lisp.h" -a -f "../lisp/version.el" ]; then
-       srcdir=`(cd .. ; pwd)`
+      if [ -f "./src/lisp.h" -a -f "./lisp/version.el" ]; then
+        srcdir='.'
       else
-       (echo "\
+        if [ -f "../src/lisp.h" -a -f "../lisp/version.el" ]; then
+         srcdir='..'
+        else
+         (echo "\
 ${progname}: Neither the current directory nor its parent seem to
 contain the Emacs sources.  If you do not want to build Emacs in its
 source tree, you should run \`${progname}' in the directory in which
 you wish to build Emacs, using its \`--srcdir' option to say where the
 sources may be found."
-        echo "${short_usage}") >&2
-       exit 1
+           echo "${short_usage}") >&2
+         exit 1
+        fi
       fi
     fi
   ;;
@@ -304,9 +335,35 @@ are."
       exit 1
     fi
   ;;
+esac
 
+#### Make srcdir absolute, if it isn't already.  It's important to
+#### avoid running the path through pwd unnecessary, since pwd can
+#### give you automounter prefixes, which can go away.
+case "${srcdir}" in
+  /* ) ;;
+  . )
+    ## We may be able to use the $PWD environment variable to make this
+    ## absolute.  But sometimes PWD is inaccurate.
+    if [ "${PWD}" != "" ] && [ "`(cd ${PWD} ; pwd)`" = "`pwd`" ] ; then
+      srcdir="$PWD"
+    else
+      srcdir="`(cd ${srcdir}; pwd)`"
+    fi
+  ;;
+  *  ) srcdir="`(cd ${srcdir}; pwd)`" ;;
 esac
 
+#### Make sure that the source directory doesn't already have 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 "   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
+fi
+
 ### Make the necessary directories, if they don't exist.
 if [ ! -d ./src ]; then
   mkdir ./src
@@ -320,7 +377,9 @@ fi
 if [ ! -d ./oldXMenu ]; then
   mkdir ./oldXMenu
 fi
-
+if [ ! -d ./etc ]; then
+  mkdir ./etc
+fi
 
 #### Given the configuration name, set machfile and opsysfile to the
 #### names of the m/*.h and s/*.h files we should use.
@@ -434,6 +493,11 @@ case "${configuration}" in
     machine=cydra5 opsys=usg5-3
   ;;
 
+  ## Data General AViiON Machines
+  m88k-dg-dgux* )
+    machine=aviion opsys=dgux
+  ;;
+
   ## DECstations
   mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0 | mips-dec-bsd4.2 )
     machine=pmax opsys=bsd4-2
@@ -498,10 +562,26 @@ case "${configuration}" in
     machine=hp9000s300 opsys=hpux
   ;;
 
-  ## HP 9000 series 800, running HP/UX
-  hppa1.0-hp-hpux* )
+  ## HP 9000 series 700 and 800, running HP/UX
+  hppa*-hp-hpux7* )
     machine=hp9000s800 opsys=hpux
   ;;
+  hppa*-hp-hpux8* )
+    machine=hp9000s800 opsys=hpux8
+  ;;
+  hppa*-hp-hpux9* )
+    machine=hp9000s800 opsys=hpux9
+  ;;
+
+  ## HP 9000 series 700 and 800, running HP/UX
+  hppa*-hp-hpux* )
+    ## Cross-compilation?  Nah!
+    case "`uname -r`" in
+      *.08.* ) machine=hp9000s800 opsys=hpux8 ;;
+      *.09.* ) machine=hp9000s800 opsys=hpux9 ;;
+      *) machine=hp9000s800 opsys=hpux ;;
+    esac
+  ;;
 
   ## Orion machines
   orion-orion-bsd* )
@@ -515,7 +595,7 @@ case "${configuration}" in
   i386-ibm-aix1.1 )
     machine=ibmps2-aix opsys=usg5-2-2
   ;;
-  i386-ibm-aix1.2 )
+  i386-ibm-aix1.[23] | i386-ibm-aix* )
     machine=ibmps2-aix opsys=usg5-3
   ;;
   rs6000-ibm-aix3.1 )
@@ -524,9 +604,24 @@ case "${configuration}" in
   rs6000-ibm-aix3.2 | rs6000-ibm-aix* )
     machine=ibmrs6000 opsys=aix3-2
   ;;
-  romp-ibm-bsd* )
+  romp-ibm-bsd4-3 )
+    machine=ibmrt opsys=bsd4-3
+  ;;   
+  romp-ibm-bsd4-2 )
     machine=ibmrt opsys=bsd4-2
   ;;
+  romp-ibm-aos4-3 )
+    machine=ibmrt opsys=bsd4-3
+  ;;   
+  romp-ibm-aos4-2 )
+    machine=ibmrt opsys=bsd4-2
+  ;;
+  romp-ibm-aos* )
+    machine=ibmrt opsys=bsd4-3
+  ;;
+  romp-ibm-bsd* )
+    machine=ibmrt opsys=bsd4-3
+  ;;
   romp-ibm-aix* )
     machine=ibmrt-aix opsys=usg5-2-2
   ;;
@@ -543,20 +638,40 @@ case "${configuration}" in
   i[34]86-intsys-sysv* )
     machine=is386 opsys=usg5-2-2
   ;;
+
+  ## Prime EXL
+  i386-prime-sysv* )
+    machine=i386 opsys=usg5-3
+  ;;
+
+  ## Sequent Symmetry
+  i386-sequent-bsd* )
+    machine=symmetry opsys=bsd4-3
+  ;;
+
   ## Intel 386 machines where we don't care about the manufacturer
-  i[34]86-* )
+  i[34]86-*-* )
     machine=intel386
     case "${configuration}" in
       *-isc1.* | *-isc2.[01]* )        opsys=386-ix ;;
       *-isc2.2 )               opsys=isc2-2 ;;
       *-isc* )                 opsys=isc3-0 ;;
+      *-esix5* )               opsys=esix5r4 ;;
       *-esix* )                        opsys=esix ;;
       *-xenix* )               opsys=xenix ;;
+      *-linux* )               opsys=linux ;;
       *-sco3.2v4* )            opsys=sco4 ;;
+      *-bsd386* )              opsys=bsd386 ;;
+      *-386bsd )               opsys=386bsd ;;
       ## Otherwise, we'll fall through to the generic opsys code at the bottom.
     esac
   ;;
 
+  ## Intel 860
+  i860-*-sysvr4 )
+    machine=i860 opsys=usg5-4
+  ;;
+
   ## Silicon Graphics machines
   ## Iris 2500 and Iris 2500 Turbo (aka the Iris 3030)
   m68*-sgi-iris3.5 )
@@ -594,8 +709,12 @@ case "${configuration}" in
   ## the BSD world."  I'll assume that these are instructions for
   ## handling two odd situations, and that every other situation
   ## should use mips.h and usg5-2-2, they being listed first.
+  mips-mips-usg* )
+    machine=mips4
+    ## Fall through to the general code at the bottom to decide on the OS.
+  ;;
   mips-mips-riscos4* )
-    machine=mips4 opsys=usg5-2-2
+    machine=mips4 opsys=bsd4-3
   ;;
   mips-mips-bsd* )
     machine=mips opsys=bsd4-3
@@ -637,11 +756,6 @@ case "${configuration}" in
     machine=plexus opsys=usg5-2
   ;;
 
-  ## Prime EXL
-  i386-prime-sysv* )
-    machine=i386 opsys=usg5-3
-  ;;
-
   ## Pyramid machines
   ## I don't really have any idea what sort of processor the Pyramid has,
   ## so I'm assuming it is its own architecture.
@@ -656,10 +770,6 @@ case "${configuration}" in
   ns32k-sequent-bsd4.3 )
     machine=sequent opsys=bsd4-3
   ;;
-  ## Sequent Symmetry
-  i386-sequent-bsd* )
-    machine=symmetry opsys=bsd4-3
-  ;;
 
   ## SONY machines
   m68*-sony-bsd4.2 )
@@ -678,7 +788,7 @@ case "${configuration}" in
   ;;
 
   ## Suns
-  *-sun-sunos* | *-sun-bsd* )
+  *-sun-sunos* | *-sun-bsd* | *-sun-solaris* )
     case "${configuration}" in
       m68*-sunos1* )   machine=sun1 ;;
       m68*-sunos2* )   machine=sun2 ;;
@@ -689,7 +799,9 @@ case "${configuration}" in
     esac
     case "${configuration}" in
       *-sunos4.0*        ) opsys=sunos4-0 ;;
+      *-sunos4.1.3*      ) opsys=sunos4-1-3 ;;
       *-sunos4* | *-sunos ) opsys=sunos4-1 ;;
+      *-sunos5* | *-solaris* ) opsys=sol2 ;;
       *                          ) opsys=bsd4-2   ;;
     esac
   ;;
@@ -712,6 +824,11 @@ case "${configuration}" in
     machine=tandem-s2 opsys=usg5-3
   ;;
 
+  ## Tektronix XD88
+  m88k-tektronix-sysv3 )
+  machine=tekXD88 opsys=usg5-3
+  ;;
+
   ## Tektronix 16000 box (6130?)
   ns16k-tektronix-bsd* )
     machine=ns16000 opsys=bsd4-2
@@ -740,6 +857,7 @@ 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 ;;
       *-sysv[01]* | *-sysvr[01]* )                     opsys=usg5-0 ;;
       *-sysv2* | *-sysvr2* )                           opsys=usg5-2 ;;
       *-vms* )                                                 opsys=vms ;;
@@ -770,7 +888,7 @@ esac
 ### operating system is; if you know what operating systems a machine
 ### runs, it's cleaner to make it explicit in the case statement
 ### above.
-if [ ! "${opsys}" ]; then
+if [ x"${opsys}" = x ]; then
   case "${configuration}" in
     *-bsd4.[01] )      opsys=bsd4-1 ;;
     *-bsd4.2 )         opsys=bsd4-2 ;;
@@ -780,6 +898,7 @@ if [ ! "${opsys}" ]; then
     *-sysv2.2 | *-sysvr2.2 )           opsys=usg5-2-2 ;;
     *-sysv3 | *-sysvr3 )               opsys=usg5-3 ;;
     *-sysv4 | *-sysvr4 )               opsys=usg5-4 ;;
+    *-sysv4.2 | *-sysvr4.2 )           opsys=usg5-4-2 ;;
     * )
       unported=true
     ;;
@@ -809,21 +928,44 @@ case ${with_gcc} in
     ] AC_PROG_CC [
 esac
 
-CFLAGS='-g'
-if test -n "${GCC}"; then
-  CFLAGS='-g -O'
-fi
-
-#### Some other nice autoconf tests.
+#### Some other nice autoconf tests.  If you add a test here which
+#### should make an entry in src/config.h, don't forget to add an
+#### #undef clause to src/config.h.in for autoconf to modify.
 ]
+dnl checks for programs
 AC_LN_S
 AC_PROG_CPP
+AC_PROG_INSTALL
+AC_PROG_YACC
+
+dnl checks for UNIX variants that set `DEFS'
+
+dnl checks for header files
 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)
+AC_HAVE_FUNCS(gettimeofday gethostname dup2 rename)
+
+dnl checks for structure members
 AC_STRUCT_TM
+AC_TIMEZONE
+
+dnl checks for compiler characteristics
 AC_CONST
+
+dnl checks for operating system services
+AC_LONG_FILE_NAMES
+
+dnl other checks for UNIX variants
 [
 
 
@@ -852,7 +994,7 @@ esac
 case "${window_system}" in
   "none" | "x11" | "x10" ) ;;
   "" )
-    echo "  No window system specifed.  Looking for X Windows."
+    echo "  No window system specified.  Looking for X11."
     window_system=none
     if [ -r /usr/lib/libX11.a \
         -o -d /usr/include/X11 \
@@ -862,7 +1004,7 @@ case "${window_system}" in
     fi
   ;;
   * )
-    echo "Don\'t specify the window system more than once." >&2
+    echo "Don't specify the window system more than once." >&2
     exit 1
   ;;
 esac
@@ -938,20 +1080,43 @@ echo '
 #endif
 @configure@ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
 @configure@ c_switch_system=C_SWITCH_SYSTEM
+
+#ifdef UNEXEC
+@configure@ unexec=UNEXEC
+#else
+@configure@ unexec=unexec.o
+#endif
+
 #ifdef SYSTEM_MALLOC
 @configure@ system_malloc=yes
 #else
 @configure@ system_malloc=no
 #endif
+
+#ifndef C_DEBUG_SWITCH
+#define C_DEBUG_SWITCH -g
+#endif
+
+#ifndef C_OPTIMIZE_SWITCH
+#define C_OPTIMIZE_SWITCH -O
+#endif
+
+#ifdef __GNUC__
+@configure@ CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH
+#else
+@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} ${tempcname} \
+eval `${foo} -Isrc ${tempcname} \
        | grep '@configure@' \
        | sed -e 's/^@configure@ \([^=]*=\)\(.*\)$/\1"\2"/'`
 rm ${tempcname}
 
+### Compute the unexec source name from the object name.
+UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`"
 
 # Do the opsystem or machine files prohibit the use of the GNU malloc?
 # Assume not, until told otherwise.
@@ -962,7 +1127,7 @@ if [ "${system_malloc}" = "yes" ]; then
   (The GNU allocators don't work with this system configuration.)"
 fi
 
-if [ ! "${REL_ALLOC}" ]; then
+if [ x"${REL_ALLOC}" = x ]; then
   REL_ALLOC=${GNU_MALLOC}
 fi
 
@@ -972,7 +1137,7 @@ LISP_FLOAT_TYPE=yes
 #### 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/'`
-if [ ! "${version}" ]; then
+if [ x"${version}" = x ]; then
   echo "${progname}: can't find current emacs version in
        \`${srcdir}/lisp/version.el'." >&2
   exit 1
@@ -991,20 +1156,15 @@ AC_SUBST(inst_paths)
 AC_SUBST(LD_SWITCH_X_SITE)
 AC_SUBST(C_SWITCH_X_SITE)
 AC_SUBST(CFLAGS)
+AC_SUBST(prefix)
+AC_SUBST(exec_prefix)
 
-dnl   This is hopefully a temporary hack.  In autoconf version 1.3,
-dnl   the second argument to AC_DEFINE is quoted in every which way,
-dnl   so (as far as I can tell) there's no way to compute the value
-dnl   the CPP macro should receive.  We cripple that quoting for a
-dnl   bit, invoke AC_DEFINE, and then uncripple it.
-
-pushdef([AC_DEFINE_SEDQUOTE],[$1])
-AC_DEFINE(config_machfile,  "\"${machfile}\"")
-AC_DEFINE(config_opsysfile, "\"${opsysfile}\"")
-popdef([AC_DEFINE_SEDQUOTE])
+AC_DEFINE_UNQUOTED(config_machfile,  "\"${machfile}\"")
+AC_DEFINE_UNQUOTED(config_opsysfile, "\"${opsysfile}\"")
+AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, ${LD_SWITCH_X_SITE})
+AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE,  ${C_SWITCH_X_SITE})
+AC_DEFINE_UNQUOTED(UNEXEC_SRC,       ${UNEXEC_SRC})
 
-AC_DEFINE(LD_SWITCH_X_SITE, ${LD_SWITCH_X_SITE})
-AC_DEFINE(C_SWITCH_X_SITE,  ${C_SWITCH_X_SITE})
 [
 if [ "${HAVE_X_WINDOWS}" = "yes" ] ; then
   ] AC_DEFINE(HAVE_X_WINDOWS) [
@@ -1034,6 +1194,7 @@ echo "
 
 Configured for \`${configuration}'.
 
+  Where should the build process find the source code?    ${srcdir}
   What operating system and machine description files should Emacs use?
         \`${opsysfile}' and \`${machfile}'
   What compiler should emacs be built with?               ${CC} ${CFLAGS}
@@ -1044,9 +1205,5 @@ Configured for \`${configuration}'.
   Where do we find X Windows libraries?                   }${x_libraries}
 
 "
-
-### Restore the arguments to this script, so autoconf can record them
-### in the config.status file.
-set - ${arguments}
 ]
 AC_OUTPUT(Makefile)