.
[bpt/emacs.git] / configure.in
index 2c999c2..48006e8 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
@@ -47,7 +47,7 @@ AC_ARG_WITH(kerberos,
 [  --with-kerberos         support Kerberos-authenticated POP],
 [AC_DEFINE(KERBEROS)])
 AC_ARG_WITH(kerberos5,
 [  --with-kerberos         support Kerberos-authenticated POP],
 [AC_DEFINE(KERBEROS)])
 AC_ARG_WITH(kerberos5,
-[  --with-kerberos5         support Kerberos version 5 authenticated POP],
+[  --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
 [if test "${with_kerberos5+set}" = set; then
   if test "${with_kerberos+set}" != set; then
     with_kerberos=yes
@@ -93,7 +93,8 @@ 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])
 
 #### 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
@@ -186,9 +187,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 ;;
+      powerpc-*-netbsd*) machine=macppc ;;
       sparc-*-netbsd*) machine=sparc ;;
       vax-*-netbsd*)   machine=vax ;;
       sparc-*-netbsd*) machine=sparc ;;
       vax-*-netbsd*)   machine=vax ;;
+      arm-*-netbsd*)   machine=arm ;;
     esac
   ;;
 
     esac
   ;;
 
@@ -252,6 +256,12 @@ 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
+    case "${canonical}" in
+    # This is necessary on 5.0 to avoid mangling src/Makefile.
+    # Separated out in case it causes problems on earlier versions.
+    alpha*-dec-osf[5-9]*)
+      NON_GNU_CPP='cc -E -std0' ;;
+    esac
   ;;
 
   alpha*-*-linux-gnu* )
   ;;
 
   alpha*-*-linux-gnu* )
@@ -644,6 +654,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
@@ -773,13 +788,14 @@ case "${canonical}" in
     # 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"
     # 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 -D_LANGUAGE_C"
+    NON_GCC_TEST_OPTIONS="-D_LANGUAGE_C"
   ;;
   mips-sgi-irix6* )
     machine=iris4d opsys=irix6-0
     # 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"
   ;;
   mips-sgi-irix6* )
     machine=iris4d opsys=irix6-0
     # 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]* )
@@ -819,7 +835,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
@@ -1054,10 +1070,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
@@ -1132,6 +1144,9 @@ 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
@@ -1170,6 +1185,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>
@@ -1187,6 +1210,15 @@ 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
@@ -1199,7 +1231,25 @@ if test $emacs_cv_tm_gmtoff = yes; then
 fi
 
 dnl checks for compiler characteristics
 fi
 
 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
@@ -1367,8 +1417,12 @@ configure___ system_malloc=no
 #endif
 
 #ifndef C_OPTIMIZE_SWITCH
 #endif
 
 #ifndef C_OPTIMIZE_SWITCH
+#ifdef __GNUC__
+#define C_OPTIMIZE_SWITCH -O2
+#else
 #define C_OPTIMIZE_SWITCH -O
 #endif
 #define C_OPTIMIZE_SWITCH -O
 #endif
+#endif
 
 #ifndef LD_SWITCH_MACHINE
 #define LD_SWITCH_MACHINE
 
 #ifndef LD_SWITCH_MACHINE
 #define LD_SWITCH_MACHINE
@@ -1813,7 +1867,22 @@ 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 \
 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)
+__fpending getloadavg mblen mbrlen strsignal setitimer ualarm)
+
+AC_FUNC_MKTIME
+if test "$ac_cv_func_working_mktime" = no; then
+  AC_DEFINE(BROKEN_MKTIME)
+fi
+
+AC_SYS_LARGEFILE
+AC_CHECK_FUNCS(ftello)
+
+# UNIX98 PTYs.  AC_SYS_LARGEFILE should have defined _XOPEN_SOURCE
+# if we need it.
+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.
@@ -1991,7 +2060,6 @@ 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_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}")