X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/0c565a0ad172f96db0108403f682139189b2b584..bf8aeaf981c6f6096c7e1a07d076b8bbb5e41e02:/configure.in diff --git a/configure.in b/configure.in index 98243750ca..17eb3670d2 100644 --- a/configure.in +++ b/configure.in @@ -1,13 +1,33 @@ -dnl This is an autoconf script. +dnl Autoconf script for GNU Emacs dnl To rebuild the `configure' script from this, execute the command dnl autoconf dnl in the directory containing this script. -AC_PREREQ(2.4.1)dnl +dnl +dnl Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc. +dnl +dnl This file is part of GNU Emacs. +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 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 +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. + +AC_PREREQ(2.8)dnl AC_INIT(src/lisp.h) AC_CONFIG_HEADER(src/config.h:src/config.in) lispdir='${datadir}/emacs/${version}/lisp' -locallisppath='${datadir}/emacs/site-lisp' +locallisppath='${datadir}/emacs/${version}/site-lisp:'\ +'${datadir}/emacs/site-lisp' lisppath='${locallisppath}:${lispdir}' etcdir='${datadir}/emacs/${version}/etc' lockdir='${sharedstatedir}/emacs/lock' @@ -34,7 +54,7 @@ AC_ARG_WITH(x-toolkit, y | ye | yes ) val=athena ;; n | no ) val=no ;; l | lu | luc | luci | lucid ) val=lucid ;; - a | at | ath | athe | athena ) val=athena ;; + a | at | ath | athe | athen | athena ) val=athena ;; m | mo | mot | moti | motif ) val=motif ;; dnl These don't currently work. dnl o | op | ope | open | open- | open-l | open-lo \ @@ -42,8 +62,8 @@ dnl | open-loo | open-look ) val=open-look ;; * ) dnl AC_MSG_ERROR([the \`--with-x-toolkit' option is supposed to have a value dnl which is \`yes', \`no', \`lucid', \`athena', \`motif' or \`open-look'.]) -AC_MSG_ERROR([the \`--with-x-toolkit' option is supposed to have a value -which is \`yes', \`no', \`lucid', \`athena', or \`motif'. +AC_MSG_ERROR([\`--with-x-toolkit=$withval' is invalid\; +this option's value should be \`yes', \`no', \`lucid', \`athena', or \`motif'. Currently, \`yes', \`athena' and \`lucid' are synonyms.]) ;; esac @@ -169,15 +189,15 @@ case "${canonical}" in machine=alpha opsys=osf1 ;; - alpha-*-linux* ) - machine=alpha opsys=linux + alpha-*-linux* | alpha-*-lignux* ) + machine=alpha opsys=lignux ;; ## Altos 3068 m68*-altos-sysv* ) machine=altos opsys=usg5-2 ;; - + ## Amdahl UTS 580-amdahl-sysv* ) machine=amdahl opsys=usg5-2-2 @@ -235,7 +255,7 @@ case "${canonical}" in ## Convex *-convex-bsd* | *-convex-convexos* ) machine=convex opsys=bsd4-3 - ## Prevents suprious white space in makefiles - d.m.cooke@larc.nasa.gov + ## Prevents spurious white space in makefiles - d.m.cooke@larc.nasa.gov NON_GNU_CPP="cc -E -P" ;; @@ -285,7 +305,7 @@ case "${canonical}" in if test -s /etc/167config then CC="gnucc -m68040" else CC="gnucc -m68881" - fi + fi else if test -z "`type gcc | grep 'not found'`" then CC=gcc @@ -343,11 +363,17 @@ case "${canonical}" in [56].[0-9] ) machine=nh4000 opsys=cxux ;; [7].[0-9] ) machine=nh4000 opsys=cxux7 ;; esac + NON_GNU_CPP="/lib/cpp" ;; ## Harris ecx or gcx running CX/UX (Series 1200, Series 3000) m68k-harris-cxux* ) machine=nh3000 opsys=cxux ;; + ## Harris power pc NightHawk running Power UNIX (Series 6000) + powerpc-harris-powerunix ) + machine=nh6000 opsys=powerunix + NON_GNU_CPP="cc -Xo -E -P" + ;; ## Honeywell XPS100 xps*-honeywell-sysv* ) @@ -385,7 +411,7 @@ case "${canonical}" in machine=hp800 opsys=hpux9 ;; hppa*-hp-hpux10* ) - machine=hp800 opsys=hpux9shr + machine=hp800 opsys=hpux10 ;; ## HP 9000 series 700 and 800, running HP/UX @@ -400,6 +426,9 @@ case "${canonical}" in *) machine=hp800 opsys=hpux ;; esac ;; + hppa-*-nextstep* ) + machine=hp800 opsys=nextstep + ;; ## Orion machines orion-orion-bsd* ) @@ -436,13 +465,13 @@ case "${canonical}" in ;; romp-ibm-bsd4.3* ) machine=ibmrt opsys=bsd4-3 - ;; + ;; romp-ibm-bsd4.2* ) machine=ibmrt opsys=bsd4-2 ;; romp-ibm-aos4.3* ) machine=ibmrt opsys=bsd4-3 - ;; + ;; romp-ibm-aos4.2* ) machine=ibmrt opsys=bsd4-2 ;; @@ -595,7 +624,7 @@ case "${canonical}" in ;; ## Siemens Nixdorf - mips-siemens-sysv* ) + mips-siemens-sysv* | mips-sni-sysv*) machine=mips-siemens opsys=usg5-4 NON_GNU_CC=/usr/ccs/bin/cc NON_GNU_CPP=/usr/ccs/lib/cpp @@ -617,7 +646,7 @@ case "${canonical}" in machine=iris4d opsys=irix4-0 ;; mips-sgi-irix6* ) - machine=iris4d opsys=irix6-0 + machine=iris4d opsys=irix6-0 NON_GNU_CPP=/lib/cpp ;; mips-sgi-irix5.[01]* ) machine=iris4d opsys=irix5-0 @@ -649,13 +678,16 @@ case "${canonical}" in ;; ## Suns - *-sun-sunos* | *-sun-bsd* | *-sun-solaris* | i[345]86-*-solaris2* | i[345]86-*-sunos5* ) + *-sun-sunos* | *-sun-bsd* | *-sun-solaris* \ + | i[345]86-*-solaris2* | i[345]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 ;; sparc* ) machine=sparc ;; * ) unported=yes ;; esac @@ -667,7 +699,14 @@ case "${canonical}" in opsys=sunos4shr NON_GNU_CPP=/usr/lib/cpp ;; - *-sunos4* | *-sunos ) opsys=sunos4-1 + *-sunos4.1.[3-9]*-noshare ) + opsys=sunos4-1-3 + NON_GNU_CPP=/usr/lib/cpp + NON_GCC_TEST_OPTIONS=-Bstatic + GCC_TEST_OPTIONS=-static + ;; + *-sunos4* | *-sunos ) + opsys=sunos4-1 NON_GCC_TEST_OPTIONS=-Bstatic GCC_TEST_OPTIONS=-static ;; @@ -686,14 +725,25 @@ case "${canonical}" in RANLIB="ar -ts" ;; *-sunos5* | *-solaris* ) - opsys=sol2 + opsys=sol2-4 NON_GNU_CPP=/usr/ccs/lib/cpp ;; * ) opsys=bsd4-2 ;; esac + ## Watch out for a compiler that we know will not work. + case "${canonical}" in + *-solaris* | *-sunos5* ) + if [ "x$CC" = x/usr/ucb/cc ]; then + ## /usr/ucb/cc doesn't work; + ## we should find some other compiler that does work. + unset CC + fi + ;; + *) ;; + esac ;; sparc-*-nextstep* ) - machine=sparc.h opsys=nextstep.h + machine=sparc opsys=nextstep ;; ## Tadpole 68k @@ -734,7 +784,7 @@ case "${canonical}" in titan-titan-sysv* ) machine=titan opsys=usg5-3 ;; - + ## Ustation E30 (SS5E) m68*-unisys-uniplus* ) machine=ustation opsystem=unipl5-2 @@ -781,7 +831,7 @@ case "${canonical}" in *-esix5* ) opsys=esix5r4; NON_GNU_CPP=/usr/lib/cpp ;; *-esix* ) opsys=esix ;; *-xenix* ) opsys=xenix ;; - *-linux* ) opsys=linux ;; + *-linux* | *-lignux* ) opsys=lignux ;; *-sco3.2v4* ) opsys=sco4 ; NON_GNU_CPP=/lib/cpp ;; *-bsd386* | *-bsdi1* ) opsys=bsd386 ;; *-bsdi2* ) opsys=bsdos2 ;; @@ -792,6 +842,11 @@ case "${canonical}" in esac ;; + ## Lignux/68k + m68k-*-linux* | m68k-*-lignux* ) + machine=m68k opsys=lignux + ;; + * ) unported=yes ;; @@ -880,12 +935,12 @@ fi if test x$GCC = xyes && test "x$GCC_TEST_OPTIONS" != x then CC="$CC $GCC_TEST_OPTIONS" -fi +fi if test x$GCC = x && test "x$NON_GCC_TEST_OPTIONS" != x then CC="$CC $NON_GCC_TEST_OPTIONS" -fi +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 @@ -901,7 +956,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 @@ -942,7 +997,8 @@ AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME [AC_MSG_RESULT(yes) HAVE_TIMEVAL=yes AC_DEFINE(HAVE_TIMEVAL)], - AC_MSG_RESULT(no)) + [AC_MSG_RESULT(no) + HAVE_TIMEVAL=no]) dnl checks for structure members AC_STRUCT_TM @@ -977,7 +1033,7 @@ fi if test x"${x_includes}" = x; then bitmapdir=/usr/include/X11/bitmaps else - # accumulate include directories that have X11 bitmap sudirectories + # accumulate include directories that have X11 bitmap subdirectories bmd_acc="dummyval" for bmd in `echo ${x_includes} | sed -e "s/:/ /g"`; do if test -d "${bmd}/X11/bitmaps"; then @@ -996,10 +1052,13 @@ case "${window_system}" in HAVE_X_WINDOWS=yes HAVE_X11=yes case "${with_x_toolkit}" in - athena | lucid ) USE_X_TOOLKIT=LUCID ;; - motif ) USE_X_TOOLKIT=MOTIF ;; -dnl open-look ) USE_X_TOOLKIT=OPEN_LOOK ;; - * ) USE_X_TOOLKIT=none ;; + athena | lucid ) USE_X_TOOLKIT=LUCID ;; + motif ) USE_X_TOOLKIT=MOTIF ;; +dnl open-look ) USE_X_TOOLKIT=OPEN_LOOK ;; + no ) USE_X_TOOLKIT=none ;; +dnl If user did not say whether to use a toolkit, +dnl make this decision later: use the toolkit if we have X11R5 or newer. + * ) USE_X_TOOLKIT=maybe ;; esac ;; none ) @@ -1008,12 +1067,11 @@ dnl open-look ) USE_X_TOOLKIT=OPEN_LOOK ;; USE_X_TOOLKIT=none ;; esac -X_TOOLKIT_TYPE=$USE_X_TOOLKIT ### If we're using X11, we should use the X menu package. -HAVE_X_MENU=no +HAVE_MENUS=no case ${HAVE_X11} in - yes ) HAVE_X_MENU=yes ;; + yes ) HAVE_MENUS=yes ;; esac if test "${opsys}" = "hpux9"; then @@ -1042,7 +1100,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 Lignux needs them to be different because it treats -g ### as implying static linking. ### If the CFLAGS env var is specified, we use that value @@ -1163,7 +1221,7 @@ LISP_FLOAT_TYPE=yes #### Add the libraries to LIBS and check for some functions. CPPFLAGS="$c_switch_system $c_switch_machine $CPPFLAGS" -LIBS="$libsrc_libs" +LIBS="$libsrc_libs $LIBS" dnl If found, this defines HAVE_LIBDNET, which m/pmax.h checks, dnl and also adds -ldnet to LIBS, which Autoconf uses for checks. @@ -1177,6 +1235,12 @@ AC_CHECK_LIB(Xbsd, main, LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE -lXbsd") AC_CHECK_LIB(pthreads, cma_open) +dnl If we can find a tparm in libcurses.a, it means we have ncurses. +AC_CHECK_LIB(curses, tparm, HAVE_NCURSES=yes) +if test x"${HAVE_NCURSES}" = "xyes" ; then + AC_DEFINE(HAVE_NCURSES) +fi + AC_MSG_CHECKING(for XFree86) if test -d /usr/X386/include; then HAVE_XFREE386=yes @@ -1191,10 +1255,20 @@ AC_MSG_RESULT($HAVE_XFREE386) if test "${HAVE_X11}" = "yes"; then DEFS="$C_SWITCH_X_SITE $DEFS" - LIBS="$LD_SWITCH_X_SITE $LIBX $LIBS" + LDFLAGS="$LDFLAGS $LD_SWITCH_X_SITE" + 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}" = "lignux"; then AC_MSG_CHECKING(whether X on GNU/Linux needs -b to link) AC_TRY_LINK([], [XOpenDisplay ("foo");], @@ -1233,15 +1307,54 @@ if test "${HAVE_X11}" = "yes"; then XScreenNumberOfScreen XSetWMProtocols) fi +if test "${window_system}" = "x11"; then + AC_MSG_CHECKING(X11 version 6) + AC_TRY_LINK([#include ], +[#if XlibSpecificationRelease < 6 +fail; +#endif +], [AC_MSG_RESULT(6 or newer) + AC_DEFINE(HAVE_X11R6)], + [AC_MSG_RESULT(before 6)]) +fi + +if test x"${USE_X_TOOLKIT}" = xmaybe; then + AC_MSG_CHECKING(X11 version 5) + AC_TRY_LINK([#include ], +[#if XlibSpecificationRelease < 5 +fail; +#endif +], [AC_MSG_RESULT(5 or newer; use toolkit by default) + USE_X_TOOLKIT=LUCID + AC_DEFINE(HAVE_X11R5)], + [AC_MSG_RESULT(before 5; do not use toolkit by default) + USE_X_TOOLKIT=none]) +fi + +X_TOOLKIT_TYPE=$USE_X_TOOLKIT + if test "${USE_X_TOOLKIT}" != "none"; then AC_MSG_CHECKING(X11 toolkit version) AC_TRY_LINK([#include ], [#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" + 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 # If netdb.h doesn't declare h_errno, we must declare it by hand. @@ -1256,28 +1369,44 @@ 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 drem ftime res_init setsid \ +random lrand48 bcopy bcmp logb frexp fmod ftime res_init setsid \ strerror fpathconf select mktime eaccess getpagesize tzset) 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]) @@ -1291,7 +1420,7 @@ if test $emacs_cv_localtime_cache = yes; then AC_DEFINE(LOCALTIME_CACHE) fi -if test $HAVE_TIMEVAL = yes; then +if test "x$HAVE_TIMEVAL" = xyes; then AC_MSG_CHECKING(whether gettimeofday can't accept two arguments) AC_TRY_LINK([ #ifdef TIME_WITH_SYS_TIME @@ -1397,8 +1526,8 @@ fi if test "${HAVE_XFREE386}" = "yes" ; then AC_DEFINE(HAVE_XFREE386) fi -if test "${HAVE_X_MENU}" = "yes" ; then - AC_DEFINE(HAVE_X_MENU) +if test "${HAVE_MENUS}" = "yes" ; then + AC_DEFINE(HAVE_MENUS) fi if test "${GNU_MALLOC}" = "yes" ; then AC_DEFINE(GNU_MALLOC)