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.
val=`eval echo '$'$index`
fi
x_libraries="${val}"
- 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
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.
### Canonicalize the configuration name.
echo "Checking the configuration name."
-if configuration=`${srcdir}/config.sub "${configuration}"` ; then : ; else
+if canonical=`${srcdir}/config.sub "${configuration}"` ; then : ; else
exit $?
fi
### confusion between `system' and `release' levels'."
machine='' opsys='' unported='false'
-case "${configuration}" in
+case "${canonical}" in
## Alliant machines
## Strictly speaking, we need the version of the alliant operating
machine=7300 opsys=usg5-2-2
;;
+ ## Bull dpx2
+ m68*-bull-sysv3* )
+ machine=dpx2 opsys=usg5-3
+ ;;
+
## Bull sps7
- m68*-bull-sysv* )
+ m68*-bull-sysv2* )
machine=sps7 opsys=usg5-2
;;
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
;;
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 ;;
- *-bsd386* ) opsys=bsd386 ;;
- ## 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
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-solaris* )
- case "${configuration}" in
+ case "${canonical}" in
m68*-sunos1* ) machine=sun1 ;;
m68*-sunos2* ) machine=sun2 ;;
m68* ) machine=sun3 ;;
sparc* ) machine=sparc ;;
* ) unported=true ;;
esac
- case "${configuration}" in
+ case "${canonical}" in
*-sunos4.0* ) opsys=sunos4-0 ;;
*-sunos4.1.3* ) opsys=sunos4-1-3 ;;
*-sunos4* | *-sunos ) opsys=sunos4-1 ;;
## Vaxen.
vax-dec-* )
machine=vax
- case "${configuration}" in
+ case "${canonical}" in
*-bsd4.1 ) opsys=bsd4-1 ;;
*-bsd4.2 | *-ultrix[0-3].* | *-ultrix4.0 ) opsys=bsd4-2 ;;
*-bsd4.3 | *-ultrix* ) opsys=bsd4-3 ;;
machine=wicat opsys=usg5-2
;;
+ ## Intel 386 machines where we don't care about the manufacturer
+ i[34]86-*-* )
+ machine=intel386
+ case "${canonical}" in
+ *-isc1.* | *-isc2.[01]* ) opsys=386-ix ;;
+ *-isc2.2 ) opsys=isc2-2 ;;
+ *-isc* ) opsys=isc3-0 ;;
+ *-esix5* ) opsys=esix5r4 ;;
+ *-esix* ) opsys=esix ;;
+ *-xenix* ) opsys=xenix ;;
+ *-linux* ) opsys=linux ;;
+ *-sco3.2v4* ) opsys=sco4 ;;
+ *-bsd386* ) opsys=bsd386 ;;
+ *-386bsd ) opsys=386bsd ;;
+ ## Otherwise, we'll fall through to the generic opsys code at the bottom.
+ esac
+ ;;
+
* )
unported=true
;;
### runs, it's cleaner to make it explicit in the case statement
### above.
if [ x"${opsys}" = x ]; then
- case "${configuration}" in
+ case "${canonical}" in
*-bsd4.[01] ) opsys=bsd4-1 ;;
*-bsd4.2 ) opsys=bsd4-2 ;;
*-bsd4.3 ) opsys=bsd4-3 ;;
fi
if $unported ; then
- (echo "${progname}: Emacs hasn't been ported to \`${configuration}' systems."
+ (echo "${progname}: Emacs hasn't been ported to \`${canonical}' systems."
echo "${progname}: Check \`etc/MACHINES' for recognized configuration names."
) >&2
exit 1
] 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'
dnl checks for typedefs
AC_RETSIGTYPE
-dnl checks for functions
-AC_ALLOCA
-AC_HAVE_FUNCS(gettimeofday gethostname dup2 rename)
-
dnl checks for structure members
AC_STRUCT_TM
AC_TIMEZONE
AC_CONST
dnl checks for operating system services
+AC_LONG_FILE_NAMES
dnl other checks for UNIX variants
[
case "${window_system}" in
"none" | "x11" | "x10" ) ;;
"" )
- echo " No window system specifed. Looking for X11."
- window_system=none
- if [ -r /usr/lib/libX11.a \
+ # --x-includes or --x-libraries implies --with-x11.
+ if [ -n "${x_includes}" ] || [ -n "${x_libraries}" ]; then
+ window_system=x11
+ else
+ echo " No window system specified. Looking for X11."
+ # If the user didn't specify a window system and we found X11, use it.
+ if [ -r /usr/lib/libX11.a \
-o -d /usr/include/X11 \
-o -d /usr/X386/include \
-o -d ${x_includes}/X11 ]; then
- window_system=x11
+ window_system=x11
+ fi
fi
;;
* )
- echo "Don't specify the window system more than once." >&2
+ echo "Don't specify a window system more than once." >&2
exit 1
;;
esac
+case "${window_system}" in
+ "" | "x11" )
+ ### If the user hasn't specified where we should find X, try
+ ### letting autoconf figure that out.
+ if [ -z "${x_includes}" ] && [ -z "${x_libraries}" ]; then
+ ]
+ AC_FIND_X
+ [
+ fi
+ if [ -n "${x_includes}" ] || [ -n "${x_libraries}" ]; then
+ window_system=x11
+ fi
+ ;;
+esac
+
+[ -z "${window_system}" ] && window_system=none
+
+[ -n "${x_libraries}" ] && LD_SWITCH_X_SITE="-L${x_libraries}"
+[ -n "${x_includes}" ] && C_SWITCH_X_SITE="-I${x_includes}"
+
case "${window_system}" in
x11 )
HAVE_X_WINDOWS=yes
;;
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"
@configure@ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
@configure@ c_switch_system=C_SWITCH_SYSTEM
+#ifndef LIB_X11_LIB
+#define LIB_X11_LIB
+#endif
+
+#ifndef LIBX11_MACHINE
+#define LIBX11_MACHINE
+#endif
+
+#ifndef LIBX11_SYSTEM
+#define LIBX11_SYSTEM
+#endif
+@configure@ LIBX=LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM
+
#ifdef UNEXEC
@configure@ unexec=UNEXEC
#else
#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}
LISP_FLOAT_TYPE=yes
+#### Add the libraries to LIBS and check for some functions.
+
+]
+DEFS="$c_switch_system $DEFS"
+LIBS="$libsrc_libs"
+
+dnl If found, this defines HAVE_LIBDNET, which m/pmax.h checks,
+dnl and also adds -ldnet to LIBS, which Autoconf uses for checks.
+AC_HAVE_LIBRARY(-ldnet)
+
+AC_HAVE_LIBRARY(-lXbsd, LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE -lXbsd"
+ if test -d /usr/X386/include; then
+ HAVE_XFREE386=yes
+ test -z "${C_SWITCH_X_SITE}" && C_SWITCH_X_SITE="-I/usr/X386/include"
+ fi)
+
+if test "${HAVE_X11}" = "yes"; then
+ DEFS="$C_SWITCH_X_SITE $DEFS"
+ LIBS="$LD_SWITCH_X_SITE $LIBX $LIBS"
+ AC_HAVE_FUNCS(XrmSetDatabase random)
+fi
+
+AC_ALLOCA
+AC_HAVE_FUNCS(gettimeofday gethostname dup2 rename closedir)
+
+ok_so_far=true
+AC_FUNC_CHECK(socket, , ok_so_far=)
+if test -n "$ok_so_far"; then
+ AC_HEADER_CHECK(netinet/in.h, , ok_so_far=)
+fi
+if test -n "$ok_so_far"; then
+ AC_HEADER_CHECK(arpa/inet.h, , ok_so_far=)
+fi
+if test -n "$ok_so_far"; then
+ AC_DEFINE(HAVE_INET_SOCKETS)
+fi
+[
#### Find out which version of Emacs this is.
version=`grep 'defconst[ ]*emacs-version' ${srcdir}/lisp/version.el \
| sed -e 's/^.*"\([0-9][0-9]*\.[0-9][0-9]*\)\..*$/\1/'`
#### Specify what sort of things we'll be editing into Makefile and config.h.
+### Use configuration here uncanonicalized to avoid exceeding size limits.
]
AC_SUBST(configuration)
AC_SUBST(version)
#### Report on what we decided to do.
echo "
-Configured for \`${configuration}'.
+Configured for \`${canonical}'.
Where should the build process find the source code? ${srcdir}
What operating system and machine description files should Emacs use?
Where do we find X Windows libraries? }${x_libraries}
"
+
+# Remove any trailing slashes in these variables.
+test -n "${prefix}" &&
+ prefix=`echo "${prefix}" | sed 's,\([^/]\)/*$,\1,'`
+test -n "${exec_prefix}" &&
+ exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'`
]
AC_OUTPUT(Makefile)