]> code.delx.au - gnu-emacs/blobdiff - configure1.in
* configure.in: If we found X on our own, set C_SWITCH_X_SITE and
[gnu-emacs] / configure1.in
index 4ea389dd67589516dd6023e4fc845f3340790213..d87414a8485e495c9af0ebe97def47fa74585e55 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.
 
 #### 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
 ### 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
 
 ### 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
 ###
 ### 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.
 
 
 #### 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.
 
 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."
 
 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=''
 
 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.
   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?
         ;;
 
        ## 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 ;;
          ## 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 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
              (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}"
          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?
        ;;
 
        ## Has the user tried to tell us where the X files are?
@@ -208,31 +193,31 @@ 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 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
              (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}"
          fi
          x_includes="${val}"
-         C_SWITCH_X_SITE="-I${x_includes}"
         ;;
        "x_libraries" )
          ## 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.
         ;;
        "x_libraries" )
          ## 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
              (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}"
          fi
          x_libraries="${val}"
-         LD_SWITCH_X_SITE="-L${x_libraries}"
         ;;
 
        ## Should this use the "development configuration"?
         ;;
 
        ## Should this use the "development configuration"?
@@ -241,9 +226,48 @@ Set it to either \`yes' or \`no'."
          inst_paths='#disabled# '
        ;;
 
          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}"
+        ;;
+
+       ## Verbose flag, tested by autoconf macros.
+       "verbose" )
+         verbose=yes
+       ;;
+
        ## Has the user asked for some help?
        "usage" | "help" )
        ## Has the user asked for some help?
        "usage" | "help" )
-         echo "${long_usage}" | more
+         echo "${short_usage}" | more
          exit
        ;;
 
          exit
        ;;
 
@@ -258,35 +282,45 @@ Set it to either \`yes' or \`no'."
     ;;
 
   esac
     ;;
 
   esac
-  shift
 done
 
 if [ "${configuration}" = "" ]; then
 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
 
 fi
 
-
 #### Decide where the source is.
 case "${srcdir}" in
 
   ## If it's not specified, see if  `.' or `..' might work.
   "" )
 #### 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
     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
       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."
 ${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
   ;;
       fi
     fi
   ;;
@@ -304,30 +338,48 @@ are."
       exit 1
     fi
   ;;
       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
 
 esac
 
-### Make the necessary directories, if they don't exist.
-if [ ! -d ./src ]; then
-  mkdir ./src
-fi
-if [ ! -d ./lib-src ]; then
-  mkdir ./lib-src
-fi
-if [ ! -d ./cpp ]; then
-  mkdir ./cpp
-fi
-if [ ! -d ./oldXMenu ]; then
-  mkdir ./oldXMenu
+#### 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
 
 fi
 
+### Make the necessary directories, if they don't exist.
+for dir in ./src ./lib-src ./cpp ./oldXMenu ./etc ; do
+  if [ ! -d ${dir} ]; then
+    mkdir ${dir}
+  fi
+done
 
 #### Given the configuration name, set machfile and opsysfile to the
 #### names of the m/*.h and s/*.h files we should use.
 
 ### Canonicalize the configuration name.
 echo "Checking the configuration name."
 
 #### Given the configuration name, set machfile and opsysfile to the
 #### names of the m/*.h and s/*.h files we should use.
 
 ### 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
 
   exit $?
 fi
 
@@ -355,7 +407,7 @@ fi
 ### confusion between `system' and `release' levels'."
 
 machine='' opsys='' unported='false'
 ### 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
 
   ## Alliant machines
   ## Strictly speaking, we need the version of the alliant operating
@@ -395,8 +447,13 @@ case "${configuration}" in
     machine=7300 opsys=usg5-2-2
   ;;
 
     machine=7300 opsys=usg5-2-2
   ;;
 
+  ## Bull dpx2
+  m68*-bull-sysv3* )
+    machine=dpx2 opsys=usg5-3
+  ;;
+
   ## Bull sps7
   ## Bull sps7
-  m68*-bull-sysv* )
+  m68*-bull-sysv2* )
     machine=sps7 opsys=usg5-2
   ;;
 
     machine=sps7 opsys=usg5-2
   ;;
 
@@ -434,6 +491,11 @@ case "${configuration}" in
     machine=cydra5 opsys=usg5-3
   ;;
 
     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
   ## DECstations
   mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0 | mips-dec-bsd4.2 )
     machine=pmax opsys=bsd4-2
@@ -449,6 +511,9 @@ case "${configuration}" in
   m68*-motorola-sysv* )
     machine=delta opsys=usg5-3
   ;;
   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
   ;;
   m88k-motorola-sysv* | m88k-motorola-m88kbcs* )
     machine=delta88k opsys=usg5-3
   ;;
@@ -493,15 +558,35 @@ case "${configuration}" in
   m68*-hp-bsd* )
     machine=hp9000s300 opsys=bsd4-3
   ;;
   m68*-hp-bsd* )
     machine=hp9000s300 opsys=bsd4-3
   ;;
-  ## HP/UX 8 doesn't run on these machines, so use HP/UX 7.
+  ## HP/UX 7, 8 and 9 are supported on these machines.
   m68*-hp-hpux* )
   m68*-hp-hpux* )
-    machine=hp9000s300 opsys=hpux
+    case "`uname -r`" in
+      *.08.* ) machine=hp9000s300 opsys=hpux8 ;;
+      *.09.* ) machine=hp9000s300 opsys=hpux9 ;;
+      *) machine=hp9000s300 opsys=hpux ;;
+    esac
   ;;
 
   ;;
 
-  ## 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
   ;;
     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* )
 
   ## Orion machines
   orion-orion-bsd* )
@@ -515,7 +600,7 @@ case "${configuration}" in
   i386-ibm-aix1.1 )
     machine=ibmps2-aix opsys=usg5-2-2
   ;;
   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 )
     machine=ibmps2-aix opsys=usg5-3
   ;;
   rs6000-ibm-aix3.1 )
@@ -524,9 +609,24 @@ case "${configuration}" in
   rs6000-ibm-aix3.2 | rs6000-ibm-aix* )
     machine=ibmrs6000 opsys=aix3-2
   ;;
   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
   ;;
     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
   ;;
   romp-ibm-aix* )
     machine=ibmrt-aix opsys=usg5-2-2
   ;;
@@ -543,18 +643,20 @@ case "${configuration}" in
   i[34]86-intsys-sysv* )
     machine=is386 opsys=usg5-2-2
   ;;
   i[34]86-intsys-sysv* )
     machine=is386 opsys=usg5-2-2
   ;;
-  ## Intel 386 machines where we don't care about the manufacturer
-  i[34]86-* )
-    machine=intel386
-    case "${configuration}" in
-      *-isc1.* | *-isc2.[01]* )        opsys=386-ix ;;
-      *-isc2.2 )               opsys=isc2-2 ;;
-      *-isc* )                 opsys=isc3-0 ;;
-      *-esix* )                        opsys=esix ;;
-      *-xenix* )               opsys=xenix ;;
-      *-sco3.2v4* )            opsys=sco4 ;;
-      ## Otherwise, we'll fall through to the generic opsys code at the bottom.
-    esac
+
+  ## Prime EXL
+  i386-prime-sysv* )
+    machine=i386 opsys=usg5-3
+  ;;
+
+  ## Sequent Symmetry
+  i386-sequent-bsd* )
+    machine=symmetry opsys=bsd4-3
+  ;;
+
+  ## Intel 860
+  i860-*-sysvr4 )
+    machine=i860 opsys=usg5-4
   ;;
 
   ## Silicon Graphics machines
   ;;
 
   ## Silicon Graphics machines
@@ -594,8 +696,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.
   ## 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* )
   mips-mips-riscos4* )
-    machine=mips4 opsys=usg5-2-2
+    machine=mips4 opsys=bsd4-3
   ;;
   mips-mips-bsd* )
     machine=mips opsys=bsd4-3
   ;;
   mips-mips-bsd* )
     machine=mips opsys=bsd4-3
@@ -637,11 +743,6 @@ case "${configuration}" in
     machine=plexus opsys=usg5-2
   ;;
 
     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.
   ## 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 +757,6 @@ case "${configuration}" in
   ns32k-sequent-bsd4.3 )
     machine=sequent opsys=bsd4-3
   ;;
   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 )
 
   ## SONY machines
   m68*-sony-bsd4.2 )
@@ -678,8 +775,8 @@ case "${configuration}" in
   ;;
 
   ## Suns
   ;;
 
   ## Suns
-  *-sun-sunos* | *-sun-bsd* )
-    case "${configuration}" in
+  *-sun-sunos* | *-sun-bsd* | *-sun-solaris* )
+    case "${canonical}" in
       m68*-sunos1* )   machine=sun1 ;;
       m68*-sunos2* )   machine=sun2 ;;
       m68* )           machine=sun3 ;;
       m68*-sunos1* )   machine=sun1 ;;
       m68*-sunos2* )   machine=sun2 ;;
       m68* )           machine=sun3 ;;
@@ -687,9 +784,11 @@ case "${configuration}" in
       sparc* )         machine=sparc ;;
       * )              unported=true ;;
     esac
       sparc* )         machine=sparc ;;
       * )              unported=true ;;
     esac
-    case "${configuration}" in
+    case "${canonical}" in
       *-sunos4.0*        ) opsys=sunos4-0 ;;
       *-sunos4.0*        ) opsys=sunos4-0 ;;
+      *-sunos4.1.3*      ) opsys=sunos4-1-3 ;;
       *-sunos4* | *-sunos ) opsys=sunos4-1 ;;
       *-sunos4* | *-sunos ) opsys=sunos4-1 ;;
+      *-sunos5* | *-solaris* ) opsys=sol2 ;;
       *                          ) opsys=bsd4-2   ;;
     esac
   ;;
       *                          ) opsys=bsd4-2   ;;
     esac
   ;;
@@ -712,6 +811,11 @@ case "${configuration}" in
     machine=tandem-s2 opsys=usg5-3
   ;;
 
     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
   ## Tektronix 16000 box (6130?)
   ns16k-tektronix-bsd* )
     machine=ns16000 opsys=bsd4-2
@@ -736,10 +840,11 @@ case "${configuration}" in
   ## Vaxen.
   vax-dec-* )
     machine=vax
   ## Vaxen.
   vax-dec-* )
     machine=vax
-    case "${configuration}" in
+    case "${canonical}" in
       *-bsd4.1 )                                       opsys=bsd4-1 ;;
       *-bsd4.2 | *-ultrix[0-3].* | *-ultrix4.0 )       opsys=bsd4-2 ;;
       *-bsd4.3 | *-ultrix* )                           opsys=bsd4-3 ;;
       *-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 ;;
       *-sysv[01]* | *-sysvr[01]* )                     opsys=usg5-0 ;;
       *-sysv2* | *-sysvr2* )                           opsys=usg5-2 ;;
       *-vms* )                                                 opsys=vms ;;
@@ -759,6 +864,24 @@ case "${configuration}" in
     machine=wicat opsys=usg5-2
   ;;
 
     machine=wicat opsys=usg5-2
   ;;
 
+  ## Intel 386 machines where we don't care about the manufacturer
+  i[34]86-*-* )
+    machine=intel386
+    case "${canonical}" 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
+  ;;
+
   * )
     unported=true
   ;;
   * )
     unported=true
   ;;
@@ -770,8 +893,8 @@ 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.
 ### 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
-  case "${configuration}" in
+if [ x"${opsys}" = x ]; then
+  case "${canonical}" in
     *-bsd4.[01] )      opsys=bsd4-1 ;;
     *-bsd4.2 )         opsys=bsd4-2 ;;
     *-bsd4.3 )         opsys=bsd4-3 ;;
     *-bsd4.[01] )      opsys=bsd4-1 ;;
     *-bsd4.2 )         opsys=bsd4-2 ;;
     *-bsd4.3 )         opsys=bsd4-3 ;;
@@ -780,6 +903,7 @@ if [ ! "${opsys}" ]; then
     *-sysv2.2 | *-sysvr2.2 )           opsys=usg5-2-2 ;;
     *-sysv3 | *-sysvr3 )               opsys=usg5-3 ;;
     *-sysv4 | *-sysvr4 )               opsys=usg5-4 ;;
     *-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
     ;;
     * )
       unported=true
     ;;
@@ -787,7 +911,7 @@ if [ ! "${opsys}" ]; then
 fi
 
 if $unported ; 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
    echo "${progname}: Check \`etc/MACHINES' for recognized configuration names."
   ) >&2
   exit 1
@@ -809,21 +933,37 @@ case ${with_gcc} in
     ] AC_PROG_CC [
 esac
 
     ] 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_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_HAVE_HEADERS(sys/timeb.h sys/time.h)
+AC_STDC_HEADERS
+AC_TIME_WITH_SYS_TIME
+
+dnl checks for typedefs
 AC_RETSIGTYPE
 AC_RETSIGTYPE
-AC_ALLOCA
-AC_HAVE_FUNCS(gettimeofday gethostname dup2)
+
+dnl checks for structure members
 AC_STRUCT_TM
 AC_STRUCT_TM
+AC_TIMEZONE
+
+dnl checks for compiler characteristics
 AC_CONST
 AC_CONST
+
+dnl checks for operating system services
+AC_LONG_FILE_NAMES
+
+dnl other checks for UNIX variants
 [
 
 
 [
 
 
@@ -852,21 +992,46 @@ esac
 case "${window_system}" in
   "none" | "x11" | "x10" ) ;;
   "" )
 case "${window_system}" in
   "none" | "x11" | "x10" ) ;;
   "" )
-    echo "  No window system specifed.  Looking for X Windows."
-    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
         -o -d /usr/include/X11 \
          -o -d /usr/X386/include \
         -o -d ${x_includes}/X11 ]; then
-      window_system=x11
+        window_system=x11
+      fi
     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
 
     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
 case "${window_system}" in
   x11 )
     HAVE_X_WINDOWS=yes
@@ -893,26 +1058,6 @@ case ${HAVE_X11} in
   ;;
 esac
 
   ;;
 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"
 #### Extract some information from the operating system and machine files.
 
 echo "Examining the machine- and system-dependent files to find out"
@@ -938,20 +1083,56 @@ echo '
 #endif
 @configure@ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
 @configure@ c_switch_system=C_SWITCH_SYSTEM
 #endif
 @configure@ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
 @configure@ c_switch_system=C_SWITCH_SYSTEM
+
+#ifndef LIB_X11_LIB
+#define LIB_X11_LIB
+#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
+#else
+@configure@ unexec=unexec.o
+#endif
+
 #ifdef SYSTEM_MALLOC
 @configure@ system_malloc=yes
 #else
 @configure@ system_malloc=no
 #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...
 ' > ${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} \
+CPP=`eval "echo $CPP"`
+eval `${CPP} -Isrc ${tempcname} \
        | grep '@configure@' \
        | sed -e 's/^@configure@ \([^=]*=\)\(.*\)$/\1"\2"/'`
 rm ${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.
 
 # Do the opsystem or machine files prohibit the use of the GNU malloc?
 # Assume not, until told otherwise.
@@ -962,17 +1143,54 @@ if [ "${system_malloc}" = "yes" ]; then
   (The GNU allocators don't work with this system configuration.)"
 fi
 
   (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
 
 LISP_FLOAT_TYPE=yes
 
 
   REL_ALLOC=${GNU_MALLOC}
 fi
 
 LISP_FLOAT_TYPE=yes
 
 
+#### Add the libraries to LIBS and check for some functions.
+
+]
+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"
+    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)
+
+if test "${HAVE_X11}" = "yes"; then
+  DEFS="$C_SWITCH_X_SITE $DEFS"
+  LIBS="$LD_SWITCH_X_SITE $LIBX $LIBS"
+  AC_HAVE_FUNCS(XrmSetDatabase random)
+fi
+
+AC_ALLOCA
+AC_HAVE_FUNCS(gettimeofday gethostname dup2 rename closedir)
+
+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/'`
 #### 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
   echo "${progname}: can't find current emacs version in
        \`${srcdir}/lisp/version.el'." >&2
   exit 1
@@ -980,6 +1198,7 @@ fi
 
 
 #### Specify what sort of things we'll be editing into Makefile and config.h.
 
 
 #### 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)
 ]
 AC_SUBST(configuration)
 AC_SUBST(version)
@@ -991,20 +1210,15 @@ AC_SUBST(inst_paths)
 AC_SUBST(LD_SWITCH_X_SITE)
 AC_SUBST(C_SWITCH_X_SITE)
 AC_SUBST(CFLAGS)
 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) [
 [
 if [ "${HAVE_X_WINDOWS}" = "yes" ] ; then
   ] AC_DEFINE(HAVE_X_WINDOWS) [
@@ -1032,8 +1246,9 @@ fi
 #### Report on what we decided to do.
 echo "
 
 #### 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?
         \`${opsysfile}' and \`${machfile}'
   What compiler should emacs be built with?               ${CC} ${CFLAGS}
   What operating system and machine description files should Emacs use?
         \`${opsysfile}' and \`${machfile}'
   What compiler should emacs be built with?               ${CC} ${CFLAGS}
@@ -1045,8 +1260,10 @@ Configured for \`${configuration}'.
 
 "
 
 
 "
 
-### Restore the arguments to this script, so autoconf can record them
-### in the config.status file.
-set - ${arguments}
+# 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)
 ]
 AC_OUTPUT(Makefile)