(Vcoding_system_alist): Deleted.
[bpt/emacs.git] / configure.in
index 5663dd3..2bab174 100644 (file)
@@ -18,8 +18,9 @@ dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 dnl  GNU General Public License for more details.
 dnl
 dnl  You should have received a copy of the GNU General Public License
-dnl  along with GNU Emacs; see the file COPYING.  If not, write to
-dnl  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+dnl  along with GNU Emacs; see the file COPYING.  If not, write to the
+dnl  Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+dnl  Boston, MA 02111-1307, USA.
 
 AC_PREREQ(2.8)dnl
 AC_INIT(src/lisp.h)
@@ -27,7 +28,7 @@ AC_CONFIG_HEADER(src/config.h:src/config.in)
 
 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'
 lockdir='${sharedstatedir}/emacs/lock'
@@ -109,7 +110,8 @@ vpath %.h $(srcdir)\
 vpath %.y $(srcdir)\
 vpath %.l $(srcdir)\
 vpath %.s $(srcdir)\
-vpath %.in $(srcdir)'
+vpath %.in $(srcdir)\
+vpath %.texi $(srcdir)'
 fi
 
 #### Given the configuration name, set machfile and opsysfile to the
@@ -153,13 +155,15 @@ case "${canonical}" in
   *-*-netbsd* )
     opsys=netbsd
     case "${canonical}" in
-      i[345]86-*-netbsd*) machine=intel386 ;;
+      alpha-*-netbsd*) machine=alpha ;;
+      i[3456]86-*-netbsd*) machine=intel386 ;;
       m68k-*-netbsd*)
                        # This is somewhat bogus.
                        machine=hp9000s300 ;;
       mips-*-netbsd*)  machine=pmax ;;
       ns32k-*-netbsd*) machine=ns32000 ;;
       sparc-*-netbsd*) machine=sparc ;;
+      vax-*-netbsd*)   machine=vax ;;
     esac
   ;;
 
@@ -168,7 +172,9 @@ case "${canonical}" in
     machine=acorn opsys=riscix1-1
   ;;
   arm-acorn-riscix1.2* | arm-acorn-riscix )
-    machine=acorn opsys=riscix1-2
+    ## This name is riscix12 instead of riscix1.2
+    ## to avoid a file name conflict on MSDOS.
+    machine=acorn opsys=riscix12
   ;;
 
   ## Alliant machines
@@ -187,10 +193,13 @@ case "${canonical}" in
   ## Alpha (DEC) machines.
   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
   ;;
 
-  alpha-*-linux* | alpha-*-lignux* )
-    machine=alpha opsys=lignux
+  alpha-*-linux-gnu* )
+    machine=alpha opsys=gnu-linux
   ;;
 
   ## Altos 3068
@@ -260,7 +269,7 @@ case "${canonical}" in
   ;;
 
   ## Cubix QBx/386
-  i[345]86-cubix-sysv* )
+  i[3456]86-cubix-sysv* )
     machine=intel386 opsys=usg5-3
   ;;
 
@@ -270,8 +279,17 @@ case "${canonical}" in
   ;;
 
   ## 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.*).
+  m88k-dg-dguxR4.* | m88k-dg-dgux4* )
+    machine=aviion opsys=dgux4
+  ;;
   m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* )
-    machine=aviion opsys=dgux5-4r3
+    ## This name is dgux5-4-3 instead of dgux5-4r3
+    ## to avoid a file name conflict on MSDOS.
+    machine=aviion opsys=dgux5-4-3
   ;;
   m88k-dg-dgux5.4R2* | m88k-dg-dgux5.4.2* )
     machine=aviion opsys=dgux5-4r2
@@ -374,7 +392,10 @@ case "${canonical}" in
     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
@@ -426,7 +447,7 @@ case "${canonical}" in
       *) machine=hp800 opsys=hpux ;;
     esac
   ;;
-  hppa-*-nextstep* )
+  hppa*-*-nextstep* )
     machine=hp800 opsys=nextstep
   ;;
 
@@ -439,10 +460,10 @@ case "${canonical}" in
   ;;
 
   ## IBM machines
-  i[345]86-ibm-aix1.1* )
+  i[3456]86-ibm-aix1.1* )
     machine=ibmps2-aix opsys=usg5-2-2
   ;;
-  i[345]86-ibm-aix1.[23]* | i[345]86-ibm-aix* )
+  i[3456]86-ibm-aix1.[23]* | i[3456]86-ibm-aix* )
     machine=ibmps2-aix opsys=usg5-3
   ;;
   i370-ibm-aix*)
@@ -457,9 +478,15 @@ case "${canonical}" in
   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
   ;;
+  rs6000-ibm-aix4* | powerpc-ibm-aix4*  )
+    machine=ibmrs6000 opsys=aix4-1
+  ;;
   rs6000-ibm-aix* | powerpc-ibm-aix* )
     machine=ibmrs6000 opsys=aix3-2
   ;;
@@ -494,30 +521,41 @@ case "${canonical}" in
   ;;
 
   ## Intel 386 machines where we do care about the manufacturer
-  i[345]86-intsys-sysv* )
+  i[3456]86-intsys-sysv* )
     machine=is386 opsys=usg5-2-2
   ;;
 
   ## Prime EXL
-  i[345]86-prime-sysv* )
+  i[3456]86-prime-sysv* )
     machine=i386 opsys=usg5-3
   ;;
 
   ## Sequent Symmetry running Dynix
-  i[345]86-sequent-bsd* )
+  i[3456]86-sequent-bsd* )
     machine=symmetry opsys=bsd4-3
   ;;
 
+  ## Sequent Symmetry running ptx 4, which is a modified SVR4.
+  i[3456]86-sequent-ptx4* | i[3456]86-sequent-sysv4* )
+    machine=sequent-ptx opsys=ptx4
+    NON_GNU_CPP=/lib/cpp
+  ;;
+
   ## Sequent Symmetry running DYNIX/ptx
   ## Use the old cpp rather than the newer ANSI one.
-  i[345]86-sequent-ptx* )
+  i[3456]86-sequent-ptx* )
     machine=sequent-ptx opsys=ptx
     NON_GNU_CPP="/lib/cpp"
   ;;
 
+  ## ncr machine running svr4.3.
+  i[3456]86-ncr-sysv4.3 )
+    machine=ncr386 opsys=usg5-4-3
+  ;;
+
   ## Unspecified sysv on an ncr machine defaults to svr4.2.
   ## (Plain usg5-4 doesn't turn on POSIX signals, which we need.)
-  i[345]86-ncr-sysv* )
+  i[3456]86-ncr-sysv* )
     machine=ncr386 opsys=usg5-4-2
   ;;
 
@@ -608,6 +646,12 @@ case "${canonical}" in
     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.
@@ -646,7 +690,9 @@ case "${canonical}" in
     machine=iris4d opsys=irix4-0
   ;;
   mips-sgi-irix6* )
-    machine=iris4d opsys=irix6-0  NON_GNU_CPP=/lib/cpp
+    machine=iris4d opsys=irix6-0
+    NON_GNU_CPP=/lib/cpp
+    NON_GCC_TEST_OPTIONS=-32
   ;;
   mips-sgi-irix5.[01]* )
     machine=iris4d opsys=irix5-0
@@ -678,37 +724,40 @@ case "${canonical}" in
   ;;
 
   ## Suns
-  sparc-*-linux* | sparc-*-lignux* )
-    machine=sparc opsys=lignux
+  sparc-*-linux-gnu* )
+    machine=sparc opsys=gnu-linux
   ;;
 
   *-sun-sunos* | *-sun-bsd* | *-sun-solaris* \
-    | i[345]86-*-solaris2* | i[345]86-*-sunos5* | powerpc*-*-solaris2* \
+    | i[3456]86-*-solaris2* | i[3456]86-*-sunos5* | powerpc*-*-solaris2* \
     | rs6000-*-solaris2*)
     case "${canonical}" in
       m68*-sunos1* )   machine=sun1 ;;
       m68*-sunos2* )   machine=sun2 ;;
       m68* )           machine=sun3 ;;
-      i[345]86-sun-sunos[34]* )        machine=sun386 ;;
-      i[345]86-*-* )     machine=intel386 ;;
+      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 ;;
     esac
     case "${canonical}" in
       ## The Sun386 didn't get past 4.0.
-      i[345]86-*-sunos4          ) opsys=sunos4-0 ;;
+      i[3456]86-*-sunos4         ) opsys=sunos4-0 ;;
       *-sunos4.0*        ) opsys=sunos4-0 ;;
-      *-sunos4.1.[3-9]* | *-sunos4shr*)
-               opsys=sunos4shr
-               NON_GNU_CPP=/usr/lib/cpp
-               ;;
-      *-sunos4.1.[3-9]*-noshare )
-               opsys=sunos4-1-3
+      *-sunos4.1.[3-9]*noshare )
+               ## This name is sunos413 instead of sunos4-1-3
+               ## to avoid a file name conflict on MSDOS.
+               opsys=sunos413
                NON_GNU_CPP=/usr/lib/cpp
                NON_GCC_TEST_OPTIONS=-Bstatic
                GCC_TEST_OPTIONS=-static
                ;;
+      *-sunos4.1.[3-9]* | *-sunos4shr*)
+               opsys=sunos4shr
+               NON_GNU_CPP=/usr/lib/cpp
+               ;;
       *-sunos4* | *-sunos )
                opsys=sunos4-1
                NON_GCC_TEST_OPTIONS=-Bstatic
@@ -821,7 +870,7 @@ case "${canonical}" in
   ;;
 
   ## Intel 386 machines where we don't care about the manufacturer
-  i[345]86-*-* )
+  i[3456]86-*-* )
     machine=intel386
     case "${canonical}" in
       *-isc1.* | *-isc2.[01]* )        opsys=386-ix ;;
@@ -835,10 +884,17 @@ case "${canonical}" in
       *-esix5* )               opsys=esix5r4; NON_GNU_CPP=/usr/lib/cpp ;;
       *-esix* )                        opsys=esix ;;
       *-xenix* )               opsys=xenix ;;
-      *-linux* | *-lignux* )   opsys=lignux ;;
+      *-linux-gnu* )           opsys=gnu-linux ;;
       *-sco3.2v4* )            opsys=sco4 ; NON_GNU_CPP=/lib/cpp  ;;
+      *-sco3.2v5* )            opsys=sco5 
+                               NON_GNU_CPP=/lib/cpp
+                               # Prevent -belf from being passed to $CPP.
+                               # /lib/cpp does not accept it.
+                               OVERRIDE_CPPFLAGS=" "
+                               ;;
       *-bsd386* | *-bsdi1* )   opsys=bsd386 ;;
-      *-bsdi2* )               opsys=bsdos2 ;;
+      *-bsdi2.0* )             opsys=bsdos2 ;;
+      *-bsdi2* )               opsys=bsdos2-1 ;;
       *-386bsd* )              opsys=386bsd ;;
       *-freebsd* )             opsys=freebsd ;;
       *-nextstep* )             opsys=nextstep ;;
@@ -846,9 +902,9 @@ case "${canonical}" in
     esac
   ;;
 
-  ## Lignux/68k
-  m68k-*-linux* | m68k-*-lignux* )
-    machine=m68k opsys=lignux
+  ## Linux/68k-based GNU system
+  m68k-*-linux-gnu* )
+    machine=m68k opsys=gnu-linux
   ;;
 
   * )
@@ -950,6 +1006,16 @@ then
   CC="$CC $NON_GCC_TEST_OPTIONS"
 fi
 
+if test x$GCC = xyes && test "x$GCC_LINK_TEST_OPTIONS" != x
+then
+  ac_link="$ac_link $GCC_LINK_TEST_OPTIONS"
+fi
+
+if test x$GCC = x && test "x$NON_GCC_LINK_TEST_OPTIONS" != x
+then
+  ac_link="$ac_link $NON_GCC_LINK_TEST_OPTIONS"
+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.
@@ -964,7 +1030,7 @@ dnl checks for Unix variants
 AC_AIX
 
 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)
 AC_HEADER_STDC
 AC_HEADER_TIME
 AC_DECL_SYS_SIGLIST
@@ -1108,7 +1174,7 @@ AC_CHECKING([the machine- and system-dependent files to find out
 ### 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 Lignux needs them to be different because it treats -g
+### 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
@@ -1171,6 +1237,21 @@ configure___ system_malloc=no
 #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.  */
@@ -1207,16 +1288,28 @@ 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/'`"
 
 # 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)
 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 new Doug Lea's new malloc from the GNU C Library.)"
+  fi
+  AC_DEFINE(DOUG_LEA_MALLOC)
 fi
 
 if test x"${REL_ALLOC}" = x; then
@@ -1228,7 +1321,12 @@ LISP_FLOAT_TYPE=yes
 
 #### Add the libraries to LIBS and check for some functions.
 
-CPPFLAGS="$c_switch_system $c_switch_machine $CPPFLAGS"
+if test x"${OVERRIDE_CPPFLAGS}" != x; then
+  CPPFLAGS="${OVERRIDE_CPPFLAGS}"
+else
+  CPPFLAGS="$c_switch_system $c_switch_machine $CPPFLAGS"
+fi
+
 LIBS="$libsrc_libs $LIBS"
 
 dnl If found, this defines HAVE_LIBDNET, which m/pmax.h checks,
@@ -1270,7 +1368,7 @@ if test "${HAVE_X11}" = "yes"; then
     export LD_RUN_PATH
   fi
 
-  if test "${opsys}" = "lignux"; then
+  if test "${opsys}" = "gnu-linux"; then
     AC_MSG_CHECKING(whether X on GNU/Linux needs -b to link)
     AC_TRY_LINK([],
      [XOpenDisplay ("foo");],
@@ -1334,12 +1432,14 @@ fail;
     AC_MSG_RESULT(before 5)])
 fi
 
+dnl Do not put whitespace before the #include statements below.
+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)
     AC_TRY_LINK([
-         #include <X11/Intrinsic.h>
-         #include <X11/Xaw/Simple.h>],
+#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],
@@ -1390,9 +1490,17 @@ AC_FUNC_ALLOCA
 # 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 eaccess getpagesize tzset setlocale)
+# Check for mail-locking functions in a "mail" library
+AC_CHECK_LIB(mail, maillock,
+            AC_DEFINE(HAVE_LIBMAIL)
+            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)
 
 # 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.
@@ -1400,6 +1508,13 @@ strerror fpathconf select mktime eaccess getpagesize tzset setlocale)
 # 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(krb, krb_get_cred)
+  AC_CHECK_LIB(des, des_cbc_encrypt)
+  AC_CHECK_LIB(com_err, com_err)
+fi
+
 AC_MSG_CHECKING(whether localtime caches TZ)
 AC_CACHE_VAL(emacs_cv_localtime_cache,
 [if test x$ac_cv_func_tzset = xyes; then
@@ -1415,16 +1530,18 @@ unset_TZ ()
     if (! (to[0][0] == 'T' && to[0][1] == 'Z' && to[0][2] == '='))
       to++;
 }
+char TZ_GMT0[] = "TZ=GMT0";
+char TZ_PST8[] = "TZ=PST8";
 main()
 {
   time_t now = time ((time_t *) 0);
   int hour_GMT0, hour_unset;
-  if (putenv ("TZ=GMT0") != 0)
+  if (putenv (TZ_GMT0) != 0)
     exit (1);
   hour_GMT0 = localtime (&now)->tm_hour;
   unset_TZ ();
   hour_unset = localtime (&now)->tm_hour;
-  if (putenv ("TZ=PST8") != 0)
+  if (putenv (TZ_PST8) != 0)
     exit (1);
   if (localtime (&now)->tm_hour == hour_GMT0)
     exit (1);
@@ -1602,7 +1719,7 @@ AC_OUTPUT(Makefile lib-src/Makefile.c:lib-src/Makefile.in oldXMenu/Makefile \
        man/Makefile lwlib/Makefile src/Makefile.c:src/Makefile.in, [
 
 ### Make the necessary directories, if they don't exist.
-for dir in cpp etc ; do
+for dir in cpp etc lisp ; do
   test -d ${dir} || mkdir ${dir}
 done
 
@@ -1623,6 +1740,9 @@ sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/  *$//' \
 `"
 changequote([, ])dnl
 
+echo creating src/paths.h
+make paths-force
+
 echo creating lib-src/Makefile
 ( cd lib-src
   rm -f junk.c junk1.c junk2.c