]> code.delx.au - gnu-emacs/blobdiff - configure.in
(msdos-approximate-color): New function.
[gnu-emacs] / configure.in
index a02889e83a2e381b38279c5e1a1dafa7cadc6dc0..f2ce21bbe66f6fb6ce2ce9116887378b6479d107 100644 (file)
@@ -89,7 +89,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).
-    CDPATH=
+    unset CDPATH
     if test "${PWD}" != "" && test "`(cd ${PWD} ; sh -c pwd)`" = "`pwd`"  ;
     then
       srcdir="$PWD"
@@ -163,7 +163,7 @@ case "${canonical}" in
   *-*-netbsd* )
     opsys=netbsd
     case "${canonical}" in
-      alpha-*-netbsd*) machine=alpha ;;
+      alpha*-*-netbsd*)        machine=alpha ;;
       i[3456]86-*-netbsd*) machine=intel386 ;;
       m68k-*-netbsd*)
                        # This is somewhat bogus.
@@ -175,6 +175,20 @@ case "${canonical}" in
     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-*-netbsd*)   machine=vax ;;
+    esac
+  ;;
+
   ## Acorn RISCiX:
   arm-acorn-riscix1.1* )
     machine=acorn opsys=riscix1-1
@@ -198,6 +212,7 @@ case "${canonical}" in
       *-*-bsdi2.0* )           opsys=bsdos2 ;;
       *-*-bsdi2* )             opsys=bsdos2-1 ;;
       *-*-bsdi3* )             opsys=bsdos3 ;;
+      *-*-bsdi4* )             opsys=bsdos4 ;;
     esac
   ;;
 
@@ -215,14 +230,14 @@ case "${canonical}" in
   ;;
 
   ## 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
   ;;
 
-  alpha-*-linux-gnu* )
+  alpha*-*-linux-gnu* )
     machine=alpha opsys=gnu-linux
   ;;
 
@@ -306,7 +321,8 @@ case "${canonical}" in
   ## 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.*).
+  ## 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
   ;;
@@ -322,6 +338,13 @@ case "${canonical}" in
     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
@@ -437,7 +460,7 @@ case "${canonical}" in
       *.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
   ;;
@@ -455,7 +478,7 @@ case "${canonical}" in
   hppa*-hp-hpux9* )
     machine=hp800 opsys=hpux9
   ;;
-  hppa*-hp-hpux10* )
+  hppa*-hp-hpux1[0-9]* )
     machine=hp800 opsys=hpux10
   ;;
 
@@ -468,7 +491,7 @@ case "${canonical}" in
       *.B8.* ) machine=hp800 opsys=hpux8 ;;
       *.08.* ) machine=hp800 opsys=hpux8 ;;
       *.09.* ) machine=hp800 opsys=hpux9 ;;
-      *) machine=hp800 opsys=hpux ;;
+      *) machine=hp800 opsys=hpux10 ;;
     esac
   ;;
   hppa*-*-nextstep* )
@@ -655,6 +678,11 @@ case "${canonical}" in
     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
@@ -713,6 +741,11 @@ case "${canonical}" in
   mips-sgi-irix4* )
     machine=iris4d opsys=irix4-0
   ;;
+  mips-sgi-irix6.5 )
+    machine=iris4d opsys=irix6-5
+    NON_GNU_CPP=/lib/cpp
+    NON_GCC_TEST_OPTIONS="-n32 -G0"
+  ;;
   mips-sgi-irix6* )
     machine=iris4d opsys=irix6-0
     NON_GNU_CPP=/lib/cpp
@@ -805,7 +838,7 @@ case "${canonical}" in
                RANLIB="ar -ts"
                ;;
       *-sunos5* | *-solaris* )
-               opsys=sol2-4
+               opsys=sol2-5
                NON_GNU_CPP=/usr/ccs/lib/cpp
                ;;
       *                          ) opsys=bsd4-2   ;;
@@ -937,6 +970,13 @@ case "${canonical}" in
     machine=mips opsys=gnu-linux
   ;;
 
+  ## UXP/DS
+  sparc-fujitsu-sysv4* )
+    machine=sparc opsys=uxpds
+    NON_GNU_CPP=/usr/ccs/lib/cpp
+    RANLIB="ar -ts"
+  ;;
+
   * )
     unported=yes
   ;;
@@ -1061,13 +1101,13 @@ 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 sys/systeminfo.h termios.h limits.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)
 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>
@@ -1081,14 +1121,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;],
-  [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
 
-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>
@@ -1099,11 +1140,11 @@ AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
 #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
@@ -1342,11 +1383,14 @@ 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_MSG_CHECKING(whether __after_morecore_hook exists)
+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],
-  [AC_MSG_RESULT(yes)],
-  [AC_MSG_RESULT(no)
-   doug_lea_malloc=no])
+  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="
@@ -1389,7 +1433,7 @@ AC_CHECK_LIB(Xbsd, main, LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE -lXbsd")
 
 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"}
@@ -1457,27 +1501,36 @@ fi
 
 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_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)
+  AC_CACHE_VAL(emacs_cv_x11_version_5,
   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
-    AC_DEFINE(HAVE_X11R5)],
-   [
+    AC_DEFINE(HAVE_X11R5)
+  else
     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.
@@ -1485,14 +1538,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)
+    AC_CACHE_VAL(emacs_cv_x11_version_5_with_xaw,
     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
@@ -1502,15 +1561,19 @@ X_TOOLKIT_TYPE=$USE_X_TOOLKIT
 
 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_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.
@@ -1525,27 +1588,29 @@ dnl tranle@intellicorp.com says libXmu.a can need XtMalloc in libXt.a to link.
 fi
 
 if test "${USE_X_TOOLKIT}" = "MOTIF"; then
-  AC_MSG_CHECKING(for Motif version 2.1)
+  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],
-    [AC_MSG_RESULT(yes)
-     HAVE_MOTIF_2_1=yes
-     AC_DEFINE(HAVE_MOTIF_2_1)],
-    [AC_MSG_RESULT(no)
-     HAVE_MOTIF_2_1=no])
+    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)
+  fi
 fi
 
 # 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_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
 
@@ -1563,7 +1628,7 @@ 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)
+utimes setrlimit setpgid getcwd shutdown strftime)
 
 # 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.
@@ -1573,15 +1638,15 @@ 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(crypto, mit_des_cbc_encrypt)
+  AC_CHECK_LIB(krb5, krb5_init_context)
   if test "${with_kerberos5+set}" != set; then
-    AC_CHECK_LIB(krb, krb_get_cred,,
-                AC_CHECK_LIB(krb4, krb_get_cred))
     AC_CHECK_LIB(des, des_cbc_encrypt,,
                 AC_CHECK_LIB(des425, des_cbc_encrypt))
+    AC_CHECK_LIB(krb, krb_get_cred,,
+                AC_CHECK_LIB(krb4, krb_get_cred))
   fi
-  AC_CHECK_LIB(krb5, krb5_init_context)
-  AC_CHECK_LIB(crypto, mit_des_cbc_encrypt)
-  AC_CHECK_LIB(com_err, com_err)
 
   if test "${with_kerberos5+set}" = set; then
     AC_CHECK_HEADERS(krb5.h)
@@ -1596,6 +1661,10 @@ if test "${with_kerberos+set}" = set; then
   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
@@ -1644,7 +1713,8 @@ if test $emacs_cv_localtime_cache = yes; 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>
@@ -1662,9 +1732,11 @@ AC_TRY_LINK([
   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
@@ -1801,7 +1873,7 @@ AC_OUTPUT(Makefile lib-src/Makefile.c:lib-src/Makefile.in oldXMenu/Makefile \
        leim/Makefile, [
 
 ### Make the necessary directories, if they don't exist.
-for dir in cpp etc lisp ; do
+for dir in etc lisp ; do
   test -d ${dir} || mkdir ${dir}
 done