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.
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"?
inst_paths='#disabled# '
;;
- ## Has the user specifiec an installation prefix?
+ ## Has the user specified an installation prefix?
"prefix" )
## If the value was omitted, get it from the next argument.
if [ "${valomitted}" = "yes" ]; then
prefix="${val}"
;;
- ## Has the user specifiec an installation prefix?
+ ## Has the user specified an installation prefix?
"exec_prefix" )
## If the value was omitted, get it from the next argument.
if [ "${valomitted}" = "yes" ]; then
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
srcdir="${confdir}"
else
if [ -f "./src/lisp.h" -a -f "./lisp/version.el" ]; then
- srcdir=`.`
+ srcdir='.'
else
if [ -f "../src/lisp.h" -a -f "../lisp/version.el" ]; then
- srcdir=`..`
+ srcdir='..'
else
(echo "\
${progname}: Neither the current directory nor its parent seem to
#### Make sure that the source directory doesn't already have a
#### configured system in it.
-if [ -f "${srcdir}/src/config.h" ] ; then
- (echo "${progname}: the directory tree \`${srcdir}' is being used as a build"
- echo " directory right now; it has been configured in its own right."
- echo " You can't use srcdir in this situation.") >&2
+if [ `pwd` != `(cd ${srcdir} && pwd)` ] \
+ && [ -f "${srcdir}/src/config.h" ] ; then
+ (echo "${progname}: the directory tree \`${srcdir}' is being used"
+ echo " as a build directory right now; it has been configured in its own"
+ echo " right. You can't use srcdir in this situation.") >&2
exit 1
fi
### Make the necessary directories, if they don't exist.
-if [ ! -d ./src ]; then
- mkdir ./src
-fi
-if [ ! -d ./lib-src ]; then
- mkdir ./lib-src
-fi
-if [ ! -d ./cpp ]; then
- mkdir ./cpp
-fi
-if [ ! -d ./oldXMenu ]; then
- mkdir ./oldXMenu
-fi
-if [ ! -d ./etc ]; then
- mkdir ./etc
-fi
+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.
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 700 and 800, running HP/UX
- hppa1.0-hp-hpux* )
+ hppa*-hp-hpux7* )
machine=hp9000s800 opsys=hpux
;;
- hppa1.1-hp-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=hpux ;;
- *.09.* ) machine=hp9000s800 opsys=hpux8 ;;
+ *.08.* ) machine=hp9000s800 opsys=hpux8 ;;
+ *.09.* ) machine=hp9000s800 opsys=hpux9 ;;
*) machine=hp9000s800 opsys=hpux ;;
esac
;;
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 )
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-unknown-* )
- 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 ;;
- ## 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
## 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=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 )
*-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 ;;
] AC_PROG_CC [
esac
-CFLAGS='-g'
-if test -n "${GCC}"; then
- CFLAGS='-g -O'
-fi
-
#### 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_LN_S
AC_PROG_CPP
AC_PROG_INSTALL
+AC_PROG_YACC
dnl checks for UNIX variants that set `DEFS'
AC_STDC_HEADERS
AC_TIME_WITH_SYS_TIME
+dnl checks for library files
+AC_HAVE_LIBRARY(-ldnet)
+
dnl checks for typedefs
AC_RETSIGTYPE
dnl checks for functions
AC_ALLOCA
-AC_HAVE_FUNCS(gettimeofday gethostname dup2 rename)
+AC_HAVE_FUNCS(gettimeofday gethostname dup2 rename closedir)
dnl checks for structure members
AC_STRUCT_TM
AC_CONST
dnl checks for operating system services
+AC_LONG_FILE_NAMES
dnl other checks for UNIX variants
[
;;
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 X11."
+ echo " No window system specified. Looking for X11."
window_system=none
if [ -r /usr/lib/libX11.a \
-o -d /usr/include/X11 \
;;
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"
#else
@configure@ system_malloc=no
#endif
+
+#ifndef C_DEBUG_SWITCH
+#define C_DEBUG_SWITCH -g
+#endif
+
+#ifndef C_OPTIMIZE_SWITCH
+#define C_OPTIMIZE_SWITCH -O
+#endif
+
+#ifdef __GNUC__
+@configure@ CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH
+#else
+@configure@ CFLAGS=C_DEBUG_SWITCH
+#endif
' > ${tempcname}
# The value of CPP is a quoted variable reference, so we need to do this
# to get its actual value...
-foo=`eval "echo $CPP"`
-eval `${foo} ${tempcname} \
+CPP=`eval "echo $CPP"`
+eval `${CPP} -Isrc ${tempcname} \
| grep '@configure@' \
| sed -e 's/^@configure@ \([^=]*=\)\(.*\)$/\1"\2"/'`
rm ${tempcname}
(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