#!/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
### it under the terms of the GNU General Public License as published by
### the Free Software Foundation; either version 1, or (at your option)
### any later version.

### GNU Emacs is distributed in the hope that it will be useful,
### but WITHOUT ANY WARRANTY; without even the implied warranty of
### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
### GNU General Public License for more details.

### You should have received a copy of the GNU General Public License
### along with GNU Emacs; see the file COPYING.  If not, write to
### the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.


### Since Emacs has configuration requirements that autoconf can't
### meet, this file is an unholy marriage of custom-baked
### 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
### mean, shell code - in the final configuration script.
###
### Usage: configure config_name
###
### If configure succeeds, it leaves its status in config.status.
### If configure fails after disturbing the status quo,
### 	config.status is removed.


### Remove any more than one leading "." element from the path name.
### If we don't remove them, then another "./" will be prepended to
### the file name each time we use config.status, and the program name
### will get larger and larger.  This wouldn't be a problem, except
### that since progname gets recorded in all the Makefiles this script
### produces, move-if-change thinks they're different when they're
### not.
###
### It would be nice if we could put the ./ in a \( \) group and then
### apply the * operator to that, so we remove as many leading ./././'s
### as are present, but some seds (like Ultrix's sed) don't allow you to
### apply * to a \( \) group.  Bleah.
progname="`echo $0 | sed 's:^\./\./:\./:'`"


#### Usage messages.

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.
--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."


#### Option processing.

### Record all the arguments, so we can save them in config.status.
arguments="$@"

### These values are used to comment and uncomment different values
### for the path variables in the Makefile, to choose the installed
### configuration or the run-in-place configuration.
rip_paths='#disabled# '
inst_paths=''

### 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.
    -* )

      ## Separate the switch name from the value it's being given.
      case "${arg}" in
        -*=*)
	  opt=`echo ${arg} | sed 's:^-*\([^=]*\)=.*$:\1:'`
	  val=`echo ${arg} | sed 's:^-*[^=]*=\(.*\)$:\1:'`
	  valomitted=no
	;;
        -*)
          ## If FOO is a boolean argument, --FOO is equivalent to
          ## --FOO=yes.  Otherwise, the value comes from the next
          ## argument - see below.
	  opt=`echo ${arg} | sed 's:^-*\(.*\)$:\1:'`
          val="yes"
          valomitted=yes
        ;;
      esac

      ## Change `-' in the option name to `_'.
      optname="${opt}"
      opt="`echo ${opt} | tr - _`"

      ## Process the option.
      case "${opt}" in

        ## Has the user specified which window systems they want to support?
        "with_x" | "with_x11" | "with_x10" )
	  ## Make sure the value given was either "yes" or "no".
	  case "${val}" in
	    y | ye | yes )	val=yes ;;
	    n | no )		val=no  ;;
	    * )
	      (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value.
Set it to either \`yes' or \`no'."
	       echo "${short_usage}") >&2
	      exit 1
	    ;;
	  esac
          eval "${opt}=\"${val}\""
        ;;

	## Has the user specified whether or not they want GCC?
	"with_gcc" | "with_gnu_cc" )
	  ## Make sure the value given was either "yes" or "no".
	  case "${val}" in
	    y | ye | yes )	val=yes ;;
	    n | no )		val=no  ;;
	    * )
	      (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value.
Set it to either \`yes' or \`no'."
	       echo "${short_usage}") >&2
	      exit 1
	    ;;
	  esac
          eval "${opt}=\"${val}\""
        ;;

        ## Has the user specified a source directory?
	"srcdir" )
	  ## 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
          srcdir="${val}"
	;;

	## Has the user tried to tell us where the X files are?
	## I think these are dopey, but no less than three alpha
	## testers, at large sites, have said they have their X files
	## installed in odd places.
	"x_includes" )
	  ## 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
	  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.
            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
	  x_libraries="${val}"
	  LD_SWITCH_X_SITE="-L\"${x_libraries}\""
        ;;

	## Should this use the "development configuration"?
	"run_in_place" )
	  rip_paths=''
	  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" )
	  echo "${short_usage}" | more
	  exit
	;;

        ## We ignore all other options silently.
      esac
    ;;

    ## Anything not starting with a hyphen we assume is a
    ## configuration name.
    *)
      configuration=${arg}
    ;;

  esac
done

if [ "${configuration}" = "" ]; then
  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.
  "" )
    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='.'
      else
        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
        fi
      fi
    fi
  ;;

  ## Otherwise, check if the directory they specified is okay.
  * )
    if [ ! -d "${srcdir}" -o ! -f "${srcdir}/src/lisp.h" -o ! -f "${srcdir}/lisp/version.el" ]; then
      (echo "\
${progname}: The directory specified with the \`--srcdir' option,
\`${srcdir}', doesn't seem to contain the Emacs sources.  You should
either run the \`${progname}' script at the top of the Emacs source
tree, or use the \`--srcdir' option to specify where the Emacs sources
are."
       echo "${short_usage}") >&2
      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.
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."
if configuration=`${srcdir}/config.sub "${configuration}"` ; then : ; else
  exit $?
fi

### If you add support for a new configuration, add code to this
### switch statement to recognize your configuration name and select
### the appropriate operating system and machine description files.

### You would hope that you could choose an m/*.h file pretty much
### based on the machine portion of the configuration name, and an s-
### file based on the operating system portion.  However, it turns out
### that each m/*.h file is pretty manufacturer-specific - for
### example, apollo.h, hp9000s300.h, mega68k, news.h, and tad68k are
### all 68000 machines; mips.h, pmax.h, and news-risc are all MIPS
### machines.  So we basically have to have a special case for each
### configuration name.
###
### As far as handling version numbers on operating systems is
### concerned, make sure things will fail in a fixable way.  If
### /etc/MACHINES doesn't say anything about version numbers, be
### prepared to handle anything reasonably.  If version numbers
### matter, be sure /etc/MACHINES says something about it.
###
### Eric Raymond says we should accept strings like "sysvr4" to mean
### "System V Release 4"; he writes, "The old convention encouraged
### confusion between `system' and `release' levels'."

machine='' opsys='' unported='false'
case "${configuration}" in

  ## Alliant machines
  ## Strictly speaking, we need the version of the alliant operating
  ## system to choose the right machine file, but currently the
  ## configuration name doesn't tell us enough to choose the right
  ## one; we need to give alliants their own operating system name to
  ## do this right.  When someone cares, they can help us.
  fx80-alliant-* )
    machine=alliant4 opsys=bsd4-2
  ;;
  i860-alliant-* )
    machine=alliant-2800 opsys=bsd4-3
  ;;

  ## Altos 3068
  m68*-altos-sysv* )
    machine=altos opsys=usg5-2
  ;;
    
  ## Amdahl UTS
  580-amdahl-sysv* )
    machine=amdahl opsys=usg5-2-2
  ;;

  ## Appallings - I mean, Apollos - running Domain
  m68*-apollo* )
    machine=apollo opsys=bsd4-2
  ;;

  ## AT&T 3b2, 3b5, 3b15, 3b20
  we32k-att-sysv* )
    machine=att3b opsys=usg5-2-2
  ;;

  ## AT&T 3b1 - The Mighty Unix PC!
  m68*-att-sysv* )
    machine=7300 opsys=usg5-2-2
  ;;

  ## Bull dpx2
  m68*-bull-sysv3* )
    machine=dpx2 opsys=usg5-3
  ;;

  ## Bull sps7
  m68*-bull-sysv2* )
    machine=sps7 opsys=usg5-2
  ;;

  ## CCI 5/32, 6/32 -- see "Tahoe".

  ## Celerity
  ## I don't know what configuration name to use for this; config.sub
  ## doesn't seem to know anything about it.  Hey, Celerity users, get
  ## in touch with us!
  celerity-celerity-bsd* )
    machine=celerity opsys=bsd4-2
  ;;

  ## Clipper
  ## What operating systems does this chip run that Emacs has been
  ## tested on?
  clipper-* )
    machine=clipper
    ## We'll use the catch-all code at the bottom to guess the
    ## operating system.
  ;;

  ## Convex
  *-convex-bsd* )
    machine=convex opsys=bsd4-3
  ;;

  ## Cubix QBx/386
  i386-cubix-sysv* )
    machine=intel386 opsys=usg5-3
  ;;

  ## Cydra 5
  cydra*-cydrome-sysv* )
    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
  ;;
  mips-dec-ultrix* | mips-dec-bsd* )
    machine=pmax opsys=bsd4-3
  ;;
  mips-dec-osf* )
    machine=pmax opsys=osf1
  ;;

  ## Motorola Delta machines
  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
  ;;

  ## Dual machines
  m68*-dual-sysv* )
    machine=dual opsys=usg5-2
  ;;
  m68*-dual-uniplus* )
    machine=dual opsys=unipl5-2
  ;;

  ## Elxsi 6400
  elxsi-elxsi-sysv* )
    machine=elxsi opsys=usg5-2
  ;;

  ## Encore machines
  ns16k-encore-bsd* )
    machine=ns16000 opsys=umax
  ;;

  ## The GEC 93 - apparently, this port isn't really finished yet.

  ## Gould Power Node and NP1
  pn-gould-bsd4.2 )
    machine=gould opsys=bsd4-2
  ;;
  pn-gould-bsd4.3 )
    machine=gould opsys=bsd4-3
  ;;
  np1-gould-bsd* )
    machine=gould-np1 opsys=bsd4-3
  ;;

  ## Honeywell XPS100
  xps*-honeywell-sysv* )
    machine=xps100 opsys=usg5-2
  ;;

  ## HP 9000 series 200 or 300
  m68*-hp-bsd* )
    machine=hp9000s300 opsys=bsd4-3
  ;;
  ## HP/UX 7, 8 and 9 are supported on these machines.
  m68*-hp-hpux* )
    case "`uname -r`" in
      *.08.* ) machine=hp9000s300 opsys=hpux8 ;;
      *.09.* ) machine=hp9000s300 opsys=hpux9 ;;
      *) machine=hp9000s300 opsys=hpux ;;
    esac
  ;;

  ## 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* )
    machine=orion opsys=bsd4-2
  ;;
  clipper-orion-bsd* )
    machine=orion105 opsys=bsd4-2
  ;;

  ## IBM machines
  i386-ibm-aix1.1 )
    machine=ibmps2-aix opsys=usg5-2-2
  ;;
  i386-ibm-aix1.[23] | i386-ibm-aix* )
    machine=ibmps2-aix opsys=usg5-3
  ;;
  rs6000-ibm-aix3.1 )
    machine=ibmrs6000 opsys=aix3-1
  ;;
  rs6000-ibm-aix3.2 | rs6000-ibm-aix* )
    machine=ibmrs6000 opsys=aix3-2
  ;;
  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
  ;;

  ## Integrated Solutions `Optimum V'
  m68*-isi-bsd4.2 )
    machine=isi-ov opsys=bsd4-2
  ;;
  m68*-isi-bsd4.3 )
    machine=isi-ov opsys=bsd4-3
  ;;

  ## Intel 386 machines where we do care about the manufacturer
  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 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 )
    machine=irist opsys=iris3-5
  ;;
  m68*-sgi-iris3.6 | m68*-sgi-iris*)
    machine=irist opsys=iris3-6
  ;;
  ## Iris 4D
  mips-sgi-irix3.* )
    machine=iris4d opsys=irix3-3
  ;;
  mips-sgi-irix4.* | mips-sgi-irix* )
    machine=iris4d opsys=irix4-0
  ;;

  ## Masscomp machines
  m68*-masscomp-rtu )
    machine=masscomp opsys=rtu
  ;;

  ## Megatest machines
  m68*-megatest-bsd* )
    machine=mega68 opsys=bsd4-2
  ;;

  ## Workstations sold by MIPS
  ## This is not necessarily all workstations using the MIPS processor -
  ## Irises are produced by SGI, and DECstations by DEC.

  ## etc/MACHINES lists mips.h and mips4.h as possible machine files,
  ## and usg5-2-2 and bsd4-3 as possible OS files.  The only guidance
  ## it gives for choosing between the alternatives seems to be "Use
  ## -machine=mips4 for RISCOS version 4; use -opsystem=bsd4-3 with
  ## 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=bsd4-3
  ;;
  mips-mips-bsd* )
    machine=mips opsys=bsd4-3
  ;;
  mips-mips-* )
    machine=mips opsys=usg5-2-2
  ;;

  ## NeXT
  m68*-next-mach* | m68*-next-bsd* )
    machine=next opsys=mach2
  ;;

  ## The complete machine from National Semiconductor
  ns32k-ns-genix* )
    machine=ns32000 opsys=usg5-2
  ;;

  ## NCR machines
  m68*-ncr-sysv2* | m68*-ncr-sysvr2* )
    machine=tower32 opsys=usg5-2-2
  ;;
  m68*-ncr-sysv3* | m68*-ncr-sysvr3* )
    machine=tower32v3 opsys=usg5-3
  ;;

  ## Nixdorf Targon 31
  m68*-nixdorf-sysv* )
    machine=targon31 opsys=usg5-2-2
  ;;

  ## Nu (TI or LMI)
  m68*-nu-sysv* )
    machine=nu opsys=usg5-2
  ;;

  ## Plexus
  m68*-plexus-sysv* )
    machine=plexus opsys=usg5-2
  ;;

  ## 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-pyramid-bsd* )
    machine=pyramid opsys=bsd4-2
  ;;

  ## Sequent Balance
  ns32k-sequent-bsd4.2 )
    machine=sequent opsys=bsd4-2
  ;;
  ns32k-sequent-bsd4.3 )
    machine=sequent opsys=bsd4-3
  ;;

  ## SONY machines
  m68*-sony-bsd4.2 )
    machine=news opsys=bsd4-2
  ;;
  m68*-sony-bsd4.3 )
    machine=news opsys=bsd4-3
  ;;
  mips-sony-bsd* )
    machine=news-risc opsys=bsd4-3
  ;;

  ## Stride
  m68*-stride-sysv* )
    machine=stride opsys=usg5-2
  ;;

  ## Suns
  *-sun-sunos* | *-sun-bsd* | *-sun-solaris* )
    case "${configuration}" in
      m68*-sunos1* )	machine=sun1 ;;
      m68*-sunos2* )	machine=sun2 ;;
      m68* )		machine=sun3 ;;
      i[34]86* )	machine=sun386 ;;
      sparc* )		machine=sparc ;;
      * )		unported=true ;;
    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
  ;;

  ## Tadpole 68k
  m68*-tadpole-sysv* )
    machine=tad68k opsys=usg5-3
  ;;

  ## Tahoe machines
  tahoe-tahoe-bsd4.2 )
    machine=tahoe opsys=bsd4-2
  ;;
  tahoe-tahoe-bsd4.3 )
    machine=tahoe opsys=bsd4-3
  ;;

  ## Tandem Integrity S2
  mips-tandem-sysv* )
    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 4300
  ## src/m/tek4300.h hints that this is a m68k machine.
  m68*-tektronix-bsd* )
    machine=tex4300 opsys=bsd4-3
  ;;

  ## Titan P2 or P3
  ## We seem to have lost the machine-description file titan.h!
  titan-titan-sysv* )
    machine=titan opsys=usg5-3
  ;;
  
  ## Ustation E30 (SS5E)
  m68*-unisys-uniplus* )
    machine=ustation opsystem=unipl5-2
  ;;

  ## 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 ;;
      *-sysv[01]* | *-sysvr[01]* ) 			opsys=usg5-0 ;;
      *-sysv2* | *-sysvr2* )				opsys=usg5-2 ;;
      *-vms* ) 						opsys=vms ;;
      * ) 						unported=true
    esac
  ;;

  ## Whitechapel MG1
  ns16k-whitechapel-* )
    machine=mg1
    ## We don't know what sort of OS runs on these; we'll let the
    ## operating system guessing code below try.
  ;;

  ## Wicat
  m68*-wicat-sysv* )
    machine=wicat opsys=usg5-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 ;;
      *-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
  ;;
esac

### If the code above didn't choose an operating system, just choose
### an operating system based on the configuration name.  You really
### only want to use this when you have no idea what the right
### 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 [ x"${opsys}" = x ]; then
  case "${configuration}" in
    *-bsd4.[01] )	opsys=bsd4-1 ;;
    *-bsd4.2 )		opsys=bsd4-2 ;;
    *-bsd4.3 )		opsys=bsd4-3 ;;
    *-sysv0 | *-sysvr0 )		opsys=usg5-0 ;;
    *-sysv2 | *-sysvr2 )		opsys=usg5-2 ;;
    *-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
    ;;
  esac
fi

if $unported ; then
  (echo "${progname}: Emacs hasn't been ported to \`${configuration}' systems."
   echo "${progname}: Check \`etc/MACHINES' for recognized configuration names."
  ) >&2
  exit 1
fi

machfile="m/${machine}.h"
opsysfile="s/${opsys}.h"


trap 'rm -fr conftest* core; exit 1' 1 3 15

# NLS nuisances.
# These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO).
if test "${LC_ALL+set}" = 'set' ; then LC_ALL=C; export LC_ALL; fi
if test "${LANG+set}"   = 'set' ; then LANG=C;   export LANG;   fi

rm -f conftest*
compile='${CC-cc} $CFLAGS $DEFS conftest.c -o conftest $LIBS >/dev/null 2>&1'

# A filename unique to this package, relative to the directory that
# configure is in, which we can look for to find out if srcdir is correct.
unique_file=lisp

# Find the source files, if location was not specified.
if test -z "$srcdir"; then
  srcdirdefaulted=yes
  # Try the directory containing this script, then `..'.
  prog=$0
  confdir=`echo $prog|sed 's%/[^/][^/]*$%%'`
  test "X$confdir" = "X$prog" && confdir=.
  srcdir=$confdir
  if test ! -r $srcdir/$unique_file; then
    srcdir=..
  fi
fi
if test ! -r $srcdir/$unique_file; then
  if test x$srcdirdefaulted = xyes; then
    echo "configure: Can not find sources in \`${confdir}' or \`..'." 1>&2
  else
    echo "configure: Can not find sources in \`${srcdir}'." 1>&2
  fi
  exit 1
fi
# Preserve a srcdir of `.' to avoid automounter screwups with pwd.
# But we can't avoid them for `..', to make subdirectories work.
case $srcdir in
  .|/*|~*) ;;
  *) srcdir=`cd $srcdir; pwd` ;; # Make relative path absolute.
esac

# Save the original args to write them into config.status later.
configure_args="$*"




#### Choose a compiler.
case ${with_gcc} in
  "yes" ) CC="gcc" GCC=1 ;;
  "no"  ) CC="cc"        ;;
  * )
     if test -z "$CC"; then
  # Extract the first word of `gcc', so it can be a program name with args.
  set dummy gcc; word=$2
  echo checking for $word
  IFS="${IFS= 	}"; saveifs="$IFS"; IFS="${IFS}:"
  for dir in $PATH; do
    test -z "$dir" && dir=.
    if test -f $dir/$word; then
      CC="gcc"
      break
    fi
  done
  IFS="$saveifs"
fi
test -z "$CC" && CC="cc"
test -n "$CC" -a -n "$verbose" && echo "	setting CC to $CC"

# Find out if we are using GNU C, under whatever name.
cat > conftest.c <<EOF
#ifdef __GNUC__
  yes
#endif
EOF
${CC-cc} -E conftest.c > conftest.out 2>&1
if egrep yes conftest.out >/dev/null 2>&1; then
  GCC=1 # For later tests.
fi
rm -f conftest*
 
esac

#### 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.

echo checking for ln -s
rm -f conftestdata
if ln -s X conftestdata 2>/dev/null
then
  rm -f conftestdata
  LN_S="ln -s"
else
  LN_S=ln
fi


echo checking how to run the C preprocessor
if test -z "$CPP"; then
  # This must be in double quotes, not single quotes, because CPP may get
  # substituted into the Makefile and ``${CC-cc}'' will simply confuse
  # make.  It must be expanded now.
  CPP="${CC-cc} -E"
  cat > conftest.c <<EOF
#include <stdio.h>
Syntax Error
EOF
err=`eval "($CPP \$DEFS conftest.c >/dev/null) 2>&1"`
if test -z "$err"; then
  :
else
  CPP=/lib/cpp
fi
rm -f conftest*
fi
test ".${verbose}" != "." && echo "	setting CPP to $CPP"

# Make sure to not get the incompatible SysV /etc/install and
# /usr/sbin/install, which might be in PATH before a BSD-like install,
# or the SunOS /usr/etc/install directory, or the AIX /bin/install,
# or the AFS install, which mishandles nonexistent args, or
# /usr/ucb/install on SVR4, which tries to use the nonexistent group
# `staff'.  On most BSDish systems install is in /usr/bin, not /usr/ucb
# anyway.  Sigh.
if test "z${INSTALL}" = "z" ; then
  echo checking for install
  IFS="${IFS= 	}"; saveifs="$IFS"; IFS="${IFS}:"
  for dir in $PATH; do
    test -z "$dir" && dir=.
    case $dir in
    /etc|/usr/sbin|/usr/etc|/usr/afsws/bin|/usr/ucb) ;;
    *)
      if test -f $dir/installbsd; then
	INSTALL="$dir/installbsd -c" # OSF1
	INSTALL_PROGRAM='$(INSTALL)'
	INSTALL_DATA='$(INSTALL) -m 644'
	break
      fi
      if test -f $dir/install; then
	if grep dspmsg $dir/install >/dev/null 2>&1; then
	  : # AIX
	else
	  INSTALL="$dir/install -c"
	  INSTALL_PROGRAM='$(INSTALL)'
	  INSTALL_DATA='$(INSTALL) -m 644'
	  break
	fi
      fi
      ;;
    esac
  done
  IFS="$saveifs"
fi
INSTALL=${INSTALL-cp}
INSTALL_PROGRAM=${INSTALL_PROGRAM-'$(INSTALL)'}
INSTALL_DATA=${INSTALL_DATA-'$(INSTALL)'}

for p in 'bison -y' byacc
do
if test -z "$YACC"; then
  # Extract the first word of `$p', so it can be a program name with args.
  set dummy $p; word=$2
  echo checking for $word
  IFS="${IFS= 	}"; saveifs="$IFS"; IFS="${IFS}:"
  for dir in $PATH; do
    test -z "$dir" && dir=.
    if test -f $dir/$word; then
      YACC="$p"
      break
    fi
  done
  IFS="$saveifs"
fi

test -n "$YACC" -a -n "$verbose" && echo "	setting YACC to $YACC"

test -n "$YACC" && break
done
test -n "$YACC" || YACC="yacc"



for hdr in sys/timeb.h sys/time.h
do
trhdr=HAVE_`echo $hdr | tr '[a-z]./' '[A-Z]__'`
echo checking for ${hdr}
cat > conftest.c <<EOF
#include <${hdr}>
EOF
err=`eval "($CPP \$DEFS conftest.c >/dev/null) 2>&1"`
if test -z "$err"; then
  {
test -n "$verbose" && \
echo '	defining' ${trhdr}
DEFS="$DEFS -D${trhdr}=1"
SEDDEFS="${SEDDEFS}\${SEDdA}${trhdr}\${SEDdB}${trhdr}\${SEDdC}1\${SEDdD}
\${SEDuA}${trhdr}\${SEDuB}${trhdr}\${SEDuC}1\${SEDuD}
\${SEDeA}${trhdr}\${SEDeB}${trhdr}\${SEDeC}1\${SEDeD}
"
}

fi
rm -f conftest*
done

echo checking for ANSI C header files
cat > conftest.c <<EOF
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <float.h>
EOF
err=`eval "($CPP \$DEFS conftest.c >/dev/null) 2>&1"`
if test -z "$err"; then
  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
echo '#include <string.h>' > conftest.c
eval "$CPP \$DEFS conftest.c > conftest.out 2>&1"
if egrep "memchr" conftest.out >/dev/null 2>&1; then
  # SGI's /bin/cc from Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
cat > conftest.c <<EOF
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
#define XOR(e,f) (((e) && !(f)) || (!(e) && (f)))
int main () { int i; for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }

EOF
eval $compile
if test -s conftest && (./conftest; exit) 2>/dev/null; then
  {
test -n "$verbose" && \
echo '	defining' STDC_HEADERS
DEFS="$DEFS -DSTDC_HEADERS=1"
SEDDEFS="${SEDDEFS}\${SEDdA}STDC_HEADERS\${SEDdB}STDC_HEADERS\${SEDdC}1\${SEDdD}
\${SEDuA}STDC_HEADERS\${SEDuB}STDC_HEADERS\${SEDuC}1\${SEDuD}
\${SEDeA}STDC_HEADERS\${SEDeB}STDC_HEADERS\${SEDeC}1\${SEDeD}
"
}

fi
rm -f conftest*
fi
rm -f conftest*

fi
rm -f conftest*

echo checking for whether time.h and sys/time.h may both be included
cat > conftest.c <<EOF
#include <sys/types.h>
#include <sys/time.h>
#include <time.h>
int main() { exit(0); }
int t() { struct tm *tp; }
EOF
if eval $compile; then
  {
test -n "$verbose" && \
echo '	defining' TIME_WITH_SYS_TIME
DEFS="$DEFS -DTIME_WITH_SYS_TIME=1"
SEDDEFS="${SEDDEFS}\${SEDdA}TIME_WITH_SYS_TIME\${SEDdB}TIME_WITH_SYS_TIME\${SEDdC}1\${SEDdD}
\${SEDuA}TIME_WITH_SYS_TIME\${SEDuB}TIME_WITH_SYS_TIME\${SEDuC}1\${SEDuD}
\${SEDeA}TIME_WITH_SYS_TIME\${SEDeB}TIME_WITH_SYS_TIME\${SEDeC}1\${SEDeD}
"
}

fi
rm -f conftest*


LIBS_save="${LIBS}"
LIBS="${LIBS} -ldnet"
have_lib=""
echo checking for -ldnet
cat > conftest.c <<EOF

int main() { exit(0); }
int t() { main(); }
EOF
if eval $compile; then
  have_lib="1"
fi
rm -f conftest*
LIBS="${LIBS_save}"
if test -n "${have_lib}"; then
   {
test -n "$verbose" && \
echo '	defining' HAVE_LIBDNET
DEFS="$DEFS -DHAVE_LIBDNET=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_LIBDNET\${SEDdB}HAVE_LIBDNET\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_LIBDNET\${SEDuB}HAVE_LIBDNET\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_LIBDNET\${SEDeB}HAVE_LIBDNET\${SEDeC}1\${SEDeD}
"
}

   LIBS="${LIBS} -ldnet"
fi


echo checking for return type of signal handlers
cat > conftest.c <<EOF
#include <sys/types.h>
#include <signal.h>
#ifdef signal
#undef signal
#endif
extern void (*signal ()) ();
int main() { exit(0); }
int t() { int i; }
EOF
if eval $compile; then
  {
test -n "$verbose" && \
echo '	defining' RETSIGTYPE to be 'void'
DEFS="$DEFS -DRETSIGTYPE=void"
SEDDEFS="${SEDDEFS}\${SEDdA}RETSIGTYPE\${SEDdB}RETSIGTYPE\${SEDdC}void\${SEDdD}
\${SEDuA}RETSIGTYPE\${SEDuB}RETSIGTYPE\${SEDuC}void\${SEDuD}
\${SEDeA}RETSIGTYPE\${SEDeB}RETSIGTYPE\${SEDeC}void\${SEDeD}
"
}

else
  {
test -n "$verbose" && \
echo '	defining' RETSIGTYPE to be 'int'
DEFS="$DEFS -DRETSIGTYPE=int"
SEDDEFS="${SEDDEFS}\${SEDdA}RETSIGTYPE\${SEDdB}RETSIGTYPE\${SEDdC}int\${SEDdD}
\${SEDuA}RETSIGTYPE\${SEDuB}RETSIGTYPE\${SEDuC}int\${SEDuD}
\${SEDeA}RETSIGTYPE\${SEDeB}RETSIGTYPE\${SEDeC}int\${SEDeD}
"
}

fi
rm -f conftest*



# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments.  Useless!
echo checking for working alloca.h
cat > conftest.c <<EOF
#include <alloca.h>
int main() { exit(0); }
int t() { char *p = alloca(2 * sizeof(int)); }
EOF
if eval $compile; then
  {
test -n "$verbose" && \
echo '	defining' HAVE_ALLOCA_H
DEFS="$DEFS -DHAVE_ALLOCA_H=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_ALLOCA_H\${SEDdB}HAVE_ALLOCA_H\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_ALLOCA_H\${SEDuB}HAVE_ALLOCA_H\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_ALLOCA_H\${SEDeB}HAVE_ALLOCA_H\${SEDeC}1\${SEDeD}
"
}

fi
rm -f conftest*

decl="#ifdef __GNUC__
#define alloca __builtin_alloca
#else
#if HAVE_ALLOCA_H
#include <alloca.h>
#else
#ifdef _AIX
 #pragma alloca
#else
char *alloca ();
#endif
#endif
#endif
"
echo checking for alloca
cat > conftest.c <<EOF
$decl
int main() { exit(0); }
int t() { char *p = (char *) alloca(1); }
EOF
if eval $compile; then
  :
else
  alloca_missing=1
cat > conftest.c <<EOF

#if defined(CRAY) && ! defined(CRAY2)
winnitude
#else
lossage
#endif

EOF
eval "$CPP \$DEFS conftest.c > conftest.out 2>&1"
if egrep "winnitude" conftest.out >/dev/null 2>&1; then
  echo checking for _getb67
cat > conftest.c <<EOF
#include <ctype.h>
int main() { exit(0); }
int t() { 
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub__getb67) || defined (__stub____getb67)
choke me
#else
/* Override any gcc2 internal prototype to avoid an error.  */
extern char _getb67(); _getb67();
#endif
 }
EOF
if eval $compile; then
  {
test -n "$verbose" && \
echo '	defining' CRAY_STACKSEG_END to be '_getb67'
DEFS="$DEFS -DCRAY_STACKSEG_END=_getb67"
SEDDEFS="${SEDDEFS}\${SEDdA}CRAY_STACKSEG_END\${SEDdB}CRAY_STACKSEG_END\${SEDdC}_getb67\${SEDdD}
\${SEDuA}CRAY_STACKSEG_END\${SEDuB}CRAY_STACKSEG_END\${SEDuC}_getb67\${SEDuD}
\${SEDeA}CRAY_STACKSEG_END\${SEDeB}CRAY_STACKSEG_END\${SEDeC}_getb67\${SEDeD}
"
}

else
  echo checking for GETB67
cat > conftest.c <<EOF
#include <ctype.h>
int main() { exit(0); }
int t() { 
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_GETB67) || defined (__stub___GETB67)
choke me
#else
/* Override any gcc2 internal prototype to avoid an error.  */
extern char GETB67(); GETB67();
#endif
 }
EOF
if eval $compile; then
  {
test -n "$verbose" && \
echo '	defining' CRAY_STACKSEG_END to be 'GETB67'
DEFS="$DEFS -DCRAY_STACKSEG_END=GETB67"
SEDDEFS="${SEDDEFS}\${SEDdA}CRAY_STACKSEG_END\${SEDdB}CRAY_STACKSEG_END\${SEDdC}GETB67\${SEDdD}
\${SEDuA}CRAY_STACKSEG_END\${SEDuB}CRAY_STACKSEG_END\${SEDuC}GETB67\${SEDuD}
\${SEDeA}CRAY_STACKSEG_END\${SEDeB}CRAY_STACKSEG_END\${SEDeC}GETB67\${SEDeD}
"
}

else
  echo checking for getb67
cat > conftest.c <<EOF
#include <ctype.h>
int main() { exit(0); }
int t() { 
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_getb67) || defined (__stub___getb67)
choke me
#else
/* Override any gcc2 internal prototype to avoid an error.  */
extern char getb67(); getb67();
#endif
 }
EOF
if eval $compile; then
  {
test -n "$verbose" && \
echo '	defining' CRAY_STACKSEG_END to be 'getb67'
DEFS="$DEFS -DCRAY_STACKSEG_END=getb67"
SEDDEFS="${SEDDEFS}\${SEDdA}CRAY_STACKSEG_END\${SEDdB}CRAY_STACKSEG_END\${SEDdC}getb67\${SEDdD}
\${SEDuA}CRAY_STACKSEG_END\${SEDuB}CRAY_STACKSEG_END\${SEDuC}getb67\${SEDuD}
\${SEDeA}CRAY_STACKSEG_END\${SEDeB}CRAY_STACKSEG_END\${SEDeC}getb67\${SEDeD}
"
}

fi
rm -f conftest*

fi
rm -f conftest*

fi
rm -f conftest*

fi
rm -f conftest*


fi
rm -f conftest*

if test -n "$alloca_missing"; then
  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
  # that cause trouble.  Some versions do not even contain alloca or
  # contain a buggy version.  If you still want to use their alloca,
  # use ar to extract alloca.o from them instead of compiling alloca.c.
  ALLOCA=alloca.o

  echo 'checking stack direction for C alloca'
  echo checking whether cross-compiling
# If we cannot run a trivial program, we must be cross compiling.
cat > conftest.c <<EOF
main(){exit(0);}
EOF
eval $compile
if test -s conftest && (./conftest; exit) 2>/dev/null; then
  :
else
  cross_compiling=1
fi
rm -f conftest*

if test -n "$cross_compiling"
then
  {
test -n "$verbose" && \
echo '	defining' STACK_DIRECTION to be '0'
DEFS="$DEFS -DSTACK_DIRECTION=0"
SEDDEFS="${SEDDEFS}\${SEDdA}STACK_DIRECTION\${SEDdB}STACK_DIRECTION\${SEDdC}0\${SEDdD}
\${SEDuA}STACK_DIRECTION\${SEDuB}STACK_DIRECTION\${SEDuC}0\${SEDuD}
\${SEDeA}STACK_DIRECTION\${SEDeB}STACK_DIRECTION\${SEDeC}0\${SEDeD}
"
}

else
cat > conftest.c <<EOF
find_stack_direction ()
{
  static char *addr = 0;
  auto char dummy;
  if (addr == 0)
    {
      addr = &dummy;
      return find_stack_direction ();
    }
  else
    return (&dummy > addr) ? 1 : -1;
}
main ()
{
  exit (find_stack_direction() < 0);
}
EOF
eval $compile
if test -s conftest && (./conftest; exit) 2>/dev/null; then
  {
test -n "$verbose" && \
echo '	defining' STACK_DIRECTION to be '1'
DEFS="$DEFS -DSTACK_DIRECTION=1"
SEDDEFS="${SEDDEFS}\${SEDdA}STACK_DIRECTION\${SEDdB}STACK_DIRECTION\${SEDdC}1\${SEDdD}
\${SEDuA}STACK_DIRECTION\${SEDuB}STACK_DIRECTION\${SEDuC}1\${SEDuD}
\${SEDeA}STACK_DIRECTION\${SEDeB}STACK_DIRECTION\${SEDeC}1\${SEDeD}
"
}

else
  {
test -n "$verbose" && \
echo '	defining' STACK_DIRECTION to be '-1'
DEFS="$DEFS -DSTACK_DIRECTION=-1"
SEDDEFS="${SEDDEFS}\${SEDdA}STACK_DIRECTION\${SEDdB}STACK_DIRECTION\${SEDdC}-1\${SEDdD}
\${SEDuA}STACK_DIRECTION\${SEDuB}STACK_DIRECTION\${SEDuC}-1\${SEDuD}
\${SEDeA}STACK_DIRECTION\${SEDeB}STACK_DIRECTION\${SEDeC}-1\${SEDeD}
"
}

fi
fi
rm -f conftest*
fi

for func in gettimeofday gethostname dup2 rename closedir
do
trfunc=HAVE_`echo $func | tr '[a-z]' '[A-Z]'`
echo checking for ${func}
cat > conftest.c <<EOF
#include <ctype.h>
int main() { exit(0); }
int t() { 
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_${func}) || defined (__stub___${func})
choke me
#else
/* Override any gcc2 internal prototype to avoid an error.  */
extern char ${func}(); ${func}();
#endif
 }
EOF
if eval $compile; then
  {
test -n "$verbose" && \
echo '	defining' ${trfunc}
DEFS="$DEFS -D${trfunc}=1"
SEDDEFS="${SEDDEFS}\${SEDdA}${trfunc}\${SEDdB}${trfunc}\${SEDdC}1\${SEDdD}
\${SEDuA}${trfunc}\${SEDuB}${trfunc}\${SEDuC}1\${SEDuD}
\${SEDeA}${trfunc}\${SEDeB}${trfunc}\${SEDeC}1\${SEDeD}
"
}

fi
rm -f conftest*
done


echo checking for struct tm in time.h
cat > conftest.c <<EOF
#include <sys/types.h>
#include <time.h>
int main() { exit(0); }
int t() { struct tm *tp; }
EOF
if eval $compile; then
  :
else
  {
test -n "$verbose" && \
echo '	defining' TM_IN_SYS_TIME
DEFS="$DEFS -DTM_IN_SYS_TIME=1"
SEDDEFS="${SEDDEFS}\${SEDdA}TM_IN_SYS_TIME\${SEDdB}TM_IN_SYS_TIME\${SEDdC}1\${SEDdD}
\${SEDuA}TM_IN_SYS_TIME\${SEDuB}TM_IN_SYS_TIME\${SEDuC}1\${SEDuD}
\${SEDeA}TM_IN_SYS_TIME\${SEDeB}TM_IN_SYS_TIME\${SEDeC}1\${SEDeD}
"
}

fi
rm -f conftest*

decl='#include <sys/types.h>
'
case "$DEFS" in
  *TM_IN_SYS_TIME*) decl="$decl
#include <sys/time.h>
" ;;
  *) decl="$decl
#include <time.h>
" ;;
esac
echo checking for tm_zone in struct tm
cat > conftest.c <<EOF
$decl
int main() { exit(0); }
int t() { struct tm tm; tm.tm_zone; }
EOF
if eval $compile; then
  {
test -n "$verbose" && \
echo '	defining' HAVE_TM_ZONE
DEFS="$DEFS -DHAVE_TM_ZONE=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_TM_ZONE\${SEDdB}HAVE_TM_ZONE\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_TM_ZONE\${SEDuB}HAVE_TM_ZONE\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_TM_ZONE\${SEDeB}HAVE_TM_ZONE\${SEDeC}1\${SEDeD}
"
}

else
  no_tm_zone=1
fi
rm -f conftest*

if test -n "$no_tm_zone"; then
echo checking for tzname
cat > conftest.c <<EOF
#include <time.h>
#ifndef tzname /* For SGI.  */
extern char *tzname[]; /* RS6000 and others want it this way.  */
#endif
int main() { exit(0); }
int t() { atoi(*tzname); }
EOF
if eval $compile; then
  {
test -n "$verbose" && \
echo '	defining' HAVE_TZNAME
DEFS="$DEFS -DHAVE_TZNAME=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_TZNAME\${SEDdB}HAVE_TZNAME\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_TZNAME\${SEDuB}HAVE_TZNAME\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_TZNAME\${SEDeB}HAVE_TZNAME\${SEDeC}1\${SEDeD}
"
}

fi
rm -f conftest*

fi


prog='/* Ultrix mips cc rejects this.  */
typedef int charset[2]; const charset x;
/* SunOS 4.1.1 cc rejects this.  */
char const *const *ccp;
char **p;
/* AIX XL C 1.02.0.0 rejects this.
   It does not let you subtract one const X* pointer from another in an arm
   of an if-expression whose if-part is not a constant expression */
const char *g = "string";
ccp = &g + (g ? g-g : 0);
/* HPUX 7.0 cc rejects these. */
++ccp;
p = (char**) ccp;
ccp = (char const *const *) p;
{ /* SCO 3.2v4 cc rejects this.  */
  char *t;
  char const *s = 0 ? (char *) 0 : (char const *) 0;

  *t++ = 0;
}
{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
  int x[] = {25,17};
  const int *foo = &x[0];
  ++foo;
}
{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
  typedef const int *iptr;
  iptr p = 0;
  ++p;
}
{ /* AIX XL C 1.02.0.0 rejects this saying
     "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
  struct s { int j; const int *ap[3]; };
  struct s *b; b->j = 5;
}'
echo checking for working const
cat > conftest.c <<EOF

int main() { exit(0); }
int t() { $prog }
EOF
if eval $compile; then
  :
else
  {
test -n "$verbose" && \
echo '	defining' const to be 'empty'
DEFS="$DEFS -Dconst="
SEDDEFS="${SEDDEFS}\${SEDdA}const\${SEDdB}const\${SEDdC}\${SEDdD}
\${SEDuA}const\${SEDuB}const\${SEDuC}\${SEDuD}
\${SEDeA}const\${SEDeB}const\${SEDeC}\${SEDeD}
"
}

fi
rm -f conftest*


echo checking for long file names
lost=false
# Test for long file names in all the places we know might matter:
#      .		the current directory, where building will happen
#      /tmp		where it might want to write temporary files
#      /usr/tmp		likewise
#      $prefix		where we will be installing things
#      $exec_prefix	likewise
for dir in . /tmp /usr/tmp $prefix $exec_prefix ; do
  (echo 1 > $dir/conftest9012345) 2>/dev/null
  (echo 2 > $dir/conftest9012346) 2>/dev/null
  val=`cat $dir/conftest9012345 2>/dev/null`
  test -f $dir/conftest9012345 && test "$val" = 1 || lost=true
  rm -f $dir/conftest9012345 $dir/conftest9012346 2> /dev/null
done
$lost || {
test -n "$verbose" && \
echo '	defining' HAVE_LONG_FILE_NAMES
DEFS="$DEFS -DHAVE_LONG_FILE_NAMES=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_LONG_FILE_NAMES\${SEDdB}HAVE_LONG_FILE_NAMES\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_LONG_FILE_NAMES\${SEDuB}HAVE_LONG_FILE_NAMES\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_LONG_FILE_NAMES\${SEDeB}HAVE_LONG_FILE_NAMES\${SEDeC}1\${SEDeD}
"
}






#### Choose a window system.
echo "Checking window system."

window_system=''
case "${with_x}" in
  yes )
    window_system=${window_system}x11
  ;;
  no )
    window_system=${window_system}none
esac
case "${with_x11}" in
  yes )
    window_system=${window_system}x11
  ;;
esac
case "${with_x10}" in
  yes )
    window_system=${window_system}x10
  ;;
esac

### If the user hasn't specified where we should find X, try
### letting autoconf figure that out.
if [ "0${x_includes}" == 0 ] && [ "0${x_libraries}" == 0 ]; then
  
    # If we find X, set shell vars x_includes and x_libraries to the paths.
echo checking for X include and library files with xmkmf
rm -fr conftestdir
if mkdir conftestdir; then
  cd conftestdir
  cat < /dev/null > Imakefile
  if xmkmf >/dev/null 2>/dev/null && test -f Makefile; then
    eval `sed -n \
    -e 's,.* INCROOT *=[^/]*,x_includes=,p' \
    -e 's,.* USRLIBDIR *=[^/]*,x_libraries=,p' \
    Makefile`
  fi
  cd ..
  rm -fr conftestdir
fi

  
fi

case "${window_system}" in
  "none" | "x11" | "x10" ) ;;
  "" )
    echo "  No window system specified.  Looking for X11."
    window_system=none
    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
    fi
  ;;
  * )
    echo "Don't specify the window system more than once." >&2
    exit 1
  ;;
esac

case "${window_system}" in
  x11 )
    HAVE_X_WINDOWS=yes
    HAVE_X11=yes
    echo "  Using X11."
  ;;
  x10 )
    HAVE_X_WINDOWS=yes
    HAVE_X11=no
    echo "  Using X10."
  ;;
  none )
    HAVE_X_WINDOWS=no
    HAVE_X11=no
    echo "  Using no window system."
  ;;
esac

### If we're using X11, we should use the X menu package.
HAVE_X_MENU=no
case ${HAVE_X11} in
  yes )
    HAVE_X_MENU=yes
  ;;
esac

#### Extract some information from the operating system and machine files.

echo "Examining the machine- and system-dependent files to find out"
echo " - which libraries the lib-src programs will want, and"
echo " - whether the GNU malloc routines are usable."

### It's not important that this name contain the PID; you can't run
### two configures in the same directory and have anything work
### anyway.
tempcname="conftest.c"

echo '
#include "'${srcdir}'/src/'${opsysfile}'"
#include "'${srcdir}'/src/'${machfile}'"
#ifndef LIBS_MACHINE
#define LIBS_MACHINE
#endif
#ifndef LIBS_SYSTEM
#define LIBS_SYSTEM
#endif
#ifndef C_SWITCH_SYSTEM
#define C_SWITCH_SYSTEM
#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...
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.
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.
GNU_MALLOC=yes
if [ "${system_malloc}" = "yes" ]; then
  GNU_MALLOC=no
  GNU_MALLOC_reason="
  (The GNU allocators don't work with this system configuration.)"
fi

if [ x"${REL_ALLOC}" = x ]; then
  REL_ALLOC=${GNU_MALLOC}
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}"

LIBS_save="${LIBS}"
LIBS="${LIBS} -lXbsd"
have_lib=""
echo checking for -lXbsd
cat > conftest.c <<EOF

int main() { exit(0); }
int t() { main(); }
EOF
if eval $compile; then
  have_lib="1"
fi
rm -f conftest*
LIBS="${LIBS_save}"
if test -n "${have_lib}"; then
   {
test -n "$verbose" && \
echo '	defining' HAVE_LIBXBSD
DEFS="$DEFS -DHAVE_LIBXBSD=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_LIBXBSD\${SEDdB}HAVE_LIBXBSD\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_LIBXBSD\${SEDuB}HAVE_LIBXBSD\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_LIBXBSD\${SEDeB}HAVE_LIBXBSD\${SEDeC}1\${SEDeD}
"
}

   LIBS="${LIBS} -lXbsd"
fi


LIBS_save="$LIBS"
if [ "${HAVE_X11}" = "yes" ] ; then
  LIBS="-lX11 ${LIBS}"
fi

for func in XrmSetDatabase random
do
trfunc=HAVE_`echo $func | tr '[a-z]' '[A-Z]'`
echo checking for ${func}
cat > conftest.c <<EOF
#include <ctype.h>
int main() { exit(0); }
int t() { 
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined (__stub_${func}) || defined (__stub___${func})
choke me
#else
/* Override any gcc2 internal prototype to avoid an error.  */
extern char ${func}(); ${func}();
#endif
 }
EOF
if eval $compile; then
  {
test -n "$verbose" && \
echo '	defining' ${trfunc}
DEFS="$DEFS -D${trfunc}=1"
SEDDEFS="${SEDDEFS}\${SEDdA}${trfunc}\${SEDdB}${trfunc}\${SEDdC}1\${SEDdD}
\${SEDuA}${trfunc}\${SEDuB}${trfunc}\${SEDuC}1\${SEDuD}
\${SEDeA}${trfunc}\${SEDeB}${trfunc}\${SEDeC}1\${SEDeD}
"
}

fi
rm -f conftest*
done


CFLAGS="$CFLAGS_save"
LIBS="$LIBS_save"

case "${window_system}:${LIBS}" in
  x11:*-lXbsd* )
    if [ -d /usr/X386/include ]; then
      HAVE_XFREE386=yes
      if [ "${C_SWITCH_X_SITE}" = "" ]; then
	C_SWITCH_X_SITE="-I/usr/X386/include"
      fi
    fi
  ;;
esac

#### 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 [ x"${version}" = x ]; then
  echo "${progname}: can't find current emacs version in
	\`${srcdir}/lisp/version.el'." >&2
  exit 1
fi


#### Specify what sort of things we'll be editing into Makefile and config.h.














{
test -n "$verbose" && \
echo '	defining' config_machfile to be '"\"${machfile}\""'
DEFS="$DEFS -Dconfig_machfile="\"${machfile}\"""
SEDDEFS="${SEDDEFS}\${SEDdA}config_machfile\${SEDdB}config_machfile\${SEDdC}"\"${machfile}\""\${SEDdD}
\${SEDuA}config_machfile\${SEDuB}config_machfile\${SEDuC}"\"${machfile}\""\${SEDuD}
\${SEDeA}config_machfile\${SEDeB}config_machfile\${SEDeC}"\"${machfile}\""\${SEDeD}
"
}

{
test -n "$verbose" && \
echo '	defining' config_opsysfile to be '"\"${opsysfile}\""'
DEFS="$DEFS -Dconfig_opsysfile="\"${opsysfile}\"""
SEDDEFS="${SEDDEFS}\${SEDdA}config_opsysfile\${SEDdB}config_opsysfile\${SEDdC}"\"${opsysfile}\""\${SEDdD}
\${SEDuA}config_opsysfile\${SEDuB}config_opsysfile\${SEDuC}"\"${opsysfile}\""\${SEDuD}
\${SEDeA}config_opsysfile\${SEDeB}config_opsysfile\${SEDeC}"\"${opsysfile}\""\${SEDeD}
"
}

{
test -n "$verbose" && \
echo '	defining' LD_SWITCH_X_SITE to be '${LD_SWITCH_X_SITE}'
DEFS="$DEFS -DLD_SWITCH_X_SITE=${LD_SWITCH_X_SITE}"
SEDDEFS="${SEDDEFS}\${SEDdA}LD_SWITCH_X_SITE\${SEDdB}LD_SWITCH_X_SITE\${SEDdC}${LD_SWITCH_X_SITE}\${SEDdD}
\${SEDuA}LD_SWITCH_X_SITE\${SEDuB}LD_SWITCH_X_SITE\${SEDuC}${LD_SWITCH_X_SITE}\${SEDuD}
\${SEDeA}LD_SWITCH_X_SITE\${SEDeB}LD_SWITCH_X_SITE\${SEDeC}${LD_SWITCH_X_SITE}\${SEDeD}
"
}

{
test -n "$verbose" && \
echo '	defining' C_SWITCH_X_SITE to be '${C_SWITCH_X_SITE}'
DEFS="$DEFS -DC_SWITCH_X_SITE=${C_SWITCH_X_SITE}"
SEDDEFS="${SEDDEFS}\${SEDdA}C_SWITCH_X_SITE\${SEDdB}C_SWITCH_X_SITE\${SEDdC}${C_SWITCH_X_SITE}\${SEDdD}
\${SEDuA}C_SWITCH_X_SITE\${SEDuB}C_SWITCH_X_SITE\${SEDuC}${C_SWITCH_X_SITE}\${SEDuD}
\${SEDeA}C_SWITCH_X_SITE\${SEDeB}C_SWITCH_X_SITE\${SEDeC}${C_SWITCH_X_SITE}\${SEDeD}
"
}

{
test -n "$verbose" && \
echo '	defining' UNEXEC_SRC to be '${UNEXEC_SRC}'
DEFS="$DEFS -DUNEXEC_SRC=${UNEXEC_SRC}"
SEDDEFS="${SEDDEFS}\${SEDdA}UNEXEC_SRC\${SEDdB}UNEXEC_SRC\${SEDdC}${UNEXEC_SRC}\${SEDdD}
\${SEDuA}UNEXEC_SRC\${SEDuB}UNEXEC_SRC\${SEDuC}${UNEXEC_SRC}\${SEDuD}
\${SEDeA}UNEXEC_SRC\${SEDeB}UNEXEC_SRC\${SEDeC}${UNEXEC_SRC}\${SEDeD}
"
}



if [ "${HAVE_X_WINDOWS}" = "yes" ] ; then
   {
test -n "$verbose" && \
echo '	defining' HAVE_X_WINDOWS
DEFS="$DEFS -DHAVE_X_WINDOWS=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_X_WINDOWS\${SEDdB}HAVE_X_WINDOWS\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_X_WINDOWS\${SEDuB}HAVE_X_WINDOWS\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_X_WINDOWS\${SEDeB}HAVE_X_WINDOWS\${SEDeC}1\${SEDeD}
"
}
 
fi
if [ "${HAVE_X11}" = "yes" ] ; then
   {
test -n "$verbose" && \
echo '	defining' HAVE_X11
DEFS="$DEFS -DHAVE_X11=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_X11\${SEDdB}HAVE_X11\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_X11\${SEDuB}HAVE_X11\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_X11\${SEDeB}HAVE_X11\${SEDeC}1\${SEDeD}
"
}
 
fi
if [ "${HAVE_XFREE386}" = "yes" ] ; then
   {
test -n "$verbose" && \
echo '	defining' HAVE_XFREE386
DEFS="$DEFS -DHAVE_XFREE386=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_XFREE386\${SEDdB}HAVE_XFREE386\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_XFREE386\${SEDuB}HAVE_XFREE386\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_XFREE386\${SEDeB}HAVE_XFREE386\${SEDeC}1\${SEDeD}
"
}
 
fi
if [ "${HAVE_X_MENU}" = "yes" ] ; then
   {
test -n "$verbose" && \
echo '	defining' HAVE_X_MENU
DEFS="$DEFS -DHAVE_X_MENU=1"
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_X_MENU\${SEDdB}HAVE_X_MENU\${SEDdC}1\${SEDdD}
\${SEDuA}HAVE_X_MENU\${SEDuB}HAVE_X_MENU\${SEDuC}1\${SEDuD}
\${SEDeA}HAVE_X_MENU\${SEDeB}HAVE_X_MENU\${SEDeC}1\${SEDeD}
"
}
 
fi
if [ "${GNU_MALLOC}" = "yes" ] ; then
   {
test -n "$verbose" && \
echo '	defining' GNU_MALLOC
DEFS="$DEFS -DGNU_MALLOC=1"
SEDDEFS="${SEDDEFS}\${SEDdA}GNU_MALLOC\${SEDdB}GNU_MALLOC\${SEDdC}1\${SEDdD}
\${SEDuA}GNU_MALLOC\${SEDuB}GNU_MALLOC\${SEDuC}1\${SEDuD}
\${SEDeA}GNU_MALLOC\${SEDeB}GNU_MALLOC\${SEDeC}1\${SEDeD}
"
}
 
fi
if [ "${REL_ALLOC}" = "yes" ] ; then
   {
test -n "$verbose" && \
echo '	defining' REL_ALLOC
DEFS="$DEFS -DREL_ALLOC=1"
SEDDEFS="${SEDDEFS}\${SEDdA}REL_ALLOC\${SEDdB}REL_ALLOC\${SEDdC}1\${SEDdD}
\${SEDuA}REL_ALLOC\${SEDuB}REL_ALLOC\${SEDuC}1\${SEDuD}
\${SEDeA}REL_ALLOC\${SEDeB}REL_ALLOC\${SEDeC}1\${SEDeD}
"
}
 
fi
if [ "${LISP_FLOAT_TYPE}" = "yes" ] ; then
   {
test -n "$verbose" && \
echo '	defining' LISP_FLOAT_TYPE
DEFS="$DEFS -DLISP_FLOAT_TYPE=1"
SEDDEFS="${SEDDEFS}\${SEDdA}LISP_FLOAT_TYPE\${SEDdB}LISP_FLOAT_TYPE\${SEDdC}1\${SEDdD}
\${SEDuA}LISP_FLOAT_TYPE\${SEDuB}LISP_FLOAT_TYPE\${SEDuC}1\${SEDuD}
\${SEDeA}LISP_FLOAT_TYPE\${SEDeB}LISP_FLOAT_TYPE\${SEDeC}1\${SEDeD}
"
}
 
fi


#### Report on what we decided to do.
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}
  Should Emacs use the GNU version of malloc?             ${GNU_MALLOC}${GNU_MALLOC_reason}
  Should Emacs use the relocating allocator for buffers?  ${REL_ALLOC}
  What window system should Emacs use?                    ${window_system}${x_includes+
  Where do we find X Windows header files?                }${x_includes}${x_libraries+
  Where do we find X Windows libraries?                   }${x_libraries}

"

if test -n "$prefix"; then
  test -z "$exec_prefix" && exec_prefix='${prefix}'
  prsub="s%^prefix\\([ 	]*\\)=\\([ 	]*\\).*$%prefix\\1=\\2$prefix%"
fi
if test -n "$exec_prefix"; then
  prsub="$prsub
s%^exec_prefix\\([ 	]*\\)=\\([ 	]*\\).*$%exec_prefix\\1=\\2$exec_prefix%"
fi
cat >conftest.def <<EOF
$DEFS
EOF
escape_ampersand_and_backslash='s%[&\\]%\\&%g'
DEFS=`sed "$escape_ampersand_and_backslash" <conftest.def`
rm -f conftest.def

trap 'rm -f config.status; exit 1' 1 3 15
echo creating config.status
rm -f config.status
cat > config.status <<EOF
#!/bin/sh
# Generated automatically by configure.
# Run this file to recreate the current configuration.
# This directory was configured as follows,
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
#
# $0 $configure_args

for arg
do
  case "\$arg" in
    -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
    exec /bin/sh $0 $configure_args ;;
    *) echo "Usage: config.status --recheck" 2>&1; exit 1 ;;
  esac
done

trap 'rm -fr Makefile src/config.h conftest*; exit 1' 1 3 15
CC='$CC'
LN_S='$LN_S'
CPP='$CPP'
INSTALL='$INSTALL'
INSTALL_PROGRAM='$INSTALL_PROGRAM'
INSTALL_DATA='$INSTALL_DATA'
YACC='$YACC'
ALLOCA='$ALLOCA'
configuration='$configuration'
version='$version'
srcdir='$srcdir'
c_switch_system='$c_switch_system'
libsrc_libs='$libsrc_libs'
rip_paths='$rip_paths'
inst_paths='$inst_paths'
LD_SWITCH_X_SITE='$LD_SWITCH_X_SITE'
C_SWITCH_X_SITE='$C_SWITCH_X_SITE'
CFLAGS='$CFLAGS'
prefix='$prefix'
exec_prefix='$exec_prefix'
LIBS='$LIBS'
prefix='$prefix'
exec_prefix='$exec_prefix'
prsub='$prsub'
EOF
cat >> config.status <<\EOF

top_srcdir=$srcdir

# Allow make-time overrides of the generated file list.
test -n "$gen_files" || gen_files="Makefile"

for file in .. $gen_files; do if [ "x$file" != "x.." ]; then
  srcdir=$top_srcdir
  # Remove last slash and all that follows it.  Not all systems have dirname.
  dir=`echo $file|sed 's%/[^/][^/]*$%%'`
  if test "$dir" != "$file"; then
    test "$top_srcdir" != . && srcdir=$top_srcdir/$dir
    test ! -d $dir && mkdir $dir
  fi
  echo creating $file
  rm -f $file
  echo "# Generated automatically from `echo $file|sed 's|.*/||'`.in by configure." > $file
  sed -e "
$prsub
s%@CC@%$CC%g
s%@LN_S@%$LN_S%g
s%@CPP@%$CPP%g
s%@INSTALL@%$INSTALL%g
s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
s%@INSTALL_DATA@%$INSTALL_DATA%g
s%@YACC@%$YACC%g
s%@ALLOCA@%$ALLOCA%g
s%@configuration@%$configuration%g
s%@version@%$version%g
s%@srcdir@%$srcdir%g
s%@c_switch_system@%$c_switch_system%g
s%@libsrc_libs@%$libsrc_libs%g
s%@rip_paths@%$rip_paths%g
s%@inst_paths@%$inst_paths%g
s%@LD_SWITCH_X_SITE@%$LD_SWITCH_X_SITE%g
s%@C_SWITCH_X_SITE@%$C_SWITCH_X_SITE%g
s%@CFLAGS@%$CFLAGS%g
s%@prefix@%$prefix%g
s%@exec_prefix@%$exec_prefix%g
s%@LIBS@%$LIBS%g
s%@DEFS@%-DHAVE_CONFIG_H%" $top_srcdir/${file}.in >> $file
fi; done
test -n "$gen_config" || gen_config=src/config.h
echo creating $gen_config
# These sed commands are put into SEDDEFS when defining a macro.
# They are broken into pieces to make the sed script easier to manage.
# They are passed to sed as "A NAME B NAME C VALUE D", where NAME
# is the cpp macro being defined and VALUE is the value it is being given.
# Each defining turns into a single global substitution command.
#
# SEDd sets the value in "#define NAME VALUE" lines.
SEDdA='s@^\([ 	]*\)#\([ 	]*define[ 	][ 	]*\)'
SEDdB='\([ 	][ 	]*\)[^ 	]*@\1#\2'
SEDdC='\3'
SEDdD='@g'
# SEDu turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
SEDuA='s@^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
SEDuB='\([ 	]\)@\1#\2define\3'
SEDuC=' '
SEDuD='\4@g'
# SEDe turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
SEDeA='s@^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
SEDeB='$@\1#\2define\3'
SEDeC=' '
SEDeD='@g'
rm -f conftest.sed
EOF
# Turn off quoting long enough to insert the sed commands.
rm -f conftest.sh
cat > conftest.sh <<EOF
$SEDDEFS
EOF

# Maximum number of lines to put in a single here document.
maxshlines=9

# Break up $SEDDEFS (now in conftest.sh) because some shells have a limit
# on the size of here documents.

while :
do
  lines=`grep -c . conftest.sh`
  if test -z "$lines" || test "$lines" -eq 0; then break; fi
  rm -f conftest.s1 conftest.s2
  sed ${maxshlines}q conftest.sh > conftest.s1 # Like head -20.
  sed 1,${maxshlines}d conftest.sh > conftest.s2 # Like tail +21.
  # Write a limited-size here document to append to conftest.sed.
  echo 'cat >> conftest.sed <<CONFEOF' >> config.status
  cat conftest.s1 >> config.status
  echo 'CONFEOF' >> config.status
  rm -f conftest.s1 conftest.sh
  mv conftest.s2 conftest.sh
done
rm -f conftest.sh

# Now back to your regularly scheduled config.status.
cat >> config.status <<\EOF
# This sed command replaces #undef's with comments.  This is necessary, for
# example, in the case of _POSIX_SOURCE, which is predefined and required
# on some systems where configure will not decide to define it in
# src/config.h.
cat >> conftest.sed <<\CONFEOF
s,^[ 	]*#[ 	]*undef[ 	][ 	]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
CONFEOF
rm -f conftest.h
# Break up the sed commands because old seds have small limits.
maxsedlines=20
cp $top_srcdir/$gen_config.in conftest.h1
while :
do
  lines=`grep -c . conftest.sed`
  if test -z "$lines" || test "$lines" -eq 0; then break; fi
  rm -f conftest.s1 conftest.s2 conftest.h2
  sed ${maxsedlines}q conftest.sed > conftest.s1 # Like head -20.
  sed 1,${maxsedlines}d conftest.sed > conftest.s2 # Like tail +21.
  sed -f conftest.s1 < conftest.h1 > conftest.h2
  rm -f conftest.s1 conftest.h1 conftest.sed
  mv conftest.h2 conftest.h1
  mv conftest.s2 conftest.sed
done
rm -f conftest.sed conftest.h
echo "/* $gen_config.  Generated automatically by configure.  */" > conftest.h
cat conftest.h1 >> conftest.h
rm -f conftest.h1
if cmp -s $gen_config conftest.h 2>/dev/null; then
  # The file exists and we would not be changing it.
  rm -f conftest.h
else
  rm -f $gen_config
  mv conftest.h $gen_config
fi


exit 0
EOF
chmod +x config.status
test -n "$no_create" || ./config.status

