(Fset_window_point): If displaying cursors in windows
[bpt/emacs.git] / configure.in
index 8448e29..00ea9c8 100644 (file)
@@ -3,7 +3,7 @@ dnl To rebuild the `configure' script from this, execute the command
 dnl    autoconf
 dnl in the directory containing this script.
 dnl
 dnl    autoconf
 dnl in the directory containing this script.
 dnl
-dnl  Copyright (C) 1994, 1995, 1996, 1999 Free Software Foundation, Inc.
+dnl  Copyright (C) 1994, 1995, 1996, 1999, 2000 Free Software Foundation, Inc.
 dnl
 dnl  This file is part of GNU Emacs.
 dnl
 dnl
 dnl  This file is part of GNU Emacs.
 dnl
@@ -41,7 +41,20 @@ AC_ARG_WITH(pop,
 [if test "$withval" = yes; then
    AC_DEFINE(MAIL_USE_POP)
 else :
 [if test "$withval" = yes; then
    AC_DEFINE(MAIL_USE_POP)
 else :
-fi])
+fi],
+AC_DEFINE(MAIL_USE_POP))
+AC_ARG_WITH(kerberos,
+[  --with-kerberos         support Kerberos-authenticated POP],
+[AC_DEFINE(KERBEROS)])
+AC_ARG_WITH(kerberos5,
+[  --with-kerberos5        support Kerberos version 5 authenticated POP],
+[if test "${with_kerberos5+set}" = set; then
+  if test "${with_kerberos+set}" != set; then
+    with_kerberos=yes
+    AC_DEFINE(KERBEROS)
+  fi
+fi
+AC_DEFINE(KERBEROS5)])
 AC_ARG_WITH(hesiod,
 [  --with-hesiod           support Hesiod to get the POP server host],
 [AC_DEFINE(HESIOD)])
 AC_ARG_WITH(hesiod,
 [  --with-hesiod           support Hesiod to get the POP server host],
 [AC_DEFINE(HESIOD)])
@@ -80,20 +93,23 @@ AC_ARG_WITH(gif,
 AC_ARG_WITH(png,
 [  --with-png              use -lpng for displaying PNG images])
 AC_ARG_WITH(toolkit-scroll-bars,
 AC_ARG_WITH(png,
 [  --with-png              use -lpng for displaying PNG images])
 AC_ARG_WITH(toolkit-scroll-bars,
-[  --without-toolkit-scroll-bars  don't use Motif or Xaw3d scroll bars])
+[  --without-toolkit-scroll-bars
+                           don't use Motif or Xaw3d scroll bars])
+AC_ARG_WITH(xim,
+[  --without-xim          don't use X11 XIM])
 
 #### Make srcdir absolute, if it isn't already.  It's important to
 
 #### Make srcdir absolute, if it isn't already.  It's important to
-#### avoid running the path through pwd unnecessary, since pwd can
+#### avoid running the path through pwd unnecessarily, since pwd can
 #### give you automounter prefixes, which can go away.  We do all this
 #### so Emacs can find its files when run uninstalled.
 #### give you automounter prefixes, which can go away.  We do all this
 #### so Emacs can find its files when run uninstalled.
+## Make sure CDPATH doesn't affect cd (in case PWD is relative).
+unset CDPATH
 case "${srcdir}" in
   /* ) ;;
   . )
     ## We may be able to use the $PWD environment variable to make this
     ## absolute.  But sometimes PWD is inaccurate.
 case "${srcdir}" in
   /* ) ;;
   . )
     ## We may be able to use the $PWD environment variable to make this
     ## absolute.  But sometimes PWD is inaccurate.
-    ## Make sure CDPATH doesn't affect cd (in case PWD is relative).
-    unset CDPATH
-    if test "${PWD}" != "" && test "`(cd ${PWD} ; sh -c pwd)`" = "`pwd`"  ;
+    if test ".${PWD}" != "." && test ".`(cd ${PWD} ; sh -c pwd)`" = ".${PWD}"  ;
     then
       srcdir="$PWD"
     else
     then
       srcdir="$PWD"
     else
@@ -173,9 +189,12 @@ case "${canonical}" in
                        machine=hp9000s300 ;;
       powerpc-apple-netbsd*) machine=macppc ;;
       mips-*-netbsd*)  machine=pmax ;;
                        machine=hp9000s300 ;;
       powerpc-apple-netbsd*) machine=macppc ;;
       mips-*-netbsd*)  machine=pmax ;;
+      mipsel-*-netbsd*)        machine=pmax ;;
       ns32k-*-netbsd*) machine=ns32000 ;;
       ns32k-*-netbsd*) machine=ns32000 ;;
-      sparc-*-netbsd*) machine=sparc ;;
+      powerpc-*-netbsd*) machine=macppc ;;
+      sparc*-*-netbsd*)        machine=sparc ;;
       vax-*-netbsd*)   machine=vax ;;
       vax-*-netbsd*)   machine=vax ;;
+      arm-*-netbsd*)   machine=arm ;;
     esac
   ;;
 
     esac
   ;;
 
@@ -209,7 +228,7 @@ case "${canonical}" in
     case "${canonical}" in
       i[345]86-*-bsdi*) machine=intel386 ;;
       sparc-*-bsdi*)  machine=sparc ;;
     case "${canonical}" in
       i[345]86-*-bsdi*) machine=intel386 ;;
       sparc-*-bsdi*)  machine=sparc ;;
-      powerpc-*-bsdi*)  machine=powerpc ;;
+      powerpc-*-bsdi*)  machine=macppc ;;
     esac
     case "${canonical}" in
       *-*-bsd386* | *-*-bsdi1* )       opsys=bsd386 ;;
     esac
     case "${canonical}" in
       *-*-bsd386* | *-*-bsdi1* )       opsys=bsd386 ;;
@@ -239,12 +258,30 @@ case "${canonical}" in
     # This is needed to find X11R6.1 libraries for certain tests.
     NON_GCC_LINK_TEST_OPTIONS=-Wl,-rpath,/usr/X11R6/lib
     GCC_LINK_TEST_OPTIONS=-Wl,-rpath,/usr/X11R6/lib
     # This is needed to find X11R6.1 libraries for certain tests.
     NON_GCC_LINK_TEST_OPTIONS=-Wl,-rpath,/usr/X11R6/lib
     GCC_LINK_TEST_OPTIONS=-Wl,-rpath,/usr/X11R6/lib
+    # NON_GNU_CPP is necessary on 5.0 to avoid mangling src/Makefile
+    # due to non-traditional preprocessing with the current compiler
+    # defaults.  OSF 4 can also have that compiler version, and there
+    # seems always to have been a usable /usr/bin/cpp.
+    NON_GNU_CPP=/usr/bin/cpp
+    case "${canonical}" in
+    alpha*-dec-osf[5-9]*)
+      opsys=osf5-0 ;;
+    esac
   ;;
 
   alpha*-*-linux-gnu* )
     machine=alpha opsys=gnu-linux
   ;;
 
   ;;
 
   alpha*-*-linux-gnu* )
     machine=alpha opsys=gnu-linux
   ;;
 
+  arm*-*-linux-gnu* )
+    machine=arm opsys=gnu-linux
+  ;;
+
+  ppc-*-linux | \
+  powerpc-*-linux* )
+    machine=macppc opsys=gnu-linux
+  ;;
+
   ## Altos 3068
   m68*-altos-sysv* )
     machine=altos opsys=usg5-2
   ## Altos 3068
   m68*-altos-sysv* )
     machine=altos opsys=usg5-2
@@ -411,7 +448,8 @@ case "${canonical}" in
     machine=ns16000 opsys=umax
   ;;
 
     machine=ns16000 opsys=umax
   ;;
 
-  ## The GEC 93 - apparently, this port isn't really finished yet.
+  ## The GEC 63 - apparently, this port isn't really finished yet.
+  #  I'm sure we finished off the last of the machines, though.  -- fx
 
   ## Gould Power Node and NP1
   pn-gould-bsd4.2* )
 
   ## Gould Power Node and NP1
   pn-gould-bsd4.2* )
@@ -622,6 +660,11 @@ case "${canonical}" in
     NON_GNU_CPP="/usr/ccs/lib/cpp" # cc -E tokenizes macro expansion.
   ;;
 
     NON_GNU_CPP="/usr/ccs/lib/cpp" # cc -E tokenizes macro expansion.
   ;;
 
+  ## Macintosh PowerPC
+  powerpc*-*-linux-gnu* )
+    machine=macppc opsys=gnu-linux
+  ;;
+
   ## Masscomp machines
   m68*-masscomp-rtu* )
     machine=masscomp opsys=rtu
   ## Masscomp machines
   m68*-masscomp-rtu* )
     machine=masscomp opsys=rtu
@@ -747,12 +790,18 @@ case "${canonical}" in
   ;;
   mips-sgi-irix6.5 )
     machine=iris4d opsys=irix6-5
   ;;
   mips-sgi-irix6.5 )
     machine=iris4d opsys=irix6-5
-    NON_GNU_CPP=/lib/cpp
-    NON_GCC_TEST_OPTIONS="-n32 -G0"
+    # Without defining _LANGUAGE_C, things get masked out in the headers
+    # so that, for instance, grepping for `free' in stdlib.h fails and
+    # AC_HEADER_STD_C fails.   (MIPSPro 7.2.1.2m compilers, Irix 6.5.3m).
+    NON_GNU_CPP="/lib/cpp -D_LANGUAGE_C"
+    NON_GCC_TEST_OPTIONS="-D_LANGUAGE_C"
   ;;
   mips-sgi-irix6* )
     machine=iris4d opsys=irix6-0
   ;;
   mips-sgi-irix6* )
     machine=iris4d opsys=irix6-0
-    NON_GNU_CPP=/lib/cpp
+    # It's not clear whether -D_LANGUAGE_C is necessary as it is for 6.5,
+    # but presumably it does no harm.
+    NON_GNU_CPP="/lib/cpp -D_LANGUAGE_C"
+    # -32 probably isn't necessary in later v.6s -- anyone know which?
     NON_GCC_TEST_OPTIONS=-32
   ;;
   mips-sgi-irix5.[01]* )
     NON_GCC_TEST_OPTIONS=-32
   ;;
   mips-sgi-irix5.[01]* )
@@ -792,7 +841,7 @@ case "${canonical}" in
     machine=sparc opsys=gnu-linux
   ;;
 
     machine=sparc opsys=gnu-linux
   ;;
 
-  *-sun-sunos* | *-sun-bsd* | *-sun-solaris* \
+  *-auspex-sunos* | *-sun-sunos* | *-sun-bsd* | *-sun-solaris* \
     | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* | powerpc*-*-solaris2* \
     | rs6000-*-solaris2*)
     case "${canonical}" in
     | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* | powerpc*-*-solaris2* \
     | rs6000-*-solaris2*)
     case "${canonical}" in
@@ -933,10 +982,16 @@ case "${canonical}" in
     machine=wicat opsys=usg5-2
   ;;
 
     machine=wicat opsys=usg5-2
   ;;
 
+  ## IA-64
+  ia64*-*-linux* )
+    machine=ia64 opsys=gnu-linux
+  ;;
+
   ## Intel 386 machines where we don't care about the manufacturer
   i[3456]86-*-* )
     machine=intel386
     case "${canonical}" in
   ## Intel 386 machines where we don't care about the manufacturer
   i[3456]86-*-* )
     machine=intel386
     case "${canonical}" in
+      *-lynxos* )               opsys=lynxos ;;
       *-isc1.* | *-isc2.[01]* )        opsys=386-ix ;;
       *-isc2.2* )              opsys=isc2-2 ;;
       *-isc4.0* )              opsys=isc4-0 ;;
       *-isc1.* | *-isc2.[01]* )        opsys=386-ix ;;
       *-isc2.2* )              opsys=isc2-2 ;;
       *-isc4.0* )              opsys=isc4-0 ;;
@@ -1027,10 +1082,6 @@ if test x"${opsys}" = x; then
   esac
 fi
 
   esac
 fi
 
-if test "x$RANLIB" = x; then
-  RANLIB=ranlib
-fi
-
 changequote([, ])dnl
 
 if test $unported = yes; then
 changequote([, ])dnl
 
 if test $unported = yes; then
@@ -1105,18 +1156,174 @@ AC_PROG_LN_S
 AC_PROG_CPP
 AC_PROG_INSTALL
 AC_PROG_YACC
 AC_PROG_CPP
 AC_PROG_INSTALL
 AC_PROG_YACC
+if test "x$RANLIB" = x; then
+  AC_PROG_RANLIB
+fi
 
 dnl checks for Unix variants
 AC_AIX
 
 
 dnl checks for Unix variants
 AC_AIX
 
+#### Extract some information from the operating system and machine files.
+
+AC_CHECKING([the machine- and system-dependent files to find out
+ - which libraries the lib-src programs will want, and
+ - whether the GNU malloc routines are usable])
+
+### First figure out CFLAGS (which we use for running the compiler here)
+### and REAL_CFLAGS (which we use for real compilation).
+### The two are the same except on a few systems, where they are made
+### different to work around various lossages.  For example,
+### GCC 2.5 on GNU/Linux needs them to be different because it treats -g
+### as implying static linking.
+
+### If the CFLAGS env var is specified, we use that value
+### instead of the default.
+
+### 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
+#ifndef C_SWITCH_MACHINE
+#define C_SWITCH_MACHINE
+#endif
+configure___ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
+configure___ c_switch_system=C_SWITCH_SYSTEM
+configure___ c_switch_machine=C_SWITCH_MACHINE
+
+#ifndef LIB_X11_LIB
+#define LIB_X11_LIB -lX11
+#endif
+
+#ifndef LIBX11_MACHINE
+#define LIBX11_MACHINE
+#endif
+
+#ifndef LIBX11_SYSTEM
+#define LIBX11_SYSTEM
+#endif
+configure___ LIBX=LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM
+
+#ifdef UNEXEC
+configure___ unexec=UNEXEC
+#else
+configure___ unexec=unexec.o
+#endif
+
+#ifdef SYSTEM_MALLOC
+configure___ system_malloc=yes
+#else
+configure___ system_malloc=no
+#endif
+
+#ifdef USE_MMAP_FOR_BUFFERS
+configure___ use_mmap_for_buffers=yes
+#else
+configure___ use_mmap_for_buffers=no
+#endif
+
+#ifndef C_DEBUG_SWITCH
+#define C_DEBUG_SWITCH -g
+#endif
+
+#ifndef C_OPTIMIZE_SWITCH
+#ifdef __GNUC__
+#define C_OPTIMIZE_SWITCH -O2
+#else
+#define C_OPTIMIZE_SWITCH -O
+#endif
+#endif
+
+#ifndef LD_SWITCH_MACHINE
+#define LD_SWITCH_MACHINE
+#endif
+
+#ifndef LD_SWITCH_SYSTEM
+#define LD_SWITCH_SYSTEM
+#endif
+
+#ifndef LD_SWITCH_X_SITE_AUX
+#define LD_SWITCH_X_SITE_AUX
+#endif  
+
+configure___ ld_switch_system=LD_SWITCH_SYSTEM
+configure___ ld_switch_machine=LD_SWITCH_MACHINE
+
+#ifdef THIS_IS_CONFIGURE
+
+/* Get the CFLAGS for tests in configure.  */
+#ifdef __GNUC__
+configure___ CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}'
+#else
+configure___ CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
+#endif
+
+#else /* not THIS_IS_CONFIGURE */
+
+/* Get the CFLAGS for real compilation.  */
+#ifdef __GNUC__
+configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}'
+#else
+configure___ REAL_CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
+#endif
+
+#endif /* not THIS_IS_CONFIGURE */
+' > ${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"`
+changequote(, )dnl
+eval `${CPP} -Isrc ${tempcname} \
+       | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
+if test "x$SPECIFIED_CFLAGS" = x; then
+  eval `${CPP} -Isrc -DTHIS_IS_CONFIGURE ${tempcname} \
+        | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
+else
+  REAL_CFLAGS="$CFLAGS"
+fi
+changequote([, ])dnl
+rm ${tempcname}
+
+ac_link="$ac_link $ld_switch_machine $ld_switch_system"
+
+### Make sure subsequent tests use flags consistent with the build flags.
+
+if test x"${OVERRIDE_CPPFLAGS}" != x; then
+  CPPFLAGS="${OVERRIDE_CPPFLAGS}"
+else
+  CPPFLAGS="$c_switch_system $c_switch_machine $CPPFLAGS"
+fi
+
+dnl Do this early because it can frob feature test macros for Unix-98 &c.
+AC_SYS_LARGEFILE
+
 # Sound support for GNU/Linux and the free BSDs.
 # Sound support for GNU/Linux and the free BSDs.
-AC_CHECK_HEADERS(machine/soundcard.h sys/soundcard.h)
+AC_CHECK_HEADERS(machine/soundcard.h sys/soundcard.h soundcard.h)
+# Emulation library used on NetBSD.
+AC_CHECK_LIB(ossaudio, _oss_ioctl, LIBSOUND=-lossaudio, LIBSOUND=)
+AC_SUBST(LIBSOUND)
 
 dnl checks for header files
 
 dnl checks for header files
-AC_CHECK_HEADERS(sys/select.h sys/timeb.h sys/time.h unistd.h utime.h linux/version.h sys/systeminfo.h termios.h limits.h string.h stdlib.h termcap.h)
+AC_CHECK_HEADERS(sys/select.h sys/timeb.h sys/time.h unistd.h utime.h \
+  linux/version.h sys/systeminfo.h termios.h limits.h string.h stdlib.h \
+  termcap.h stdio_ext.h fcntl.h term.h strings.h)
 AC_HEADER_STDC
 AC_HEADER_TIME
 AC_DECL_SYS_SIGLIST
 AC_HEADER_STDC
 AC_HEADER_TIME
 AC_DECL_SYS_SIGLIST
+AC_HEADER_SYS_WAIT
 
 dnl Some systems have utime.h but don't declare the struct anyplace.
 AC_CACHE_CHECK(for struct utimbuf, emacs_cv_struct_utimbuf,
 
 dnl Some systems have utime.h but don't declare the struct anyplace.
 AC_CACHE_CHECK(for struct utimbuf, emacs_cv_struct_utimbuf,
@@ -1141,6 +1348,14 @@ fi
 dnl checks for typedefs
 AC_TYPE_SIGNAL
 
 dnl checks for typedefs
 AC_TYPE_SIGNAL
 
+dnl Check for speed_t typedef.
+AC_CACHE_CHECK(for speed_t, emacs_cv_speed_t,
+AC_TRY_COMPILE([#include <termios.h>], [speed_t x = 1;],
+  emacs_cv_speed_t=yes))
+if test $emacs_cv_speed_t = yes; then
+  AC_DEFINE(HAVE_SPEED_T)
+fi
+
 AC_CACHE_CHECK(for struct timeval, emacs_cv_struct_timeval,
 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 #include <sys/time.h>
 AC_CACHE_CHECK(for struct timeval, emacs_cv_struct_timeval,
 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 #include <sys/time.h>
@@ -1158,12 +1373,46 @@ if test $emacs_cv_struct_timeval = yes; then
   AC_DEFINE(HAVE_TIMEVAL)
 fi
 
   AC_DEFINE(HAVE_TIMEVAL)
 fi
 
+AC_CACHE_CHECK(for struct exception, emacs_cv_struct_exception,
+AC_TRY_COMPILE([#include <math.h>], 
+[static struct exception x; x.arg1 = x.arg2 = x.retval; x.name = ""; x.type = 1;],
+  emacs_cv_struct_exception=yes, emacs_cv_struct_exception=no))
+HAVE_EXCEPTION=$emacs_cv_struct_exception
+if test $emacs_cv_struct_exception != yes; then
+  AC_DEFINE(NO_MATHERR)
+fi
+
 dnl checks for structure members
 AC_STRUCT_TM
 AC_STRUCT_TIMEZONE
 dnl checks for structure members
 AC_STRUCT_TM
 AC_STRUCT_TIMEZONE
+AC_CACHE_CHECK(for tm_gmtoff in struct tm, emacs_cv_tm_gmtoff,
+AC_TRY_LINK([#include <time.h>], [struct tm t; t.tm_gmtoff = 0],
+  emacs_cv_tm_gmtoff=yes,
+  emacs_cv_tm_gmtoff=no))
+if test $emacs_cv_tm_gmtoff = yes; then
+  AC_DEFINE(HAVE_TM_GMTOFF)
+fi
 
 dnl checks for compiler characteristics
 
 dnl checks for compiler characteristics
+
+dnl Testing __STDC__ to determine prototype support isn't good enough.
+dnl DEC C, for instance, doesn't define it with default options, and
+dnl is used on 64-bit systems (OSF Alphas).  Similarly for volatile
+dnl and void *.
+AC_C_PROTOTYPES
+AC_C_VOLATILE
 AC_C_CONST
 AC_C_CONST
+dnl This isn't useful because we can't turn on use of `inline' unless
+dnl the compiler groks `extern inline'.
+dnl AC_C_INLINE
+AC_CACHE_CHECK([for void * support], emacs_cv_void_star,
+  [AC_TRY_COMPILE(, [void * foo;], 
+                   emacs_cv_void_star=yes, emacs_cv_void_star=no)])
+if test $emacs_cv_void_star = yes; then
+  AC_DEFINE(POINTER_TYPE, void)
+else
+  AC_DEFINE(POINTER_TYPE, char)
+fi
 
 dnl check for Make feature
 AC_PROG_MAKE_SET
 
 dnl check for Make feature
 AC_PROG_MAKE_SET
@@ -1208,7 +1457,8 @@ else
   for bmd in `echo ${x_includes} | sed -e "s/:/ /g"`; do
     if test -d "${bmd}/X11/bitmaps"; then
       bmd_acc="${bmd_acc}:${bmd}/X11/bitmaps"
   for bmd in `echo ${x_includes} | sed -e "s/:/ /g"`; do
     if test -d "${bmd}/X11/bitmaps"; then
       bmd_acc="${bmd_acc}:${bmd}/X11/bitmaps"
-    elif test -d "${bmd}/bitmaps"; then
+    fi
+    if test -d "${bmd}/bitmaps"; then
       bmd_acc="${bmd_acc}:${bmd}/bitmaps"
     fi
   done
       bmd_acc="${bmd_acc}:${bmd}/bitmaps"
     fi
   done
@@ -1260,132 +1510,6 @@ if test "${opsys}" = "hpux9shr"; then
   esac
 fi
 
   esac
 fi
 
-#### Extract some information from the operating system and machine files.
-
-AC_CHECKING([the machine- and system-dependent files to find out
- - which libraries the lib-src programs will want, and
- - whether the GNU malloc routines are usable])
-
-### First figure out CFLAGS (which we use for running the compiler here)
-### and REAL_CFLAGS (which we use for real compilation).
-### The two are the same except on a few systems, where they are made
-### different to work around various lossages.  For example,
-### GCC 2.5 on GNU/Linux needs them to be different because it treats -g
-### as implying static linking.
-
-### If the CFLAGS env var is specified, we use that value
-### instead of the default.
-
-### 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
-#ifndef C_SWITCH_MACHINE
-#define C_SWITCH_MACHINE
-#endif
-configure___ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
-configure___ c_switch_system=C_SWITCH_SYSTEM
-configure___ c_switch_machine=C_SWITCH_MACHINE
-
-#ifndef LIB_X11_LIB
-#define LIB_X11_LIB -lX11
-#endif
-
-#ifndef LIBX11_MACHINE
-#define LIBX11_MACHINE
-#endif
-
-#ifndef LIBX11_SYSTEM
-#define LIBX11_SYSTEM
-#endif
-configure___ LIBX=LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM
-
-#ifdef UNEXEC
-configure___ unexec=UNEXEC
-#else
-configure___ unexec=unexec.o
-#endif
-
-#ifdef SYSTEM_MALLOC
-configure___ system_malloc=yes
-#else
-configure___ system_malloc=no
-#endif
-
-#ifndef C_DEBUG_SWITCH
-#define C_DEBUG_SWITCH -g
-#endif
-
-#ifndef C_OPTIMIZE_SWITCH
-#define C_OPTIMIZE_SWITCH -O
-#endif
-
-#ifndef LD_SWITCH_MACHINE
-#define LD_SWITCH_MACHINE
-#endif
-
-#ifndef LD_SWITCH_SYSTEM
-#define LD_SWITCH_SYSTEM
-#endif
-
-#ifndef LD_SWITCH_X_SITE_AUX
-#define LD_SWITCH_X_SITE_AUX
-#endif  
-
-configure___ ld_switch_system=LD_SWITCH_SYSTEM
-configure___ ld_switch_machine=LD_SWITCH_MACHINE
-
-#ifdef THIS_IS_CONFIGURE
-
-/* Get the CFLAGS for tests in configure.  */
-#ifdef __GNUC__
-configure___ CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}'
-#else
-configure___ CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
-#endif
-
-#else /* not THIS_IS_CONFIGURE */
-
-/* Get the CFLAGS for real compilation.  */
-#ifdef __GNUC__
-configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}'
-#else
-configure___ REAL_CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}'
-#endif
-
-#endif /* not THIS_IS_CONFIGURE */
-' > ${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"`
-changequote(, )dnl
-eval `${CPP} -Isrc ${tempcname} \
-       | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
-if test "x$SPECIFIED_CFLAGS" = x; then
-  eval `${CPP} -Isrc -DTHIS_IS_CONFIGURE ${tempcname} \
-        | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'`
-else
-  REAL_CFLAGS="$CFLAGS"
-fi
-changequote([, ])dnl
-rm ${tempcname}
-
-ac_link="$ac_link $ld_switch_machine $ld_switch_system"
-
 ### Compute the unexec source name from the object name.
 UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`"
 
 ### Compute the unexec source name from the object name.
 UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`"
 
@@ -1420,15 +1544,13 @@ if test x"${REL_ALLOC}" = x; then
   REL_ALLOC=${GNU_MALLOC}
 fi
 
   REL_ALLOC=${GNU_MALLOC}
 fi
 
-LISP_FLOAT_TYPE=yes
-
+dnl For now, need to use an explicit `#define USE_MMAP_FOR_BUFFERS 1'
+dnl the system configuration file (s/*.h) to turn the use of mmap
+dnl in the relocating allocator on.
 
 
-#### Add the libraries to LIBS and check for some functions.
-
-if test x"${OVERRIDE_CPPFLAGS}" != x; then
-  CPPFLAGS="${OVERRIDE_CPPFLAGS}"
-else
-  CPPFLAGS="$c_switch_system $c_switch_machine $CPPFLAGS"
+AC_FUNC_MMAP
+if test $use_mmap_for_buffers = yes; then
+  REL_ALLOC=no
 fi
 
 LIBS="$libsrc_libs $LIBS"
 fi
 
 LIBS="$libsrc_libs $LIBS"
@@ -1457,11 +1579,14 @@ AC_MSG_RESULT($HAVE_XFREE386)
 # Change CFLAGS temporarily so that C_SWITCH_X_SITE gets used
 # for the tests that follow.  We set it back to REAL_CFLAGS later on.
 
 # Change CFLAGS temporarily so that C_SWITCH_X_SITE gets used
 # for the tests that follow.  We set it back to REAL_CFLAGS later on.
 
+REAL_CPPFLAGS="$CPPFLAGS"
+
 if test "${HAVE_X11}" = "yes"; then
   DEFS="$C_SWITCH_X_SITE $DEFS"
   LDFLAGS="$LDFLAGS $LD_SWITCH_X_SITE"
   LIBS="$LIBX $LIBS"
   CFLAGS="$C_SWITCH_X_SITE $CFLAGS"
 if test "${HAVE_X11}" = "yes"; then
   DEFS="$C_SWITCH_X_SITE $DEFS"
   LDFLAGS="$LDFLAGS $LD_SWITCH_X_SITE"
   LIBS="$LIBX $LIBS"
   CFLAGS="$C_SWITCH_X_SITE $CFLAGS"
+  CPPFLAGS="$C_SWITCH_X_SITE $CPPFLAGS"
 
   # On Solaris, arrange for LD_RUN_PATH to point to the X libraries for tests.
   # This is handled by LD_SWITCH_X_SITE_AUX during the real build,
 
   # On Solaris, arrange for LD_RUN_PATH to point to the X libraries for tests.
   # This is handled by LD_SWITCH_X_SITE_AUX during the real build,
@@ -1610,8 +1735,12 @@ Motif version prior to 2.1.
     emacs_cv_motif_version_2_1=yes, emacs_cv_motif_version_2_1=no))
   HAVE_MOTIF_2_1=$emacs_cv_motif_version_2_1
   if test $emacs_cv_motif_version_2_1 = yes; then
     emacs_cv_motif_version_2_1=yes, emacs_cv_motif_version_2_1=no))
   HAVE_MOTIF_2_1=$emacs_cv_motif_version_2_1
   if test $emacs_cv_motif_version_2_1 = yes; then
+    HAVE_LIBXP=no
     AC_DEFINE(HAVE_MOTIF_2_1)
     AC_DEFINE(HAVE_MOTIF_2_1)
-    AC_CHECK_LIB(Xp, XpCreateContext)
+    AC_CHECK_LIB(Xp, XpCreateContext, HAVE_LIBXP=yes, , -lXext)
+    if test ${HAVE_LIBXP} = yes; then
+      AC_DEFINE(HAVE_LIBXP)
+    fi 
   fi
 fi
 
   fi
 fi
 
@@ -1649,6 +1778,13 @@ if test "${with_toolkit_scroll_bars}" != "no"; then
   fi
 fi
 
   fi
 fi
 
+dnl Don't use X11 input methods if user specifies he doesn't want it
+dnl with `--with-xim=no'.
+
+if test "${with_xim}" != "no"; then
+  AC_DEFINE(USE_XIM)
+fi
+
 ### Use -lXpm if available, unless `--with-xpm=no'.
 HAVE_XPM=no
 if test "${HAVE_X11}" = "yes"; then
 ### Use -lXpm if available, unless `--with-xpm=no'.
 HAVE_XPM=no
 if test "${HAVE_X11}" = "yes"; then
@@ -1657,7 +1793,21 @@ if test "${HAVE_X11}" = "yes"; then
     CFLAGS="${LD_SWITCH_X_SITE}"
     AC_CHECK_HEADER(X11/xpm.h,
       AC_CHECK_LIB(Xpm, XpmReadFileToPixmap, HAVE_XPM=yes, , -lX11))
     CFLAGS="${LD_SWITCH_X_SITE}"
     AC_CHECK_HEADER(X11/xpm.h,
       AC_CHECK_LIB(Xpm, XpmReadFileToPixmap, HAVE_XPM=yes, , -lX11))
+    if test "${HAVE_XPM}" = "yes"; then
+       AC_MSG_CHECKING(for XpmReturnAllocPixels preprocessor define)
+       AC_EGREP_CPP(no_return_alloc_pixels,
+       [#include "X11/xpm.h"
+#ifndef XpmReturnAllocPixels
+no_return_alloc_pixels
+#endif
+       ], HAVE_XPM=no, HAVE_XPM=yes)
+    fi
     CFLAGS="${old_c_flags}"
     CFLAGS="${old_c_flags}"
+    if test "${HAVE_XPM}" = "yes"; then
+       AC_MSG_RESULT(yes)
+    else
+       AC_MSG_RESULT(no)
+    fi
   fi
 
   if test "${HAVE_XPM}" = "yes"; then
   fi
 
   if test "${HAVE_XPM}" = "yes"; then
@@ -1671,7 +1821,10 @@ if test "${HAVE_X11}" = "yes"; then
   if test "${with_jpeg}" != "no"; then
     old_c_flags="${CFLAGS}"
     CFLAGS="${LD_SWITCH_X_SITE} ${CFLAGS}"
   if test "${with_jpeg}" != "no"; then
     old_c_flags="${CFLAGS}"
     CFLAGS="${LD_SWITCH_X_SITE} ${CFLAGS}"
-    AC_CHECK_LIB(jpeg, jpeg_destroy_compress, HAVE_JPEG=yes, , -lX11)
+    dnl Checking for jpeglib.h can lose becsue of a redefinition of
+    dnl  HAVE_STDLIB_H.
+    AC_CHECK_HEADER(jerror.h,
+      AC_CHECK_LIB(jpeg, jpeg_destroy_compress, HAVE_JPEG=yes, , -lX11))
     CFLAGS="${old_c_flags}"
   fi
 
     CFLAGS="${old_c_flags}"
   fi
 
@@ -1687,7 +1840,7 @@ if test "${HAVE_X11}" = "yes"; then
     old_c_flags="${CFLAGS}"
     CFLAGS="${LD_SWITCH_X_SITE} ${CFLAGS}"
     AC_CHECK_HEADER(png.h,
     old_c_flags="${CFLAGS}"
     CFLAGS="${LD_SWITCH_X_SITE} ${CFLAGS}"
     AC_CHECK_HEADER(png.h,
-      AC_CHECK_LIB(png, png_set_expand, HAVE_PNG=yes, , -lX11 -lz -lm))
+      AC_CHECK_LIB(png, png_get_channels, HAVE_PNG=yes, , -lX11 -lz -lm))
     CFLAGS="${old_c_flags}"
   fi
 
     CFLAGS="${old_c_flags}"
   fi
 
@@ -1703,7 +1856,10 @@ if test "${HAVE_X11}" = "yes"; then
     old_c_flags="${CFLAGS}"
     CFLAGS="${LD_SWITCH_X_SITE} ${CFLAGS}"
     AC_CHECK_HEADER(tiffio.h,
     old_c_flags="${CFLAGS}"
     CFLAGS="${LD_SWITCH_X_SITE} ${CFLAGS}"
     AC_CHECK_HEADER(tiffio.h,
-      AC_CHECK_LIB(tiff, TIFFGetVersion, HAVE_TIFF=yes, , -lX11 -lm))
+      tifflibs="-lX11 -lz -lm"
+      # At least one tiff package requires the jpeg library.
+      if test "${HAVE_JPEG}" = yes; then tifflibs="-ljpeg $tifflibs"; fi
+      AC_CHECK_LIB(tiff, TIFFGetVersion, HAVE_TIFF=yes, , $tifflibs))
     CFLAGS="${old_c_flags}"
   fi
 
     CFLAGS="${old_c_flags}"
   fi
 
@@ -1719,7 +1875,7 @@ if test "${HAVE_X11}" = "yes"; then
     old_c_flags="${CFLAGS}"
     CFLAGS="${LD_SWITCH_X_SITE} ${CFLAGS}"
     AC_CHECK_HEADER(gif_lib.h,
     old_c_flags="${CFLAGS}"
     CFLAGS="${LD_SWITCH_X_SITE} ${CFLAGS}"
     AC_CHECK_HEADER(gif_lib.h,
-      AC_CHECK_LIB(ungif, DGifOpenFileName, HAVE_GIF=yes, , -lX11))
+      AC_CHECK_LIB(ungif, DGifOpen, HAVE_GIF=yes, , -lX11))
     CFLAGS="${old_c_flags}"
   fi
 
     CFLAGS="${old_c_flags}"
   fi
 
@@ -1768,11 +1924,28 @@ fi
 AC_CHECK_FUNCS(touchlock)
 AC_CHECK_HEADERS(maillock.h)
 
 AC_CHECK_FUNCS(touchlock)
 AC_CHECK_HEADERS(maillock.h)
 
-AC_CHECK_FUNCS(gettimeofday gethostname getdomainname dup2 \
+AC_CHECK_FUNCS(gethostname getdomainname dup2 \
 rename closedir mkdir rmdir sysinfo \
 random lrand48 bcopy bcmp logb frexp fmod rint cbrt ftime res_init setsid \
 strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \
 rename closedir mkdir rmdir sysinfo \
 random lrand48 bcopy bcmp logb frexp fmod rint cbrt ftime res_init setsid \
 strerror fpathconf select mktime euidaccess getpagesize tzset setlocale \
-utimes setrlimit setpgid getcwd shutdown strftime getaddrinfo)
+utimes setrlimit setpgid getcwd getwd shutdown strftime getaddrinfo \
+__fpending mblen mbrlen strsignal setitimer ualarm index rindex \
+gai_strerror mkstemp)
+
+AC_FUNC_MKTIME
+if test "$ac_cv_func_working_mktime" = no; then
+  AC_DEFINE(BROKEN_MKTIME)
+fi
+
+AC_FUNC_GETLOADAVG
+
+AC_FUNC_FSEEKO
+
+# UNIX98 PTYs.
+AC_CHECK_FUNCS(grantpt)
+
+# PTY-related GNU extensions.
+AC_CHECK_FUNCS(getpt)
 
 # Check this now, so that we will NOT find the above functions in ncurses.
 # That is because we have not set up to link ncurses in lib-src.
 
 # Check this now, so that we will NOT find the above functions in ncurses.
 # That is because we have not set up to link ncurses in lib-src.
@@ -1780,6 +1953,32 @@ utimes setrlimit setpgid getcwd shutdown strftime getaddrinfo)
 # than to expect to find it in ncurses.
 AC_CHECK_LIB(ncurses, tparm)
 
 # than to expect to find it in ncurses.
 AC_CHECK_LIB(ncurses, tparm)
 
+# These tell us which Kerberos-related libraries to use.
+if test "${with_kerberos+set}" = set; then
+  AC_CHECK_LIB(com_err, com_err)
+  AC_CHECK_LIB(k5crypto, mit_des_cbc_encrypt)
+  AC_CHECK_LIB(crypto, mit_des_cbc_encrypt)
+  AC_CHECK_LIB(krb5, krb5_init_context)
+  if test "${with_kerberos5+set}" != set; then
+    AC_CHECK_LIB(des425, des_cbc_encrypt,,
+                AC_CHECK_LIB(des, des_cbc_encrypt))
+    AC_CHECK_LIB(krb4, krb_get_cred,,
+                AC_CHECK_LIB(krb, krb_get_cred))
+  fi
+
+  if test "${with_kerberos5+set}" = set; then
+    AC_CHECK_HEADERS(krb5.h)
+  else
+    AC_CHECK_HEADERS(des.h,,
+                    AC_CHECK_HEADERS(kerberosIV/des.h,,
+                                     AC_CHECK_HEADERS(kerberos/des.h)))
+    AC_CHECK_HEADERS(krb.h,,
+                    AC_CHECK_HEADERS(kerberosIV/krb.h,,
+                                     AC_CHECK_HEADERS(kerberos/krb.h)))
+  fi
+  AC_CHECK_HEADERS(com_err.h)
+fi
+
 # Solaris requires -lintl if you want strerror (which calls dgettext)
 # to return localized messages.
 AC_CHECK_LIB(intl, dgettext)
 # Solaris requires -lintl if you want strerror (which calls dgettext)
 # to return localized messages.
 AC_CHECK_LIB(intl, dgettext)
@@ -1788,9 +1987,6 @@ AC_MSG_CHECKING(whether localtime caches TZ)
 AC_CACHE_VAL(emacs_cv_localtime_cache,
 [if test x$ac_cv_func_tzset = xyes; then
 AC_TRY_RUN([#include <time.h>
 AC_CACHE_VAL(emacs_cv_localtime_cache,
 [if test x$ac_cv_func_tzset = xyes; then
 AC_TRY_RUN([#include <time.h>
-#if STDC_HEADERS
-# include <stdlib.h>
-#endif
 extern char **environ;
 unset_TZ ()
 {
 extern char **environ;
 unset_TZ ()
 {
@@ -1832,9 +2028,10 @@ if test $emacs_cv_localtime_cache = yes; then
 fi
 
 if test "x$HAVE_TIMEVAL" = xyes; then
 fi
 
 if test "x$HAVE_TIMEVAL" = xyes; then
-AC_CACHE_CHECK(whether gettimeofday can accept two arguments,
-              emacs_cv_gettimeofday_two_arguments,
-AC_TRY_LINK([
+  AC_CHECK_FUNCS(gettimeofday)
+  AC_CACHE_CHECK(whether gettimeofday can accept two arguments,
+                emacs_cv_gettimeofday_two_arguments,
+  AC_TRY_COMPILE([
 #ifdef TIME_WITH_SYS_TIME
 #include <sys/time.h>
 #include <time.h>
 #ifdef TIME_WITH_SYS_TIME
 #include <sys/time.h>
 #include <time.h>
@@ -1844,20 +2041,45 @@ AC_TRY_LINK([
 #else
 #include <time.h>
 #endif
 #else
 #include <time.h>
 #endif
-#endif
-  ],
-  [
-  struct timeval time;
-  struct timezone dummy;
-  gettimeofday (&time, &dummy);
-],
-  emacs_cv_gettimeofday_two_arguments=yes,
-  emacs_cv_gettimeofday_two_arguments=no))
+#endif],
+    [struct timeval time;
+     gettimeofday (&time, 0);],
+    emacs_cv_gettimeofday_two_arguments=yes,
+    emacs_cv_gettimeofday_two_arguments=no))
   if test $emacs_cv_gettimeofday_two_arguments = no; then
     AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)
   fi
 fi
 
   if test $emacs_cv_gettimeofday_two_arguments = no; then
     AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)
   fi
 fi
 
+dnl Note that AC_STRUCT_TIMEZONE doesn't do what you might expect.
+if test "$ac_cv_func_gettimeofday" = yes; then
+  AC_CACHE_CHECK([for struct timezone], emacs_cv_struct_timezone,
+    [AC_TRY_COMPILE([#include <sys/time.h>],
+    [struct timezone tz;],
+    dnl It may be that we can't call gettimeofday with a non-null pointer,
+    dnl even though we have struct timezone (e.g. HPUX).  In that case
+    dnl we'll lie about struct timezone.
+    [AC_TRY_RUN([
+#ifdef TIME_WITH_SYS_TIME
+#include <sys/time.h>
+#include <time.h>
+#else
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#else
+#include <time.h>
+#endif
+#endif
+main () {
+  struct timeval time;
+  struct timezone dummy;
+  exit (gettimeofday (&time, &dummy));
+}],
+      emacs_cv_struct_timezone=yes,
+      emacs_cv_struct_timezone=no, emacs_cv_struct_timezone=yes)],
+    emacs_cv_struct_timezone=no)])
+fi
+
 ok_so_far=yes
 AC_CHECK_FUNC(socket, , ok_so_far=no)
 if test $ok_so_far = yes; then
 ok_so_far=yes
 AC_CHECK_FUNC(socket, , ok_so_far=no)
 if test $ok_so_far = yes; then
@@ -1874,8 +2096,22 @@ if test -f /usr/lpp/X11/bin/smt.exp; then
   AC_DEFINE(HAVE_AIX_SMT_EXP)
 fi
 
   AC_DEFINE(HAVE_AIX_SMT_EXP)
 fi
 
+AC_MSG_CHECKING(whether system supports dynamic ptys)
+if test -d /dev/pts && ls -d /dev/ptmx > /dev/null 2>&1 ; then
+  AC_MSG_RESULT(yes)
+  AC_DEFINE(HAVE_DEV_PTMX)
+else
+  AC_MSG_RESULT(no)
+fi
+
+AC_FUNC_VFORK
+
+# Fixme: This should be replaced when we have autoconf 2.14.
+AC_SIZE_T
+
 # Set up the CFLAGS for real compilation, so we can substitute it.
 CFLAGS="$REAL_CFLAGS"
 # Set up the CFLAGS for real compilation, so we can substitute it.
 CFLAGS="$REAL_CFLAGS"
+CPPFLAGS="$REAL_CPPFLAGS"
 
 changequote(, )dnl
 #### Find out which version of Emacs this is.
 
 changequote(, )dnl
 #### Find out which version of Emacs this is.
@@ -1917,7 +2153,7 @@ AC_SUBST(CFLAGS)
 AC_SUBST(X_TOOLKIT_TYPE)
 AC_SUBST(machfile)
 AC_SUBST(opsysfile)
 AC_SUBST(X_TOOLKIT_TYPE)
 AC_SUBST(machfile)
 AC_SUBST(opsysfile)
-AC_SUBST(RANLIB)
+AC_SUBST(GETLOADAVG_LIBS)
 
 AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION,  "${canonical}")
 AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "${ac_configure_args}")
 
 AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION,  "${canonical}")
 AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "${ac_configure_args}")
@@ -1949,9 +2185,6 @@ fi
 if test "${REL_ALLOC}" = "yes" ; then
   AC_DEFINE(REL_ALLOC)
 fi
 if test "${REL_ALLOC}" = "yes" ; then
   AC_DEFINE(REL_ALLOC)
 fi
-if test "${LISP_FLOAT_TYPE}" = "yes" ; then
-  AC_DEFINE(LISP_FLOAT_TYPE)
-fi
 
 #### Report on what we decided to do.
 echo "
 
 #### Report on what we decided to do.
 echo "
@@ -1962,7 +2195,8 @@ Configured for \`${canonical}'.
         \`${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}
         \`${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}
+  Should Emacs use a relocating allocator for buffers?    ${REL_ALLOC}
+  Should Emacs use mmap(2) for buffer allocation?         $use_mmap_for_buffers
   What window system should Emacs use?                    ${window_system}
   What toolkit should Emacs use?                          ${USE_X_TOOLKIT}"
 
   What window system should Emacs use?                    ${window_system}
   What toolkit should Emacs use?                          ${USE_X_TOOLKIT}"
 
@@ -1996,7 +2230,7 @@ changequote([, ])dnl
 
 AC_OUTPUT(Makefile lib-src/Makefile.c:lib-src/Makefile.in oldXMenu/Makefile \
        man/Makefile lwlib/Makefile src/Makefile.c:src/Makefile.in \
 
 AC_OUTPUT(Makefile lib-src/Makefile.c:lib-src/Makefile.in oldXMenu/Makefile \
        man/Makefile lwlib/Makefile src/Makefile.c:src/Makefile.in \
-       leim/Makefile, [
+       lisp/Makefile leim/Makefile, [
 
 ### Make the necessary directories, if they don't exist.
 for dir in etc lisp ; do
 
 ### Make the necessary directories, if they don't exist.
 for dir in etc lisp ; do
@@ -2023,6 +2257,13 @@ changequote([, ])dnl
 echo creating src/epaths.h
 make epaths-force
 
 echo creating src/epaths.h
 make epaths-force
 
+# As of 2000-11-19, newest development versions of GNU cpp preprocess
+# `..' to `. .'  unless invoked with -traditional
+
+if test "x$GCC" = xyes && test "x$NON_GNU_CPP" = x; then
+  CPPFLAGS="$CPPFLAGS -traditional"
+fi
+
 echo creating lib-src/Makefile
 ( cd lib-src
   rm -f junk.c junk1.c junk2.c
 echo creating lib-src/Makefile
 ( cd lib-src
   rm -f junk.c junk1.c junk2.c
@@ -2063,4 +2304,5 @@ fi
 # This is how we know whether to re-run configure in certain cases.
 touch src/config.stamp
 
 # This is how we know whether to re-run configure in certain cases.
 touch src/config.stamp
 
-], [CPP="$CPP" CPPFLAGS="$CPPFLAGS"])
+], [GCC="$GCC" NON_GNU_CPP="$NON_GNU_CPP" CPP="$CPP" CPPFLAGS="$CPPFLAGS"])
+