(set_lface_from_font_name): Fix incomplete merge.
[bpt/emacs.git] / configure.in
index 21ad12d..aa761ff 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 Free Software Foundation, Inc.
+dnl  Copyright (C) 1994, 1995, 1996, 1999 Free Software Foundation, Inc.
 dnl
 dnl  This file is part of GNU Emacs.
 dnl
 dnl
 dnl  This file is part of GNU Emacs.
 dnl
@@ -28,21 +28,33 @@ AC_CONFIG_HEADER(src/config.h:src/config.in)
 
 lispdir='${datadir}/emacs/${version}/lisp'
 locallisppath='${datadir}/emacs/${version}/site-lisp:'\
 
 lispdir='${datadir}/emacs/${version}/lisp'
 locallisppath='${datadir}/emacs/${version}/site-lisp:'\
-'${datadir}/emacs/site-lisp'
+'${datadir}/emacs/site-lisp:${datadir}/emacs/${version}/leim'
 lisppath='${locallisppath}:${lispdir}'
 etcdir='${datadir}/emacs/${version}/etc'
 lisppath='${locallisppath}:${lispdir}'
 etcdir='${datadir}/emacs/${version}/etc'
-lockdir='${sharedstatedir}/emacs/lock'
 archlibdir='${libexecdir}/emacs/${version}/${configuration}'
 docdir='${datadir}/emacs/${version}/etc'
 
 AC_ARG_WITH(gcc,
 archlibdir='${libexecdir}/emacs/${version}/${configuration}'
 docdir='${datadir}/emacs/${version}/etc'
 
 AC_ARG_WITH(gcc,
-[  --with-gcc              use GCC to compile Emacs])
+[  --without-gcc           don't use GCC to compile Emacs if GCC is found])
 AC_ARG_WITH(pop,
 AC_ARG_WITH(pop,
-[  --with-pop              support POP for mail retrieval],
-[AC_DEFINE(MAIL_USE_POP)])
+[  --without-pop           don't support POP mail retrieval with movemail],
+[if test "$withval" = yes; then
+   AC_DEFINE(MAIL_USE_POP)
+else :
+fi],
+AC_DEFINE(MAIL_USE_POP))
 AC_ARG_WITH(kerberos,
 [  --with-kerberos         support Kerberos-authenticated POP],
 [AC_DEFINE(KERBEROS)])
 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)])
@@ -70,6 +82,18 @@ Currently, \`yes', \`athena' and \`lucid' are synonyms.])
          esac
          with_x_toolkit=$val
 ])
          esac
          with_x_toolkit=$val
 ])
+AC_ARG_WITH(xpm,
+[  --with-xpm              use -lXpm for displaying XPM images])
+AC_ARG_WITH(jpeg,
+[  --with-jpeg             use -ljpeg for displaying JPEG images])
+AC_ARG_WITH(tiff,
+[  --with-tiff             use -ltiff for displaying TIFF images])
+AC_ARG_WITH(gif,
+[  --with-gif              use -lungif for displaying GIF images])
+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])
 
 #### Make srcdir absolute, if it isn't already.  It's important to
 #### avoid running the path through pwd unnecessary, since pwd can
 
 #### Make srcdir absolute, if it isn't already.  It's important to
 #### avoid running the path through pwd unnecessary, since pwd can
@@ -81,7 +105,7 @@ 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).
     ## 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).
-    CDPATH=
+    unset CDPATH
     if test "${PWD}" != "" && test "`(cd ${PWD} ; sh -c pwd)`" = "`pwd`"  ;
     then
       srcdir="$PWD"
     if test "${PWD}" != "" && test "`(cd ${PWD} ; sh -c pwd)`" = "`pwd`"  ;
     then
       srcdir="$PWD"
@@ -155,13 +179,30 @@ case "${canonical}" in
   *-*-netbsd* )
     opsys=netbsd
     case "${canonical}" in
   *-*-netbsd* )
     opsys=netbsd
     case "${canonical}" in
+      alpha*-*-netbsd*)        machine=alpha ;;
       i[3456]86-*-netbsd*) machine=intel386 ;;
       m68k-*-netbsd*)
                        # This is somewhat bogus.
                        machine=hp9000s300 ;;
       i[3456]86-*-netbsd*) machine=intel386 ;;
       m68k-*-netbsd*)
                        # This is somewhat bogus.
                        machine=hp9000s300 ;;
+      powerpc-apple-netbsd*) machine=macppc ;;
       mips-*-netbsd*)  machine=pmax ;;
       ns32k-*-netbsd*) machine=ns32000 ;;
       sparc-*-netbsd*) machine=sparc ;;
       mips-*-netbsd*)  machine=pmax ;;
       ns32k-*-netbsd*) machine=ns32000 ;;
       sparc-*-netbsd*) machine=sparc ;;
+      vax-*-netbsd*)   machine=vax ;;
+    esac
+  ;;
+
+  ## OpenBSD ports
+  *-*-openbsd* )
+    opsys=openbsd
+    case "${canonical}" in
+      alpha*-*-openbsd*)       machine=alpha ;;
+      i386-*-openbsd*) machine=intel386 ;;
+      m68k-*-openbsd*)  machine=hp9000s300 ;;
+      mipsel-*-openbsd*) machine=pmax ;;
+      ns32k-*-openbsd*)        machine=ns32000 ;;
+      sparc-*-openbsd*)        machine=sparc ;;
+      vax-*-openbsd*)  machine=vax ;;
     esac
   ;;
 
     esac
   ;;
 
@@ -175,6 +216,23 @@ case "${canonical}" in
     machine=acorn opsys=riscix12
   ;;
 
     machine=acorn opsys=riscix12
   ;;
 
+  ## BSDI ports
+  *-*-bsdi* )
+    opsys=bsdi
+    case "${canonical}" in
+      i[345]86-*-bsdi*) machine=intel386 ;;
+      sparc-*-bsdi*)  machine=sparc ;;
+      powerpc-*-bsdi*)  machine=powerpc ;;
+    esac
+    case "${canonical}" in
+      *-*-bsd386* | *-*-bsdi1* )       opsys=bsd386 ;;
+      *-*-bsdi2.0* )           opsys=bsdos2 ;;
+      *-*-bsdi2* )             opsys=bsdos2-1 ;;
+      *-*-bsdi3* )             opsys=bsdos3 ;;
+      *-*-bsdi4* )             opsys=bsdos4 ;;
+    esac
+  ;;
+
   ## Alliant machines
   ## Strictly speaking, we need the version of the alliant operating
   ## system to choose the right machine file, but currently the
   ## Alliant machines
   ## Strictly speaking, we need the version of the alliant operating
   ## system to choose the right machine file, but currently the
@@ -189,17 +247,26 @@ case "${canonical}" in
   ;;
 
   ## Alpha (DEC) machines.
   ;;
 
   ## Alpha (DEC) machines.
-  alpha-dec-osf* )
+  alpha*-dec-osf* )
     machine=alpha opsys=osf1
     # 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
   ;;
 
     machine=alpha opsys=osf1
     # 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
   ;;
 
-  alpha-*-linux-gnu* )
+  alpha*-*-linux-gnu* )
     machine=alpha opsys=gnu-linux
   ;;
 
     machine=alpha opsys=gnu-linux
   ;;
 
+  arm*-*-linux-gnu* )
+    machine=arm opsys=gnu-linux
+  ;;
+
+  ppc-*-linux | \
+  powerpc-*-linux* )
+    machine=powerpc opsys=gnu-linux
+  ;;
+
   ## Altos 3068
   m68*-altos-sysv* )
     machine=altos opsys=usg5-2
   ## Altos 3068
   m68*-altos-sysv* )
     machine=altos opsys=usg5-2
@@ -215,6 +282,11 @@ case "${canonical}" in
     machine=apollo opsys=bsd4-3
   ;;
 
     machine=apollo opsys=bsd4-3
   ;;
 
+  ## ARM, GNU/Linux
+  arm*-*-linux-gnu* )
+    machine=arm opsys=gnu-linux
+  ;;
+
   ## AT&T 3b2, 3b5, 3b15, 3b20
   we32k-att-sysv* )
     machine=att3b opsys=usg5-2-2
   ## AT&T 3b2, 3b5, 3b15, 3b20
   we32k-att-sysv* )
     machine=att3b opsys=usg5-2-2
@@ -277,6 +349,14 @@ case "${canonical}" in
   ;;
 
   ## Data General AViiON Machines
   ;;
 
   ## Data General AViiON Machines
+  ## DG changed naming conventions with the release of 5.4.4.10, they
+  ## dropped the initial 5.4 but left the intervening R.  Because of the
+  ## R this shouldn't conflict with older versions of the OS (which I
+  ## think were named like dgux4.*). In addition, DG new AViiONs series
+  ## uses either Motorola M88k or Intel Pentium CPUs.
+  m88k-dg-dguxR4.* | m88k-dg-dgux4* )
+    machine=aviion opsys=dgux4
+  ;;
   m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* )
     ## This name is dgux5-4-3 instead of dgux5-4r3
     ## to avoid a file name conflict on MSDOS.
   m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* )
     ## This name is dgux5-4-3 instead of dgux5-4r3
     ## to avoid a file name conflict on MSDOS.
@@ -289,6 +369,13 @@ case "${canonical}" in
     machine=aviion opsys=dgux
   ;;
 
     machine=aviion opsys=dgux
   ;;
 
+  ## Data General AViiON Intel (x86) Machines
+  ## Exists from 5.4.3 (current i586-dg-dguxR4.11)
+  ## Ehud Karni, 1998-may-30, ehud@unix.simonwiesel.co.il
+  i[345]86-dg-dguxR4* )
+    machine=aviion-intel opsys=dgux4
+  ;;
+
   ## DECstations
   mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* )
     machine=pmax opsys=bsd4-2
   ## DECstations
   mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* )
     machine=pmax opsys=bsd4-2
@@ -383,7 +470,10 @@ case "${canonical}" in
     machine=nh6000 opsys=powerunix
     NON_GNU_CPP="cc -Xo -E -P"
   ;;
     machine=nh6000 opsys=powerunix
     NON_GNU_CPP="cc -Xo -E -P"
   ;;
-
+  ## SR2001/SR2201 running HI-UX/MPP
+  hppa1.1-hitachi-hiuxmpp* )
+    machine=sr2k opsys=hiuxmpp
+  ;;
   ## Honeywell XPS100
   xps*-honeywell-sysv* )
     machine=xps100 opsys=usg5-2
   ## Honeywell XPS100
   xps*-honeywell-sysv* )
     machine=xps100 opsys=usg5-2
@@ -401,7 +491,7 @@ case "${canonical}" in
       *.B8.* ) machine=hp9000s300 opsys=hpux8 ;;
       *.08.* ) machine=hp9000s300 opsys=hpux8 ;;
       *.09.* ) machine=hp9000s300 opsys=hpux9 ;;
       *.B8.* ) machine=hp9000s300 opsys=hpux8 ;;
       *.08.* ) machine=hp9000s300 opsys=hpux8 ;;
       *.09.* ) machine=hp9000s300 opsys=hpux9 ;;
-      *.10.* ) machine=hp9000s300 opsys=hpux9shr ;;
+      *.1[0-9].* ) machine=hp9000s300 opsys=hpux9shr ;;
       *) machine=hp9000s300 opsys=hpux ;;
     esac
   ;;
       *) machine=hp9000s300 opsys=hpux ;;
     esac
   ;;
@@ -419,7 +509,7 @@ case "${canonical}" in
   hppa*-hp-hpux9* )
     machine=hp800 opsys=hpux9
   ;;
   hppa*-hp-hpux9* )
     machine=hp800 opsys=hpux9
   ;;
-  hppa*-hp-hpux10* )
+  hppa*-hp-hpux1[0-9]* )
     machine=hp800 opsys=hpux10
   ;;
 
     machine=hp800 opsys=hpux10
   ;;
 
@@ -432,10 +522,10 @@ case "${canonical}" in
       *.B8.* ) machine=hp800 opsys=hpux8 ;;
       *.08.* ) machine=hp800 opsys=hpux8 ;;
       *.09.* ) machine=hp800 opsys=hpux9 ;;
       *.B8.* ) machine=hp800 opsys=hpux8 ;;
       *.08.* ) machine=hp800 opsys=hpux8 ;;
       *.09.* ) machine=hp800 opsys=hpux9 ;;
-      *) machine=hp800 opsys=hpux ;;
+      *) machine=hp800 opsys=hpux10 ;;
     esac
   ;;
     esac
   ;;
-  hppa-*-nextstep* )
+  hppa*-*-nextstep* )
     machine=hp800 opsys=nextstep
   ;;
 
     machine=hp800 opsys=nextstep
   ;;
 
@@ -466,9 +556,15 @@ case "${canonical}" in
   rs6000-ibm-aix4.1* | powerpc-ibm-aix4.1*  )
     machine=ibmrs6000 opsys=aix4-1
   ;;
   rs6000-ibm-aix4.1* | powerpc-ibm-aix4.1*  )
     machine=ibmrs6000 opsys=aix4-1
   ;;
-  rs6000-ibm-aix4* | powerpc-ibm-aix4*  )
+  rs6000-ibm-aix4.2* | powerpc-ibm-aix4.2*  )
+    machine=ibmrs6000 opsys=aix4-2
+  ;;
+  rs6000-ibm-aix4.0* | powerpc-ibm-aix4.0*  )
     machine=ibmrs6000 opsys=aix4
   ;;
     machine=ibmrs6000 opsys=aix4
   ;;
+  rs6000-ibm-aix4* | powerpc-ibm-aix4*  )
+    machine=ibmrs6000 opsys=aix4-1
+  ;;
   rs6000-ibm-aix* | powerpc-ibm-aix* )
     machine=ibmrs6000 opsys=aix3-2
   ;;
   rs6000-ibm-aix* | powerpc-ibm-aix* )
     machine=ibmrs6000 opsys=aix3-2
   ;;
@@ -613,6 +709,11 @@ case "${canonical}" in
     machine=tower32v3 opsys=usg5-3
   ;;
 
     machine=tower32v3 opsys=usg5-3
   ;;
 
+  ## NEC EWS4800
+  mips-nec-sysv4*)
+  machine=ews4800 opsys=ux4800
+  ;;
+
   ## Nixdorf Targon 31
   m68*-nixdorf-sysv* )
     machine=targon31 opsys=usg5-2-2
   ## Nixdorf Targon 31
   m68*-nixdorf-sysv* )
     machine=targon31 opsys=usg5-2-2
@@ -628,6 +729,12 @@ case "${canonical}" in
     machine=plexus opsys=usg5-2
   ;;
 
     machine=plexus opsys=usg5-2
   ;;
 
+  ## PowerPC reference platform
+  powerpcle-*-solaris2* )
+    machine=prep
+    opsys=sol2-5
+  ;;
+
   ## 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 machines
   ## I don't really have any idea what sort of processor the Pyramid has,
   ## so I'm assuming it is its own architecture.
@@ -665,9 +772,19 @@ case "${canonical}" in
   mips-sgi-irix4* )
     machine=iris4d opsys=irix4-0
   ;;
   mips-sgi-irix4* )
     machine=iris4d opsys=irix4-0
   ;;
+  mips-sgi-irix6.5 )
+    machine=iris4d opsys=irix6-5
+    # 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="-n32 -G0 -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 for 6.5,
+    # but presumably it does no harm.
+    NON_GNU_CPP="/lib/cpp -D_LANGUAGE_C"
     NON_GCC_TEST_OPTIONS=-32
   ;;
   mips-sgi-irix5.[01]* )
     NON_GCC_TEST_OPTIONS=-32
   ;;
   mips-sgi-irix5.[01]* )
@@ -690,6 +807,9 @@ case "${canonical}" in
   mips-sony-bsd* | mips-sony-newsos4* | mips-sony-news4*)
     machine=news-risc opsys=bsd4-3
   ;;
   mips-sony-bsd* | mips-sony-newsos4* | mips-sony-news4*)
     machine=news-risc opsys=bsd4-3
   ;;
+  mips-sony-newsos6* )
+    machine=news-r6 opsys=newsos6
+  ;;
   mips-sony-news* )
     machine=news-risc opsys=newsos5
   ;;
   mips-sony-news* )
     machine=news-risc opsys=newsos5
   ;;
@@ -700,7 +820,7 @@ case "${canonical}" in
   ;;
 
   ## Suns
   ;;
 
   ## Suns
-  sparc-*-linux-gnu* )
+  sparc-*-linux-gnu* | sparc64-*-linux-gnu* )
     machine=sparc opsys=gnu-linux
   ;;
 
     machine=sparc opsys=gnu-linux
   ;;
 
@@ -713,6 +833,7 @@ case "${canonical}" in
       m68* )           machine=sun3 ;;
       i[3456]86-sun-sunos[34]* )       machine=sun386 ;;
       i[3456]86-*-* )     machine=intel386 ;;
       m68* )           machine=sun3 ;;
       i[3456]86-sun-sunos[34]* )       machine=sun386 ;;
       i[3456]86-*-* )     machine=intel386 ;;
+      powerpcle* )      machine=powerpcle ;;
       powerpc* | rs6000* )  machine=ibmrs6000 ;;
       sparc* )         machine=sparc ;;
       * )              unported=yes ;;
       powerpc* | rs6000* )  machine=ibmrs6000 ;;
       sparc* )         machine=sparc ;;
       * )              unported=yes ;;
@@ -753,7 +874,7 @@ case "${canonical}" in
                RANLIB="ar -ts"
                ;;
       *-sunos5* | *-solaris* )
                RANLIB="ar -ts"
                ;;
       *-sunos5* | *-solaris* )
-               opsys=sol2-4
+               opsys=sol2-5
                NON_GNU_CPP=/usr/ccs/lib/cpp
                ;;
       *                          ) opsys=bsd4-2   ;;
                NON_GNU_CPP=/usr/ccs/lib/cpp
                ;;
       *                          ) opsys=bsd4-2   ;;
@@ -867,9 +988,7 @@ case "${canonical}" in
                                # /lib/cpp does not accept it.
                                OVERRIDE_CPPFLAGS=" "
                                ;;
                                # /lib/cpp does not accept it.
                                OVERRIDE_CPPFLAGS=" "
                                ;;
-      *-bsd386* | *-bsdi1* )   opsys=bsd386 ;;
-      *-bsdi2.0* )             opsys=bsdos2 ;;
-      *-bsdi2* )               opsys=bsdos2-1 ;;
+      *-sysv4.2uw* )           opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
       *-386bsd* )              opsys=386bsd ;;
       *-freebsd* )             opsys=freebsd ;;
       *-nextstep* )             opsys=nextstep ;;
       *-386bsd* )              opsys=386bsd ;;
       *-freebsd* )             opsys=freebsd ;;
       *-nextstep* )             opsys=nextstep ;;
@@ -877,11 +996,28 @@ case "${canonical}" in
     esac
   ;;
 
     esac
   ;;
 
-  ## Linux/68k-based GNU system
+  ## m68k Linux-based GNU system
   m68k-*-linux-gnu* )
     machine=m68k opsys=gnu-linux
   ;;
 
   m68k-*-linux-gnu* )
     machine=m68k opsys=gnu-linux
   ;;
 
+  ## Mips Linux-based GNU system
+  mips-*-linux-gnu* )
+    machine=mips opsys=gnu-linux
+  ;;
+
+  ## UXP/DS
+  sparc-fujitsu-sysv4* )
+    machine=sparc opsys=uxpds
+    NON_GNU_CPP=/usr/ccs/lib/cpp
+    RANLIB="ar -ts"
+  ;;
+
+  ## UXP/V
+  f301-fujitsu-uxpv4.1)
+    machine=f301 opsys=uxpv
+  ;;
+
   * )
     unported=yes
   ;;
   * )
     unported=yes
   ;;
@@ -903,6 +1039,7 @@ if test x"${opsys}" = x; then
     *-sysv2 | *-sysvr2 )               opsys=usg5-2 ;;
     *-sysv2.2 | *-sysvr2.2 )           opsys=usg5-2-2 ;;
     *-sysv3* | *-sysvr3* )             opsys=usg5-3 ;;
     *-sysv2 | *-sysvr2 )               opsys=usg5-2 ;;
     *-sysv2.2 | *-sysvr2.2 )           opsys=usg5-2-2 ;;
     *-sysv3* | *-sysvr3* )             opsys=usg5-3 ;;
+    *-sysv4.2uw* )                     opsys=unixware ;;
     *-sysv4.1* | *-sysvr4.1* )
        NON_GNU_CPP=/usr/lib/cpp
        opsys=usg5-4 ;;
     *-sysv4.1* | *-sysvr4.1* )
        NON_GNU_CPP=/usr/lib/cpp
        opsys=usg5-4 ;;
@@ -1004,14 +1141,19 @@ AC_PROG_YACC
 dnl checks for Unix variants
 AC_AIX
 
 dnl checks for Unix variants
 AC_AIX
 
+# Sound support for GNU/Linux and the free BSDs.
+AC_CHECK_HEADERS(machine/soundcard.h sys/soundcard.h)
+
 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)
+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)
 AC_HEADER_STDC
 AC_HEADER_TIME
 AC_DECL_SYS_SIGLIST
 
 dnl Some systems have utime.h but don't declare the struct anyplace.
 AC_HEADER_STDC
 AC_HEADER_TIME
 AC_DECL_SYS_SIGLIST
 
 dnl Some systems have utime.h but don't declare the struct anyplace.
-AC_MSG_CHECKING(for struct utimbuf)
+AC_CACHE_CHECK(for struct utimbuf, emacs_cv_struct_utimbuf,
 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 #include <sys/time.h>
 #include <time.h>
 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 #include <sys/time.h>
 #include <time.h>
@@ -1025,14 +1167,15 @@ AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 #ifdef HAVE_UTIME_H
 #include <utime.h>
 #endif], [static struct utimbuf x; x.actime = x.modtime;],
 #ifdef HAVE_UTIME_H
 #include <utime.h>
 #endif], [static struct utimbuf x; x.actime = x.modtime;],
-  [AC_MSG_RESULT(yes)
-   AC_DEFINE(HAVE_STRUCT_UTIMBUF)],
-  AC_MSG_RESULT(no))
+  emacs_cv_struct_utimbuf=yes, emacs_cv_struct_utimbuf=no))
+if test $emacs_cv_struct_utimbuf = yes; then
+  AC_DEFINE(HAVE_STRUCT_UTIMBUF)
+fi
 
 dnl checks for typedefs
 AC_TYPE_SIGNAL
 
 
 dnl checks for typedefs
 AC_TYPE_SIGNAL
 
-AC_MSG_CHECKING(for struct timeval)
+AC_CACHE_CHECK(for struct timeval, emacs_cv_struct_timeval,
 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 #include <sys/time.h>
 #include <time.h>
 AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 #include <sys/time.h>
 #include <time.h>
@@ -1043,15 +1186,22 @@ AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 #include <time.h>
 #endif
 #endif], [static struct timeval x; x.tv_sec = x.tv_usec;],
 #include <time.h>
 #endif
 #endif], [static struct timeval x; x.tv_sec = x.tv_usec;],
-  [AC_MSG_RESULT(yes)
-   HAVE_TIMEVAL=yes
-   AC_DEFINE(HAVE_TIMEVAL)],
-  [AC_MSG_RESULT(no)
-   HAVE_TIMEVAL=no])
+  emacs_cv_struct_timeval=yes, emacs_cv_struct_timeval=no))
+HAVE_TIMEVAL=$emacs_cv_struct_timeval
+if test $emacs_cv_struct_timeval = yes; then
+  AC_DEFINE(HAVE_TIMEVAL)
+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
 AC_C_CONST
 
 dnl checks for compiler characteristics
 AC_C_CONST
@@ -1074,6 +1224,18 @@ fi
 if test "${x_libraries}" != NONE && test -n "${x_libraries}"; then
   LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"`
   LD_SWITCH_X_SITE_AUX=-R`echo ${x_libraries} | sed -e "s/:/ -R/g"`
 if test "${x_libraries}" != NONE && test -n "${x_libraries}"; then
   LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"`
   LD_SWITCH_X_SITE_AUX=-R`echo ${x_libraries} | sed -e "s/:/ -R/g"`
+  x_default_search_path=""
+  for x_library in `echo ${x_libraries} | sed -e "s/:/ /g"`; do
+    x_search_path="${x_library}/X11/%L/%T/%N%C%S:\
+${x_library}/X11/%L/%T/%N%C%S:${x_libary}/X11/%l/%T/%N%C%S:\
+${x_library}/X11/%T/%N%C%S:${x_library}/X11/%L/%T/%N%S:\
+${x_library}/X11/%l/%T/%N%S:${x_library}/X11/%T/%N%S"
+    if test x"${x_default_search_path}" = x; then
+      x_default_search_path=${x_search_path}
+    else
+      x_default_search_path="${x_search_path}:${x_default_search_path}"
+    fi
+  done
 fi
 if test "${x_includes}" != NONE && test -n "${x_includes}"; then
   C_SWITCH_X_SITE=-I`echo ${x_includes} | sed -e "s/:/ -I/g"`
 fi
 if test "${x_includes}" != NONE && test -n "${x_includes}"; then
   C_SWITCH_X_SITE=-I`echo ${x_includes} | sed -e "s/:/ -I/g"`
@@ -1087,7 +1249,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
@@ -1122,7 +1285,7 @@ HAVE_MENUS=no
 case ${HAVE_X11} in
   yes ) HAVE_MENUS=yes ;;
 esac
 case ${HAVE_X11} in
   yes ) HAVE_MENUS=yes ;;
 esac
-
+  
 if test "${opsys}" = "hpux9"; then
   case "${x_libraries}" in
     *X11R4* )
 if test "${opsys}" = "hpux9"; then
   case "${x_libraries}" in
     *X11R4* )
@@ -1212,6 +1375,21 @@ configure___ system_malloc=no
 #define C_OPTIMIZE_SWITCH -O
 #endif
 
 #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 THIS_IS_CONFIGURE
 
 /* Get the CFLAGS for tests in configure.  */
@@ -1248,16 +1426,36 @@ fi
 changequote([, ])dnl
 rm ${tempcname}
 
 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/'`"
 
 # Do the opsystem or machine files prohibit the use of the GNU malloc?
 # Assume not, until told otherwise.
 GNU_MALLOC=yes
 ### 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
+doug_lea_malloc=yes
+AC_CHECK_FUNC(malloc_get_state, ,doug_lea_malloc=no)
+AC_CHECK_FUNC(malloc_set_state, ,doug_lea_malloc=no)
+AC_CACHE_CHECK(whether __after_morecore_hook exists,
+              emacs_cv_var___after_morecore_hook,
+AC_TRY_LINK([extern void (* __after_morecore_hook)();],[__after_morecore_hook = 0],
+  emacs_cv_var___after_morecore_hook=yes,
+  emacs_cv_var___after_morecore_hook=no))
+if test $emacs_cv_var___after_morecore_hook = no; then
+  doug_lea_malloc=no
+fi
 if test "${system_malloc}" = "yes"; then
   GNU_MALLOC=no
   GNU_MALLOC_reason="
 if test "${system_malloc}" = "yes"; then
   GNU_MALLOC=no
   GNU_MALLOC_reason="
-  (The GNU allocators don't work with this system configuration.)"
+    (The GNU allocators don't work with this system configuration.)"
+fi
+if test "$doug_lea_malloc" = "yes" ; then
+  if test "$GNU_MALLOC" = yes ; then
+    GNU_MALLOC_reason="
+      (Using Doug Lea's new malloc from the GNU C Library.)"
+  fi
+  AC_DEFINE(DOUG_LEA_MALLOC)
 fi
 
 if test x"${REL_ALLOC}" = x; then
 fi
 
 if test x"${REL_ALLOC}" = x; then
@@ -1289,7 +1487,7 @@ AC_CHECK_LIB(Xbsd, main, LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE -lXbsd")
 
 AC_CHECK_LIB(pthreads, cma_open)
 
 
 AC_CHECK_LIB(pthreads, cma_open)
 
-AC_MSG_CHECKING(for XFree86)
+AC_MSG_CHECKING(for XFree86 in /usr/X386)
 if test -d /usr/X386/include; then
   HAVE_XFREE386=yes
   : ${C_SWITCH_X_SITE="-I/usr/X386/include"}
 if test -d /usr/X386/include; then
   HAVE_XFREE386=yes
   : ${C_SWITCH_X_SITE="-I/usr/X386/include"}
@@ -1357,27 +1555,36 @@ fi
 
 if test "${window_system}" = "x11"; then
   AC_MSG_CHECKING(X11 version 6)
 
 if test "${window_system}" = "x11"; then
   AC_MSG_CHECKING(X11 version 6)
+  AC_CACHE_VAL(emacs_cv_x11_version_6,
   AC_TRY_LINK([#include <X11/Xlib.h>],
 [#if XlibSpecificationRelease < 6
 fail;
 #endif
   AC_TRY_LINK([#include <X11/Xlib.h>],
 [#if XlibSpecificationRelease < 6
 fail;
 #endif
-], [AC_MSG_RESULT(6 or newer)
-    AC_DEFINE(HAVE_X11R6)],
-   [AC_MSG_RESULT(before 6)])
+], emacs_cv_x11_version_6=yes, emacs_cv_x11_version_6=no))
+  if test $emacs_cv_x11_version_6 = yes; then
+    AC_MSG_RESULT(6 or newer)
+    AC_DEFINE(HAVE_X11R6)
+  else
+    AC_MSG_RESULT(before 6)
+  fi
 fi
 
 if test "${window_system}" = "x11"; then
   AC_MSG_CHECKING(X11 version 5)
 fi
 
 if test "${window_system}" = "x11"; then
   AC_MSG_CHECKING(X11 version 5)
+  AC_CACHE_VAL(emacs_cv_x11_version_5,
   AC_TRY_LINK([#include <X11/Xlib.h>],
 [#if XlibSpecificationRelease < 5
 fail;
 #endif
   AC_TRY_LINK([#include <X11/Xlib.h>],
 [#if XlibSpecificationRelease < 5
 fail;
 #endif
-], [AC_MSG_RESULT(5 or newer)
+], emacs_cv_x11_version_5=yes, emacs_cv_x11_version_5=no))
+  if test $emacs_cv_x11_version_5 = yes; then
+    AC_MSG_RESULT(5 or newer)
     HAVE_X11R5=yes
     HAVE_X11R5=yes
-    AC_DEFINE(HAVE_X11R5)],
-   [
+    AC_DEFINE(HAVE_X11R5)
+  else
     HAVE_X11R5=no
     HAVE_X11R5=no
-    AC_MSG_RESULT(before 5)])
+    AC_MSG_RESULT(before 5)
+  fi
 fi
 
 dnl Do not put whitespace before the #include statements below.
 fi
 
 dnl Do not put whitespace before the #include statements below.
@@ -1385,14 +1592,20 @@ dnl Older compilers (eg sunos4 cc) choke on it.
 if test x"${USE_X_TOOLKIT}" = xmaybe; then
   if test x"${HAVE_X11R5}" = xyes; then
     AC_MSG_CHECKING(X11 version 5 with Xaw)
 if test x"${USE_X_TOOLKIT}" = xmaybe; then
   if test x"${HAVE_X11R5}" = xyes; then
     AC_MSG_CHECKING(X11 version 5 with Xaw)
+    AC_CACHE_VAL(emacs_cv_x11_version_5_with_xaw,
     AC_TRY_LINK([
 #include <X11/Intrinsic.h>
 #include <X11/Xaw/Simple.h>],
       [],
     AC_TRY_LINK([
 #include <X11/Intrinsic.h>
 #include <X11/Xaw/Simple.h>],
       [],
-      [AC_MSG_RESULT(5 or newer, with Xaw; use toolkit by default)
-       USE_X_TOOLKIT=LUCID],
-      [AC_MSG_RESULT(before 5 or no Xaw; do not use toolkit by default)
-       USE_X_TOOLKIT=none])
+      emacs_cv_x11_version_5_with_xaw=yes,
+      emacs_cv_x11_version_5_with_xaw=no))
+    if test $emacs_cv_x11_version_5_with_xaw = yes; then
+      AC_MSG_RESULT([5 or newer, with Xaw; use toolkit by default])
+      USE_X_TOOLKIT=LUCID
+    else
+      AC_MSG_RESULT(before 5 or no Xaw; do not use toolkit by default)
+      USE_X_TOOLKIT=none
+    fi
   else
     USE_X_TOOLKIT=none
   fi
   else
     USE_X_TOOLKIT=none
   fi
@@ -1402,15 +1615,19 @@ X_TOOLKIT_TYPE=$USE_X_TOOLKIT
 
 if test "${USE_X_TOOLKIT}" != "none"; then
   AC_MSG_CHECKING(X11 toolkit version)
 
 if test "${USE_X_TOOLKIT}" != "none"; then
   AC_MSG_CHECKING(X11 toolkit version)
+  AC_CACHE_VAL(emacs_cv_x11_toolkit_version_6,
   AC_TRY_LINK([#include <X11/Intrinsic.h>],
 [#if XtSpecificationRelease < 6
 fail;
 #endif
   AC_TRY_LINK([#include <X11/Intrinsic.h>],
 [#if XtSpecificationRelease < 6
 fail;
 #endif
-], [AC_MSG_RESULT(6 or newer)
-    HAVE_X11XTR6=yes
-    AC_DEFINE(HAVE_X11XTR6)],
-   [AC_MSG_RESULT(before 6)
-    HAVE_X11XTR6=no])
+], emacs_cv_x11_toolkit_version_6=yes, emacs_cv_x11_toolkit_version_6=no))
+  HAVE_X11XTR6=$emacs_cv_x11_toolkit_version_6
+  if test $emacs_cv_x11_toolkit_version_6 = yes; then
+    AC_MSG_RESULT(6 or newer)
+    AC_DEFINE(HAVE_X11XTR6)
+  else
+    AC_MSG_RESULT(before 6)
+  fi
 
 dnl If using toolkit, check whether libXmu.a exists.
 dnl tranle@intellicorp.com says libXmu.a can need XtMalloc in libXt.a to link.
 
 dnl If using toolkit, check whether libXmu.a exists.
 dnl tranle@intellicorp.com says libXmu.a can need XtMalloc in libXt.a to link.
@@ -1424,13 +1641,144 @@ dnl tranle@intellicorp.com says libXmu.a can need XtMalloc in libXt.a to link.
   LIBS="$OLDLIBS"
 fi
 
   LIBS="$OLDLIBS"
 fi
 
+if test "${USE_X_TOOLKIT}" = "MOTIF"; then
+  AC_CACHE_CHECK(for Motif version 2.1, emacs_cv_motif_version_2_1,
+  AC_TRY_COMPILE([#include <Xm/Xm.h>],
+    [#if XmVERSION > 2 || (XmVERSION == 2 && XmREVISION >= 1)
+int x = 5;
+#else
+Motif version prior to 2.1.
+#endif],
+    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
+    AC_DEFINE(HAVE_MOTIF_2_1)
+    AC_CHECK_LIB(Xp, XpCreateContext)
+  fi
+fi
+
+### Is -lXaw3d available?
+HAVE_XAW3D=no
+if test "${HAVE_X11}" = "yes"; then
+  if test "${USE_X_TOOLKIT}" != "none"; then
+    old_c_flags="${CFLAGS}"
+    CFLAGS="${LD_SWITCH_X_SITE}"
+    AC_CHECK_HEADER(X11/Xaw3d/Scrollbar.h,
+       AC_CHECK_LIB(Xaw3d, XawScrollbarSetThumb, HAVE_XAW3D=yes, , -lX11))
+    CFLAGS="${old_c_flags}"
+
+    if test "${HAVE_XAW3D}" = "yes"; then
+       AC_DEFINE(HAVE_XAW3D)
+    fi
+  fi
+fi
+  
+dnl Use toolkit scroll bars if configured for X toolkit and either
+dnl using Motif or Xaw3d is available, and unless
+dnl --with-toolkit-scroll-bars=no was specified.
+
+USE_TOOLKIT_SCROLL_BARS=no
+if test "${with_toolkit_scroll_bars}" != "no"; then
+  if test "${USE_X_TOOLKIT}" != "none"; then
+    if test "${USE_X_TOOLKIT}" = "MOTIF"; then
+      AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
+      HAVE_XAW3D=no
+      USE_TOOLKIT_SCROLL_BARS=yes
+    elif test "${HAVE_XAW3D}" = "yes"; then
+      AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
+      USE_TOOLKIT_SCROLL_BARS=yes
+    fi
+  fi
+fi
+
+### Use -lXpm if available, unless `--with-xpm=no'.
+HAVE_XPM=no
+if test "${HAVE_X11}" = "yes"; then
+  if test "${with_xpm}" != "no"; then
+    old_c_flags="${CFLAGS}"
+    CFLAGS="${LD_SWITCH_X_SITE}"
+    AC_CHECK_HEADER(X11/xpm.h,
+      AC_CHECK_LIB(Xpm, XpmReadFileToPixmap, HAVE_XPM=yes, , -lX11))
+    CFLAGS="${old_c_flags}"
+  fi
+
+  if test "${HAVE_XPM}" = "yes"; then
+    AC_DEFINE(HAVE_XPM)
+  fi
+fi
+  
+### Use -ljpeg if available, unless `--with-jpeg=no'.
+HAVE_JPEG=no
+if test "${HAVE_X11}" = "yes"; then
+  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)
+    CFLAGS="${old_c_flags}"
+  fi
+
+  if test "${HAVE_JPEG}" = "yes"; then
+    AC_DEFINE(HAVE_JPEG)
+  fi
+fi
+  
+### Use -lpng if available, unless `--with-png=no'.
+HAVE_PNG=no
+if test "${HAVE_X11}" = "yes"; then
+  if test "${with_png}" != "no"; then
+    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))
+    CFLAGS="${old_c_flags}"
+  fi
+
+  if test "${HAVE_PNG}" = "yes"; then
+    AC_DEFINE(HAVE_PNG)
+  fi
+fi
+  
+### Use -ltiff if available, unless `--with-tiff=no'.
+HAVE_TIFF=no
+if test "${HAVE_X11}" = "yes"; then
+  if test "${with_tiff}" != "no"; then
+    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))
+    CFLAGS="${old_c_flags}"
+  fi
+
+  if test "${HAVE_TIFF}" = "yes"; then
+    AC_DEFINE(HAVE_TIFF)
+  fi
+fi
+  
+### Use -lgif if available, unless `--with-gif=no'.
+HAVE_GIF=no
+if test "${HAVE_X11}" = "yes"; then
+  if test "${with_gif}" != "no"; then
+    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))
+    CFLAGS="${old_c_flags}"
+  fi
+
+  if test "${HAVE_GIF}" = "yes"; then
+    AC_DEFINE(HAVE_GIF)
+  fi
+fi
+
 # If netdb.h doesn't declare h_errno, we must declare it by hand.
 # If netdb.h doesn't declare h_errno, we must declare it by hand.
-AC_MSG_CHECKING(whether netdb declares h_errno)
+AC_CACHE_CHECK(whether netdb declares h_errno,
+              emacs_cv_netdb_declares_h_errno,
 AC_TRY_LINK([#include <netdb.h>],
   [return h_errno;],
 AC_TRY_LINK([#include <netdb.h>],
   [return h_errno;],
-  [AC_MSG_RESULT(yes)
-   AC_DEFINE(HAVE_H_ERRNO)],
-  [AC_MSG_RESULT(no)])
+  emacs_cv_netdb_declares_h_errno=yes, emacs_cv_netdb_declares_h_errno=no))
+if test $emacs_cv_netdb_declares_h_errno = yes; then
+  AC_DEFINE(HAVE_H_ERRNO)
+fi
 
 AC_FUNC_ALLOCA
 
 
 AC_FUNC_ALLOCA
 
@@ -1438,9 +1786,36 @@ AC_FUNC_ALLOCA
 # On HPUX 9.01, -lm does not contain logb, so check for sqrt.
 AC_CHECK_LIB(m, sqrt)
 
 # On HPUX 9.01, -lm does not contain logb, so check for sqrt.
 AC_CHECK_LIB(m, sqrt)
 
-AC_CHECK_FUNCS(gettimeofday gethostname dup2 rename closedir mkdir rmdir \
-random lrand48 bcopy bcmp logb frexp fmod ftime res_init setsid \
-strerror fpathconf select mktime euidaccess getpagesize tzset setlocale)
+# Check for mail-locking functions in a "mail" library
+AC_CHECK_LIB(mail, maillock)
+dnl Debian, at least:
+dnl AC_CHECK_LIB(lockfile, maillock, [AC_DEFINE(HAVE_LIBMAIL)])
+AC_CHECK_LIB(lockfile, maillock)
+# If we have the shared liblockfile, assume we must use it for mail
+# locking (e.g. Debian).  If we couldn't link against liblockfile
+# (no liblockfile.a installed), ensure that we don't need to.
+if test "$ac_cv_lib_lockfile_maillock" = no; then
+  dnl This works for files generally, not just executables.
+  dnl Should we look elsewhere for it?  Maybe examine /etc/ld.so.conf?
+  AC_CHECK_PROG(liblockfile, liblockfile.so, yes, no,
+                /usr/lib:/lib:/usr/local/lib:$LD_LIBRARY_PATH)
+  if test $ac_cv_prog_liblockfile = yes; then
+    AC_MSG_ERROR([Shared liblockfile found but can't link against it.
+This probably means that movemail could lose mail.
+There may be a \`development' package to install containing liblockfile.])
+  else AC_DEFINE(LIBMAIL, -llockfile)
+  fi
+  else :
+fi
+AC_CHECK_FUNCS(touchlock)
+AC_CHECK_HEADERS(maillock.h)
+
+AC_CHECK_FUNCS(gettimeofday 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 \
+utimes setrlimit setpgid getcwd shutdown strftime getaddrinfo \
+__fpending ftello getloadavg mblen mbrlen strsignal setitimer ualarm)
 
 # 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.
@@ -1448,13 +1823,40 @@ strerror fpathconf select mktime euidaccess getpagesize tzset setlocale)
 # 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)
+
 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_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>
-#if STDC_HEADERS
-# include <stdlib.h>
-#endif
 extern char **environ;
 unset_TZ ()
 {
 extern char **environ;
 unset_TZ ()
 {
@@ -1496,7 +1898,8 @@ 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_MSG_CHECKING(whether gettimeofday can't accept two arguments)
+AC_CACHE_CHECK(whether gettimeofday can accept two arguments,
+              emacs_cv_gettimeofday_two_arguments,
 AC_TRY_LINK([
 #ifdef TIME_WITH_SYS_TIME
 #include <sys/time.h>
 AC_TRY_LINK([
 #ifdef TIME_WITH_SYS_TIME
 #include <sys/time.h>
@@ -1514,9 +1917,11 @@ AC_TRY_LINK([
   struct timezone dummy;
   gettimeofday (&time, &dummy);
 ],
   struct timezone dummy;
   gettimeofday (&time, &dummy);
 ],
-  [AC_MSG_RESULT(no)],
-  [AC_MSG_RESULT(yes)
-   AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)])
+  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
 
 ok_so_far=yes
 fi
 
 ok_so_far=yes
@@ -1535,6 +1940,14 @@ 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
+
 # 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"
 
@@ -1564,8 +1977,8 @@ AC_SUBST(infodir)
 AC_SUBST(lispdir)
 AC_SUBST(locallisppath)
 AC_SUBST(lisppath)
 AC_SUBST(lispdir)
 AC_SUBST(locallisppath)
 AC_SUBST(lisppath)
+AC_SUBST(x_default_search_path)
 AC_SUBST(etcdir)
 AC_SUBST(etcdir)
-AC_SUBST(lockdir)
 AC_SUBST(archlibdir)
 AC_SUBST(docdir)
 AC_SUBST(bitmapdir)
 AC_SUBST(archlibdir)
 AC_SUBST(docdir)
 AC_SUBST(bitmapdir)
@@ -1638,6 +2051,13 @@ else
 echo "  Where do we find X Windows libraries?                   Standard dirs"
 fi
 
 echo "  Where do we find X Windows libraries?                   Standard dirs"
 fi
 
+echo "  Does Emacs use -lXaw3d?                                 ${HAVE_XAW3D}"
+echo "  Does Emacs use -lXpm?                                   ${HAVE_XPM}"
+echo "  Does Emacs use -ljpeg?                                  ${HAVE_JPEG}"
+echo "  Does Emacs use -ltiff?                                  ${HAVE_TIFF}"
+echo "  Does Emacs use -lungif?                                 ${HAVE_GIF}"
+echo "  Does Emacs use -lpng?                                   ${HAVE_PNG}"
+echo "  Does Emacs use X toolkit scroll bars?                   ${USE_TOOLKIT_SCROLL_BARS}"
 echo
 
 # Remove any trailing slashes in these variables.
 echo
 
 # Remove any trailing slashes in these variables.
@@ -1649,10 +2069,11 @@ test "${exec_prefix}" != NONE &&
 changequote([, ])dnl
 
 AC_OUTPUT(Makefile lib-src/Makefile.c:lib-src/Makefile.in oldXMenu/Makefile \
 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, [
+       man/Makefile lwlib/Makefile src/Makefile.c:src/Makefile.in \
+       leim/Makefile, [
 
 ### Make the necessary directories, if they don't exist.
 
 ### Make the necessary directories, if they don't exist.
-for dir in cpp etc ; do
+for dir in etc lisp ; do
   test -d ${dir} || mkdir ${dir}
 done
 
   test -d ${dir} || mkdir ${dir}
 done
 
@@ -1673,8 +2094,8 @@ sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/  *$//' \
 `"
 changequote([, ])dnl
 
 `"
 changequote([, ])dnl
 
-echo creating src/paths.h
-make paths-force
+echo creating src/epaths.h
+make epaths-force
 
 echo creating lib-src/Makefile
 ( cd lib-src
 
 echo creating lib-src/Makefile
 ( cd lib-src
@@ -1713,4 +2134,7 @@ if test ! -f src/.gdbinit && test -f $top_srcdir/src/.gdbinit; then
   echo source $top_srcdir/src/.gdbinit > src/.gdbinit
 fi
 
   echo source $top_srcdir/src/.gdbinit > src/.gdbinit
 fi
 
+# This is how we know whether to re-run configure in certain cases.
+touch src/config.stamp
+
 ], [CPP="$CPP" CPPFLAGS="$CPPFLAGS"])
 ], [CPP="$CPP" CPPFLAGS="$CPPFLAGS"])