X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/2c6638cde6fb5dfc717f451fd8c84a822878b738..6a02d88bf8b30d8920da071446ac885743e0cae2:/configure.in diff --git a/configure.in b/configure.in index fb7ea9f455..ae5c77ffd1 100644 --- a/configure.in +++ b/configure.in @@ -3,15 +3,15 @@ dnl To rebuild the `configure' script from this, execute the command dnl autoconf dnl in the directory containing this script. dnl -dnl Copyright (C) 1994, 1995 Free Software Foundation, Inc. -dnl +dnl Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. +dnl dnl This file is part of GNU Emacs. -dnl +dnl dnl GNU Emacs is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2, or (at your option) dnl any later version. -dnl +dnl dnl GNU Emacs is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the @@ -21,7 +21,7 @@ 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. -AC_PREREQ(2.4.1)dnl +AC_PREREQ(2.8)dnl AC_INIT(src/lisp.h) AC_CONFIG_HEADER(src/config.h:src/config.in) @@ -49,7 +49,7 @@ dnl This should be the last --with option, because --with-x is dnl added later on when we find the path of X, and it's best to dnl keep them together visually. AC_ARG_WITH(x-toolkit, -[ --with-x-toolkit=KIT use an X toolkit (KIT = yes/lucid/athena/motif)], +[ --with-x-toolkit=KIT use an X toolkit (KIT = yes/lucid/athena/motif/no)], [ case "${withval}" in y | ye | yes ) val=athena ;; n | no ) val=no ;; @@ -109,7 +109,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,7 +154,7 @@ case "${canonical}" in *-*-netbsd* ) opsys=netbsd case "${canonical}" in - i[345]86-*-netbsd*) machine=intel386 ;; + i[3456]86-*-netbsd*) machine=intel386 ;; m68k-*-netbsd*) # This is somewhat bogus. machine=hp9000s300 ;; @@ -189,8 +190,8 @@ case "${canonical}" in machine=alpha opsys=osf1 ;; - alpha-*-linux* ) - machine=alpha opsys=linux + alpha-*-linux-gnu* ) + machine=alpha opsys=gnu-linux ;; ## Altos 3068 @@ -260,7 +261,7 @@ case "${canonical}" in ;; ## Cubix QBx/386 - i[345]86-cubix-sysv* ) + i[3456]86-cubix-sysv* ) machine=intel386 opsys=usg5-3 ;; @@ -439,10 +440,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*) @@ -494,30 +495,30 @@ 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 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" ;; ## 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 ;; @@ -678,22 +679,26 @@ case "${canonical}" in ;; ## Suns + 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 ;; - powerpc* | rs6000* ) machine=rs6000 ;; + i[3456]86-sun-sunos[34]* ) machine=sun386 ;; + i[3456]86-*-* ) machine=intel386 ;; + 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 @@ -817,7 +822,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 ;; @@ -831,8 +836,14 @@ case "${canonical}" in *-esix5* ) opsys=esix5r4; NON_GNU_CPP=/usr/lib/cpp ;; *-esix* ) opsys=esix ;; *-xenix* ) opsys=xenix ;; - *-linux* ) opsys=linux ;; + *-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 ;; *-386bsd* ) opsys=386bsd ;; @@ -842,9 +853,9 @@ case "${canonical}" in esac ;; - ## Linux/68k - m68k-*-linux* ) - machine=m68k opsys=linux + ## Linux/68k-based GNU system + m68k-*-linux-gnu* ) + machine=m68k opsys=gnu-linux ;; * ) @@ -873,7 +884,11 @@ if test x"${opsys}" = x; then opsys=usg5-4 ;; *-sysv4.[2-9]* | *-sysvr4.[2-9]* ) if [ x$NON_GNU_CPP = x ]; then - NON_GNU_CPP=/usr/ccs/lib/cpp + if [ -f /usr/ccs/lib/cpp ]; then + NON_GNU_CPP=/usr/ccs/lib/cpp + else + NON_GNU_CPP=/lib/cpp + fi fi opsys=usg5-4-2 ;; *-sysv4* | *-sysvr4* ) opsys=usg5-4 ;; @@ -956,7 +971,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) +AC_CHECK_HEADERS(sys/select.h sys/timeb.h sys/time.h unistd.h utime.h linux/version.h) AC_HEADER_STDC AC_HEADER_TIME AC_DECL_SYS_SIGLIST @@ -1100,7 +1115,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 Linux 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 @@ -1220,7 +1235,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, @@ -1253,7 +1273,16 @@ if test "${HAVE_X11}" = "yes"; then LIBS="$LIBX $LIBS" CFLAGS="$C_SWITCH_X_SITE $CFLAGS" - if test "${opsys}" = "linux"; then + # 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, + # but it's more convenient here to set LD_RUN_PATH + # since this also works on hosts that don't understand LD_SWITCH_X_SITE_AUX. + if test "${x_libraries}" != NONE && test -n "${x_libraries}"; then + LD_RUN_PATH=$x_libraries${LD_RUN_PATH+:}$LD_RUN_PATH + export LD_RUN_PATH + fi + + if test "${opsys}" = "gnu-linux"; then AC_MSG_CHECKING(whether X on GNU/Linux needs -b to link) AC_TRY_LINK([], [XOpenDisplay ("foo");], @@ -1298,22 +1327,39 @@ if test "${window_system}" = "x11"; then [#if XlibSpecificationRelease < 6 fail; #endif -], [AC_MSG_RESULT(6) +], [AC_MSG_RESULT(6 or newer) AC_DEFINE(HAVE_X11R6)], - [AC_MSG_RESULT(not 6)]) + [AC_MSG_RESULT(before 6)]) fi -if test x"${USE_X_TOOLKIT}" = xmaybe; then +if test "${window_system}" = "x11"; then AC_MSG_CHECKING(X11 version 5) AC_TRY_LINK([#include ], [#if XlibSpecificationRelease < 5 fail; #endif -], [AC_MSG_RESULT(5, use toolkit) - USE_X_TOOLKIT=LUCID +], [AC_MSG_RESULT(5 or newer) + HAVE_X11R5=yes AC_DEFINE(HAVE_X11R5)], - [AC_MSG_RESULT(not 5, do not use toolkit) - USE_X_TOOLKIT=none]) + [ + HAVE_X11R5=no + AC_MSG_RESULT(before 5)]) +fi + +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 + #include ], + [], + [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]) + else + USE_X_TOOLKIT=none + fi fi X_TOOLKIT_TYPE=$USE_X_TOOLKIT @@ -1324,14 +1370,20 @@ if test "${USE_X_TOOLKIT}" != "none"; then [#if XtSpecificationRelease < 6 fail; #endif -], [AC_MSG_RESULT(6) +], [AC_MSG_RESULT(6 or newer) + HAVE_X11XTR6=yes AC_DEFINE(HAVE_X11XTR6)], - [AC_MSG_RESULT(not 6)]) + [AC_MSG_RESULT(before 6) + HAVE_X11XTR6=no]) dnl If using toolkit, check whether libXmu.a exists. dnl tranle@intellicorp.com says libXmu.a can need XtMalloc in libXt.a to link. OLDLIBS="$LIBS" - LIBS="-lXt $LIBS" + if test x$HAVE_X11XTR6 = xyes; then + LIBS="-lXt -lSM -lICE $LIBS" + else + LIBS="-lXt $LIBS" + fi AC_CHECK_LIB(Xmu, XmuConvertStandardSelection) LIBS="$OLDLIBS" fi @@ -1348,28 +1400,50 @@ AC_FUNC_ALLOCA # fmod, logb, and frexp are found in -lm on most systems. # On HPUX 9.01, -lm does not contain logb, so check for sqrt. -AC_CHECK_LIB(m, sqrt(0.0) + t) +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) +strerror fpathconf select mktime eaccess getpagesize tzset setlocale) + +# 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. +# It's better to believe a function is not available +# than to expect to find it in ncurses. +AC_CHECK_LIB(ncurses, tparm) AC_MSG_CHECKING(whether localtime caches TZ) AC_CACHE_VAL(emacs_cv_localtime_cache, -[if test $ac_cv_func_tzset = yes; then +[if test x$ac_cv_func_tzset = xyes; then AC_TRY_RUN([#include #if STDC_HEADERS # include #endif +extern char **environ; +unset_TZ () +{ + char **from, **to; + for (to = from = environ; (*to = *from); from++) + if (! (to[0][0] == 'T' && to[0][1] == 'Z' && to[0][2] == '=')) + to++; +} main() { time_t now = time ((time_t *) 0); - int hour; + int hour_GMT0, hour_unset; if (putenv ("TZ=GMT0") != 0) exit (1); - hour = localtime (&now)->tm_hour; + hour_GMT0 = localtime (&now)->tm_hour; + unset_TZ (); + hour_unset = localtime (&now)->tm_hour; if (putenv ("TZ=PST8") != 0) exit (1); - exit (localtime (&now)->tm_hour == hour); + if (localtime (&now)->tm_hour == hour_GMT0) + exit (1); + unset_TZ (); + if (localtime (&now)->tm_hour != hour_unset) + exit (1); + exit (0); }], emacs_cv_localtime_cache=no, emacs_cv_localtime_cache=yes, [# If we have tzset, assume the worst when cross-compiling. emacs_cv_localtime_cache=yes])