-[
-### The above line is deliberately left blank. If it starts with a #,
-### some CSH's will think this is a csh script.
-
+dnl This is an autoconf script.
+dnl To rebuild the `configure' script from this, execute the command
+dnl autoconf
+dnl in the directory containing this script. You must have autoconf
+dnl version 1.4 or later.
+dnl
+dnl The following text appears in the resulting `configure' script,
+dnl explaining how to rebuild it.
+[#!/bin/sh
#### Configuration script for GNU Emacs
#### Copyright (C) 1992 Free Software Foundation, Inc.
+### Don't edit this script!
+### This script was automatically generated by the `autoconf' program
+### from the file `./configure.in'.
+### To rebuild it, execute the command
+### autoconf
+### in the this directory. You must have autoconf version 1.4 or later.
+
### This file is part of GNU Emacs.
### GNU Emacs is free software; you can redistribute it and/or modify
### Since Emacs has configuration requirements that autoconf can't
### meet, this file is an unholy marriage of custom-baked
-### configuration code and autoconf macros. New versions of autoconf
-### could very well break this arrangement.
-###
-### We omit the invocation of autoconf's initialization function,
-### because it produces Bourne shell code to parse arguments, but we
-### need to parse our own arguments.
+### configuration code and autoconf macros.
###
### We use the m4 quoting characters [ ] (as established by the
### autoconf system) to include large sections of raw sewage - Oops, I
#### Usage messages.
-short_usage="Type \`${progname} --usage' for more information about options."
-
-long_usage="Usage: ${progname} CONFIGURATION [-OPTION[=VALUE] ...]
+short_usage="Usage: ${progname} CONFIGURATION [-OPTION[=VALUE] ...]
Set compilation and installation parameters for GNU Emacs, and report.
CONFIGURATION specifies the machine and operating system to build for.
-For example:
- ${progname} sparc-sun-sunos4.1
-configures Emacs to build on a Sun Sparc machine running SunOS 4.1, and
- ${progname} decstation
-configures Emacs to run on a DECstation running Ultrix. See \`etc/MACHINES'.
-
-The --with-x, --with-x11 and --with-x10 options specify what window
- system to use; if all are omitted, use X11 if present. If you
- don't want X, specify \`--with-x=no'.
-
-The --x-includes=DIR option tells the build process where to search
- for the X Windows header files. DIR should have a
- subdirectory called \`X11' which contains \`X.h', \`Xlib.h', and
- the rest of the header files; DIR should not contain \`X11'
- itself. If this option is omitted, the build process assumes
- they exist in a directory the compiler checks by default.
-
-The --x-libraries=DIR option tells the build process where to look for
- the X windows libraries. If this option is omitted, the build
- process assumes they are in a directory the compiler checks by
- default.
-
-The --with-gcc option says that the build process should use GCC to
- compile Emacs. If you have GCC but don't want to use it,
- specify \`--with-gcc=no'. \`configure' tries to guess whether
- or not you have GCC by searching your executable path, but if
- it guesses incorrectly, you may need to use this.
-
-The --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."
### Record all the arguments, so we can save them in config.status.
arguments="$@"
-while [ $# != 0 ]; do
- arg="$1"
+### 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.
;;
## 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 ;;
## If the value was omitted, get it from the next argument.
if [ "${valomitted}" = "yes" ]; then
## Get the next argument from the argument list, if there is one.
- if [ $# = 1 ]; then
+ if [ $index = $# ]; then
(echo "${progname}: You must give a value for the \`--${optname}' option, as in
\`--${optname}=FOO'."
echo "${short_usage}") >&2
exit 1
fi
- shift; val="$1"
+ index=`expr $index + 1`
+ val=`eval echo '$'$index`
fi
srcdir="${val}"
-
- echo "${progname}: Beware - the \`--srcdir' option doesn't work yet." >&2
;;
## Has the user tried to tell us where the X files are?
## If the value was omitted, get it from the next argument.
if [ "${valomitted}" = "yes" ]; then
## Get the next argument from the argument list, if there is one.
- if [ $# = 1 ]; then
+ if [ $index = $# ]; then
(echo "${progname}: You must give a value for the \`--${optname}' option, as in
\`--${optname}=FOO'."
echo "${short_usage}") >&2
exit 1
fi
- shift; val="$1"
+ index=`expr $index + 1`
+ val=`eval echo '$'$index`
fi
x_includes="${val}"
- C_SWITCH_X_SITE="-I${x_includes}"
+ 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 [ $# = 1 ]; then
+ if [ $index = $# ]; then
(echo "${progname}: You must give a value for the \`--${optname}' option, as in
\`--${optname}=FOO'."
echo "${short_usage}") >&2
exit 1
fi
- shift; val="$1"
+ index=`expr $index + 1`
+ val=`eval echo '$'$index`
fi
x_libraries="${val}"
- LD_SWITCH_X_SITE="-L${x_libraries}"
+ 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 "${long_usage}" | more
+ echo "${short_usage}" | more
exit
;;
;;
esac
- shift
done
if [ "${configuration}" = "" ]; then
- (echo "${progname}: You must specify a configuration name as an argument."
- echo "${short_usage}") >&2
- exit 1
+ echo '- You did not tell me what kind of host system you want to configure.
+- I will attempt to guess the kind of system this is.' 1>&2
+ guesssys=`echo ${progname} | sed 's/configure$/config.guess/'`
+ if configuration=`${guesssys}` ; then
+ echo "- Looks like this is a ${configuration}" 1>&2
+ else
+ echo '- Failed to guess the system type. You need to tell me.' 1>&2
+ echo "${short_usage}" >&2
+ exit 1
+ fi
fi
-
#### Decide where the source is.
case "${srcdir}" in
## If it's not specified, see if `.' or `..' might work.
"" )
- if [ -f "./src/lisp.h" -a -f "./lisp/version.el" ]; then
- srcdir=`pwd`
+ confdir=`echo $0 | sed 's|//|/|' | sed 's|/[^/]*$||'`
+ if [ -f $confdir/src/lisp.h -a -f $confdir/lisp/version.el ]; then
+ srcdir="${confdir}"
else
- if [ -f "../src/lisp.h" -a -f "../lisp/version.el" ]; then
- srcdir=`(cd .. ; pwd)`
+ if [ -f "./src/lisp.h" -a -f "./lisp/version.el" ]; then
+ srcdir='.'
else
- (echo "\
+ if [ -f "../src/lisp.h" -a -f "../lisp/version.el" ]; then
+ srcdir='..'
+ else
+ (echo "\
${progname}: Neither the current directory nor its parent seem to
contain the Emacs sources. If you do not want to build Emacs in its
source tree, you should run \`${progname}' in the directory in which
you wish to build Emacs, using its \`--srcdir' option to say where the
sources may be found."
- echo "${short_usage}") >&2
- exit 1
+ echo "${short_usage}") >&2
+ exit 1
+ fi
fi
fi
;;
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 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
+### 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.
## Appallings - I mean, Apollos - running Domain
m68*-apollo* )
- machine=apollo opsysfile=bsd4-2.h
+ machine=apollo opsys=bsd4-2
;;
## AT&T 3b2, 3b5, 3b15, 3b20
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
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
;;
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* )
- 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
;;
+ 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* )
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 )
rs6000-ibm-aix3.2 | rs6000-ibm-aix* )
machine=ibmrs6000 opsys=aix3-2
;;
- romp-ibm-bsd* )
+ romp-ibm-bsd4-3 )
+ machine=ibmrt opsys=bsd4-3
+ ;;
+ romp-ibm-bsd4-2 )
+ machine=ibmrt opsys=bsd4-2
+ ;;
+ romp-ibm-aos4-3 )
+ machine=ibmrt opsys=bsd4-3
+ ;;
+ romp-ibm-aos4-2 )
machine=ibmrt opsys=bsd4-2
;;
+ romp-ibm-aos* )
+ machine=ibmrt opsys=bsd4-3
+ ;;
+ romp-ibm-bsd* )
+ machine=ibmrt opsys=bsd4-3
+ ;;
romp-ibm-aix* )
machine=ibmrt-aix opsys=usg5-2-2
;;
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 ;;
- ## 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
## the BSD world." I'll assume that these are instructions for
## handling two odd situations, and that every other situation
## should use mips.h and usg5-2-2, they being listed first.
+ mips-mips-usg* )
+ machine=mips4
+ ## Fall through to the general code at the bottom to decide on the OS.
+ ;;
mips-mips-riscos4* )
- machine=mips4 opsys=usg5-2-2
+ machine=mips4 opsys=bsd4-3
;;
mips-mips-bsd* )
machine=mips opsys=bsd4-3
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
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.
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 )
;;
## Suns
- *-sun-sunos* | *-sun-bsd* )
+ *-sun-sunos* | *-sun-bsd* | *-sun-solaris* )
case "${configuration}" in
m68*-sunos1* ) machine=sun1 ;;
m68*-sunos2* ) machine=sun2 ;;
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
;;
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
*-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 ;;
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
;;
### operating system is; if you know what operating systems a machine
### runs, it's cleaner to make it explicit in the case statement
### above.
-if [ ! "${opsys}" ]; then
+if [ x"${opsys}" = x ]; then
case "${configuration}" in
*-bsd4.[01] ) opsys=bsd4-1 ;;
*-bsd4.2 ) opsys=bsd4-2 ;;
*-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
;;
machfile="m/${machine}.h"
opsysfile="s/${opsys}.h"
-#### Set some things up for the autoconf macros.
-trap 'rm -f conftest* core; exit 1' 1 3 15
-
-rm -f conftest*
-compile='${CC-cc} $CFLAGS $DEFS conftest.c -o conftest $LIBS >/dev/null 2>&1'
-
+]
+AC_PREPARE(lisp)
+AC_CONFIG_HEADER(src/config.h)
+[
#### Choose a compiler.
-DEFS=-g
case ${with_gcc} in
- "yes" ) CC="gcc -O99" GCC=1 ;;
- "no" ) CC="cc" ;;
+ "yes" ) CC="gcc" GCC=1 ;;
+ "no" ) CC="cc" ;;
* )
-]
-AC_PROG_CC
-[
+ ] AC_PROG_CC [
esac
-#### 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.
]
-AC_CONST
+dnl checks for programs
+AC_LN_S
+AC_PROG_CPP
+AC_PROG_INSTALL
+AC_PROG_YACC
+
+dnl checks for UNIX variants that set `DEFS'
+
+dnl checks for header files
+AC_HAVE_HEADERS(sys/timeb.h sys/time.h)
+AC_STDC_HEADERS
+AC_TIME_WITH_SYS_TIME
+
+dnl checks for library files
+AC_HAVE_LIBRARY(-ldnet)
+
+dnl checks for typedefs
AC_RETSIGTYPE
-AC_HAVE_FUNCS(gettimeofday)
+
+dnl checks for functions
+AC_ALLOCA
+AC_HAVE_FUNCS(gettimeofday gethostname dup2 rename closedir)
+
+dnl checks for structure members
+AC_STRUCT_TM
+AC_TIMEZONE
+
+dnl checks for compiler characteristics
+AC_CONST
+
+dnl checks for operating system services
+AC_LONG_FILE_NAMES
+
+dnl other checks for UNIX variants
[
#### Choose a window system.
echo "Checking window system."
+
window_system=''
case "${with_x}" in
yes )
;;
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
+ ]
+ AC_FIND_X
+ [
+fi
+
case "${window_system}" in
"none" | "x11" | "x10" ) ;;
"" )
- echo " No window system specifed. Looking for X Windows."
+ echo " No window system specified. Looking for X11."
window_system=none
if [ -r /usr/lib/libX11.a \
-o -d /usr/include/X11 \
fi
;;
* )
- echo "Don\'t specify the window system more than once." >&2
+ echo "Don't specify the window system more than once." >&2
exit 1
;;
esac
;;
esac
-### Check for XFree386. It needs special hacks.
-case ${window_system} in
- x11 )
- 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
-
#### 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."
-tempcname="configure.tmp.$$.c"
+
+### 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}'"
#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}
-eval `${CC} -E ${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.
(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
+#### Add the X libraries to the list, and check for some functions found there.
+CFLAGS_save="$CFLAGS"
+CFLAGS="${CFLAGS} ${LD_SWITCH_X_SITE}"
+]
+AC_HAVE_LIBRARY(-lXbsd)
+[
+LIBS_save="$LIBS"
+if [ "${HAVE_X11}" = "yes" ] ; then
+ LIBS="-lX11 ${LIBS}"
+fi
+]
+AC_HAVE_FUNCS(XrmSetDatabase random)
+[
+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 [ ! "${version}" ]; then
+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 our Makefiles.
+#### Specify what sort of things we'll be editing into Makefile and config.h.
]
AC_SUBST(configuration)
AC_SUBST(version)
AC_SUBST(srcdir)
AC_SUBST(c_switch_system)
AC_SUBST(libsrc_libs)
-AC_SUBST(machfile)
-AC_SUBST(opsysfile)
+AC_SUBST(rip_paths)
+AC_SUBST(inst_paths)
AC_SUBST(LD_SWITCH_X_SITE)
AC_SUBST(C_SWITCH_X_SITE)
+AC_SUBST(CFLAGS)
+AC_SUBST(prefix)
+AC_SUBST(exec_prefix)
+
+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})
+
[
if [ "${HAVE_X_WINDOWS}" = "yes" ] ; then
] AC_DEFINE(HAVE_X_WINDOWS) [
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} -g
+ 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 libraries? }${x_libraries}
"
-
-### Restore the arguments to this script, so autoconf can record them
-### in the config.status file.
-set - ${arguments}
-]
-AC_OUTPUT(Makefile src/config.h)
-[
-
-### Autoconf likes to add a Makefile comment to the top of
-### src/config.h. Do you have a better idea?
-(cd src
- sed < config.h > conftemp.$$ '1d'
- mv conftemp.$$ config.h)
-
]
+AC_OUTPUT(Makefile)