(c-macro-display-buffer): Delete special view-mode hack.
[bpt/emacs.git] / configure1.in
index bc5c3e8..9084e20 100755 (executable)
@@ -2,26 +2,26 @@ dnl This is an autoconf script.
 dnl To rebuild the `configure' script from this, execute the command
 dnl    autoconf
 dnl in the directory containing this script.  You must have autoconf
-dnl version 1.4 or later.
+dnl version 1.7 or later.
 dnl
 dnl The following text appears in the resulting `configure' script,
 dnl explaining how to rebuild it.
 [#!/bin/sh
 #### Configuration script for GNU Emacs
-#### Copyright (C) 1992 Free Software Foundation, Inc.
+#### Copyright (C) 1992, 1994 Free Software Foundation, Inc.
 
 ### Don't edit this script!
 ### This script was automatically generated by the `autoconf' program
 ### from the file `./configure.in'.
 ### To rebuild it, execute the command
 ###    autoconf
-### in the this directory.  You must have autoconf version 1.4 or later.
+### in the this directory.  You must have autoconf version 1.7 or later.
 
 ### This file is part of GNU Emacs.
 
 ### GNU Emacs is free software; you can redistribute it and/or modify
 ### it under the terms of the GNU General Public License as published by
-### the Free Software Foundation; either version 1, or (at your option)
+### the Free Software Foundation; either version 2, or (at your option)
 ### any later version.
 
 ### GNU Emacs is distributed in the hope that it will be useful,
@@ -79,7 +79,15 @@ lisppath='${locallisppath}:${lispdir}'
 etcdir='${datadir}/emacs/${version}/etc'
 lockdir='${statedir}/emacs/lock'
 archlibdir='${libdir}/emacs/${version}/${configuration}'
-CC=
+docdir='${datadir}/emacs/${version}/etc'
+
+# On Sun systems, people sometimes set up the variable CPP
+# with a value that is a directory, not an executable at all.
+# Detect that case, and ignore that value.
+if [ "x$CPP" != x ] && [ -d "$CPP" ];
+then
+  CPP=
+fi
 
 # We cannot use this variable in the case statement below, because many
 # /bin/sh's have broken semantics for "case".  Unfortunately, you must
@@ -96,10 +104,12 @@ Set compilation and installation parameters for GNU Emacs, and report.
 CONFIGURATION specifies the machine and operating system to build for.
 --with-x               Support the X Window System.
 --with-x=no            Don't support X.
---x-includes=DIR       Search for X header files in DIR.
---x-libraries=DIR      Search for X libraries in DIR.
+--with-x-toolkit       Use an X toolkit.
+--with-x-toolkit=no    Don't use an X toolkit.
 --with-gcc             Use GCC to compile Emacs.
 --with-gcc=no          Don't use GCC to compile Emacs.
+--x-includes=DIR       Search for X header files in DIR.
+--x-libraries=DIR      Search for X libraries in DIR.
 --run-in-place         Use libraries and data files directly out of the 
                        source tree.
 --single-tree=DIR      Has the effect of creating a directory tree at DIR
@@ -186,6 +196,27 @@ Set it to either \`yes' or \`no'."
           eval "${opt}=\"${val}\""
         ;;
 
+        ## Has the user specified which toolkit they want to support?
+        "with_x_toolkit" )
+         ## Make sure the value given was either "yes" or "no".
+         case "${val}" in
+           y | ye | yes )      val=athena ;;
+           n | no )            val=no  ;;
+           l | lu | luc | luci | lucid )       val=lucid ;;
+           a | at | ath | athe | athena )      val=athena ;;
+           m | mo | mot | moti | motif )       val=motif ;;
+           o | op | ope | open | open- | open-l | open-lo \
+               | open-loo | open-look )        val=open-look ;;
+           * )
+             (echo "${progname}: the \`--${optname}' option is supposed to have a value
+which is \`yes', \`no', \`lucid', \`athena', \`motif' or \`open-look'."
+              echo "${short_usage}") >&2
+             exit 1
+           ;;
+         esac
+          eval "${opt}=\"${val}\""
+        ;;
+
        ## Has the user specified whether or not they want GCC?
        "with_gcc" | "with_gnu_cc" )
          ## Make sure the value given was either "yes" or "no".
@@ -266,7 +297,7 @@ Set it to either \`yes' or \`no'."
        ## Has the user specified one of the path options?
        prefix | exec_prefix | bindir | libdir | etcdir | datadir | \
        archlibdir | statedir | mandir | infodir | lispdir | lockdir | \
-       lisppath | locallisppath )
+       lisppath | locallisppath | docdir )
           ## If the value was omitted, get it from the next argument.
           if [ "${valomitted}" = "yes" ]; then
              if [ $# = 0 ]; then
@@ -407,7 +438,7 @@ vpath %.in $(srcdir)'
 fi
 
 ### Make the necessary directories, if they don't exist.
-for dir in ./src ./lib-src ./cpp ./oldXMenu ./etc ; do
+for dir in ./src ./lib-src ./cpp ./oldXMenu ./lwlib ./etc ; do
   if [ ! -d ${dir} ]; then
     mkdir ${dir}
   fi
@@ -486,6 +517,11 @@ case "${canonical}" in
     machine=7300 opsys=usg5-2-2
   ;;
 
+  ## Bull dpx20
+  rs6000-bull-bosx* )
+    machine=ibmrs6000 opsys=aix3-2
+  ;;
+
   ## Bull dpx2
   m68*-bull-sysv3* )
     machine=dpx2 opsys=usg5-3
@@ -547,8 +583,16 @@ case "${canonical}" in
   ;;
 
   ## Motorola Delta machines
-  m68*-motorola-sysv* )
+  m68k-motorola-sysv* | m68000-motorola-sysv* )
     machine=delta opsys=usg5-3
+    if [ -z "`type gnucc | grep 'not found'`" ]
+    then CC=gnucc
+    else
+      if [ -z "`type gcc | grep 'not found'`" ]
+      then CC=gcc
+      else CC=cc
+      fi
+    fi
   ;;
   m88k-motorola-sysv4* )
     machine=delta88k opsys=usg5-4
@@ -588,6 +632,20 @@ case "${canonical}" in
     machine=gould-np1 opsys=bsd4-3
   ;;
 
+  ## Harris Night Hawk machines running CX/UX (a 5000 looks just like a 4000
+  ## as far as Emacs is concerned).
+  m88k-harris-cxux* )
+    # Build needs to be different on 7.0 and later releases
+    case "`uname -r`" in
+       [56].[0-9] ) machine=nh4000 opsys=cxux ;;
+       [7].[0-9] ) machine=nh4000 opsys=cxux7 ;;
+    esac
+  ;;
+  ## Harris ecx or gcx running CX/UX (Series 1200, Series 3000)
+  m68k-harris-cxux* )
+    machine=nh3000 opsys=cxux
+  ;;
+
   ## Honeywell XPS100
   xps*-honeywell-sysv* )
     machine=xps100 opsys=usg5-2
@@ -762,6 +820,7 @@ case "${canonical}" in
   mips-mips-riscos4* )
     machine=mips4 opsys=bsd4-3
     NON_GNU_CC="cc -systype bsd43"
+    NON_GNU_CPP="cc -systype bsd43 -E"
   ;;
   mips-mips-bsd* )
     machine=mips opsys=bsd4-3
@@ -771,7 +830,7 @@ case "${canonical}" in
   ;;
 
   ## NeXT
-  m68*-next-mach* | m68*-next-bsd* )
+  m68*-next-* )
     machine=next opsys=mach2
   ;;
 
@@ -831,6 +890,9 @@ case "${canonical}" in
   mips-sony-bsd* )
     machine=news-risc opsys=bsd4-3
   ;;
+  mips-sony-newsos* )
+    machine=mips opsys=newsos5
+  ;;
 
   ## Stride
   m68*-stride-sysv* )
@@ -951,6 +1013,7 @@ case "${canonical}" in
       *-bsd386* )              opsys=bsd386 ;;
       *-386bsd* )              opsys=386bsd ;;
       *-netbsd* )              opsys=netbsd ;;
+      *-nextstep* )             opsys=mach2 ;;
       ## Otherwise, we'll fall through to the generic opsys code at the bottom.
     esac
   ;;
@@ -976,6 +1039,9 @@ if [ x"${opsys}" = x ]; then
     *-sysv2.2 | *-sysvr2.2 )           opsys=usg5-2-2 ;;
     *-sysv3 | *-sysvr3 )               opsys=usg5-3 ;;
     *-sysv4 | *-sysvr4 )               opsys=usg5-4 ;;
+    *-sysv4.1 | *-sysvr4.1 )
+       NON_GNU_CPP=/usr/lib/cpp
+       opsys=usg5-4 ;;
     *-sysv4.2 | *-sysvr4.2 )           opsys=usg5-4-2 ;;
     * )
       unported=true
@@ -999,9 +1065,18 @@ AC_CONFIG_HEADER(src/config.h)
 [
 
 #### Choose a compiler.
+if [ "x$CC" = x ]
+then cc_specified=1
+fi
+
 case ${with_gcc} in
   "yes" ) CC="gcc" GCC=1 ;;
-  "no"  ) CC=${CC:-"cc"} ;;
+  "no"  )
+    if [ "x$CC" = x ]
+    then true;
+    else CC=cc;
+    fi
+    ;;
   * )
     ] AC_PROG_CC [
 esac
@@ -1009,19 +1084,19 @@ esac
 #### Some systems specify a CPP to use unless we are using GCC.
 #### Now that we know whether we are using GCC, we can decide whether
 #### to use that one.
-if [ x$NON_GNU_CPP = x ] || [ x$GCC = x1 ]
+if [ "x$NON_GNU_CPP" = x ] || [ x$GCC = x1 ] || [ "x$CPP" = x ]
 then true
 else
-  CPP=$NON_GNU_CPP
+  CPP="$NON_GNU_CPP"
 fi
 
 #### Some systems specify a CC to use unless we are using GCC.
 #### Now that we know whether we are using GCC, we can decide whether
 #### to use that one.
-if [ x$NON_GNU_CC = x ] || [ x$GCC = x1 ]
+if [ "x$NON_GNU_CC" = x ] || [ x$GCC = x1 ] || [ x$cc_specified = x1 ]
 then true
 else
-  CC=$NON_GNU_CC
+  CC="$NON_GNU_CC"
 fi
 
 #### Some other nice autoconf tests.  If you add a test here which
@@ -1040,6 +1115,14 @@ dnl checks for header files
 AC_HAVE_HEADERS(sys/timeb.h sys/time.h unistd.h)
 AC_STDC_HEADERS
 AC_TIME_WITH_SYS_TIME
+dnl In Autoconf 1.8 use AC_SYS_SIGLIST_DECLARED instead of this.
+AC_COMPILE_CHECK(sys_siglist declaration in signal.h or unistd.h,
+                [#include <signal.h>
+/* NetBSD declares sys_siglist in <unistd.h>.  */
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif], [char *msg = *(sys_siglist + 1);],
+                AC_DEFINE(SYS_SIGLIST_DECLARED))
 
 dnl checks for typedefs
 AC_RETSIGTYPE
@@ -1102,24 +1185,10 @@ case "${window_system}" in
   ;;
 esac
 
-case "${window_system}" in
-  "" | "x11" )
-    ### If the user hasn't specified where we should find X, try
-    ### letting autoconf figure that out.
-    if [ -z "${x_includes}" ] && [ -z "${x_libraries}" ]; then
-      ]
-      AC_FIND_X
-      [
-    fi
-    if [ -n "${x_includes}" ] || [ -n "${x_libraries}" ]; then
-      window_system=x11
-    fi
-  ;;
-esac
-
 [ -z "${window_system}" ] && window_system=none
 
 [ -n "${x_libraries}" ] && LD_SWITCH_X_SITE="-L${x_libraries}"
+[ -n "${x_libraries}" ] && LD_SWITCH_X_SITE_AUX="-R${x_libraries}"
 [ -n "${x_includes}" ] && C_SWITCH_X_SITE="-I${x_includes}"
 
 # Avoid forcing the search of /usr/include before fixed include files.
@@ -1132,10 +1201,29 @@ case "${window_system}" in
     HAVE_X_WINDOWS=yes
     HAVE_X11=yes
     echo "  Using X11."
+    case "${with_x_toolkit}" in
+      athena | lucid )
+       USE_X_TOOLKIT=LUCID
+       echo "  Using Xt toolkit."
+       ;;      
+      motif )
+       USE_X_TOOLKIT=MOTIF
+       echo "  Using Motif toolkit."
+       ;;      
+      open-look )
+       USE_X_TOOLKIT=OPEN_LOOK
+       echo "  Using Open-Look toolkit."
+       ;;      
+      * )
+       USE_X_TOOLKIT=no
+       echo "  Using Xlib directly."
+      ;;
+    esac
   ;;
   x10 )
     HAVE_X_WINDOWS=yes
     HAVE_X11=no
+    USE_X_TOOLKIT=no
     echo "  Using X10."
   ;;
   none )
@@ -1144,6 +1232,7 @@ case "${window_system}" in
     echo "  Using no window system."
   ;;
 esac
+X_TOOLKIT_TYPE=$USE_X_TOOLKIT
 
 ### If we're using X11, we should use the X menu package.
 HAVE_X_MENU=no
@@ -1176,8 +1265,12 @@ echo '
 #ifndef C_SWITCH_SYSTEM
 #define C_SWITCH_SYSTEM
 #endif
+#ifndef C_SWITCH_MACHINE
+#define C_SWITCH_MACHINE
+#endif
 configure___ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM
 configure___ c_switch_system=C_SWITCH_SYSTEM
+configure___ c_switch_machine=C_SWITCH_MACHINE
 
 #ifndef LIB_X11_LIB
 #define LIB_X11_LIB -lX11
@@ -1248,7 +1341,7 @@ LISP_FLOAT_TYPE=yes
 #### Add the libraries to LIBS and check for some functions.
 
 ]
-DEFS="$c_switch_system $DEFS"
+DEFS="$c_switch_system $c_switch_machine $DEFS"
 LIBS="$libsrc_libs"
 
 dnl If found, this defines HAVE_LIBDNET, which m/pmax.h checks,
@@ -1273,7 +1366,8 @@ AC_ALLOCA
 
 # logb and frexp are found in -lm on most systems.
 AC_HAVE_LIBRARY(-lm)
-AC_HAVE_FUNCS(gettimeofday gethostname dup2 rename closedir mkdir rmdir random bcopy logb frexp ftime res_init setsid)
+AC_HAVE_FUNCS(gettimeofday gethostname dup2 rename closedir mkdir rmdir \
+random bcopy bcmp logb frexp fmod drem ftime res_init setsid strerror)
 
 ok_so_far=true
 AC_FUNC_CHECK(socket, , ok_so_far=)
@@ -1289,7 +1383,7 @@ fi
 [
 #### Find out which version of Emacs this is.
 version=`grep 'defconst[        ]*emacs-version' ${srcdir}/lisp/version.el \
-        | sed -e 's/^.*"\([0-9][0-9]*\.[0-9][0-9]*\)\..*$/\1/'`
+        | sed -e 's/^.*"\([0-9][0-9]*\.[0-9][0-9]*\)[."].*$/\1/'`
 if [ x"${version}" = x ]; then
   echo "${progname}: can't find current emacs version in
        \`${srcdir}/lisp/version.el'." >&2
@@ -1323,15 +1417,20 @@ AC_SUBST(lisppath)
 AC_SUBST(etcdir)
 AC_SUBST(lockdir)
 AC_SUBST(archlibdir)
+AC_SUBST(docdir)
 AC_SUBST(c_switch_system)
+AC_SUBST(c_switch_machine)
 AC_SUBST(libsrc_libs)
 AC_SUBST(LD_SWITCH_X_SITE)
+AC_SUBST(LD_SWITCH_X_SITE_AUX)
 AC_SUBST(C_SWITCH_X_SITE)
 AC_SUBST(CFLAGS)
+AC_SUBST(X_TOOLKIT_TYPE)
 
 AC_DEFINE_UNQUOTED(config_machfile,  "\"${machfile}\"")
 AC_DEFINE_UNQUOTED(config_opsysfile, "\"${opsysfile}\"")
 AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, ${LD_SWITCH_X_SITE})
+AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE_AUX, ${LD_SWITCH_X_SITE_AUX})
 AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE,  ${C_SWITCH_X_SITE})
 AC_DEFINE_UNQUOTED(UNEXEC_SRC,       ${UNEXEC_SRC})
 
@@ -1339,6 +1438,9 @@ AC_DEFINE_UNQUOTED(UNEXEC_SRC,       ${UNEXEC_SRC})
 if [ "${HAVE_X_WINDOWS}" = "yes" ] ; then
   ] AC_DEFINE(HAVE_X_WINDOWS) [
 fi
+if [ "${USE_X_TOOLKIT}" != "no" ] ; then
+  ] AC_DEFINE(USE_X_TOOLKIT) [
+fi
 if [ "${HAVE_X11}" = "yes" ] ; then
   ] AC_DEFINE(HAVE_X11) [
 fi
@@ -1371,7 +1473,8 @@ if [ "$run_in_place" = "1" ]; then
    locallisppath='${srcdir}/site-lisp'
    etcdir='${srcdir}/etc'
    lockdir='${srcdir}/lock'
-   archlibdir='${srcdir}/lib-src'
+   archlibdir=`(cd lib-src && pwd)`
+   docdir=`(cd etc && pwd)`
    infodir='${srcdir}/info'
 elif [ "$single_tree" = "1" ]; then
    if [ "$exec_prefix_specified" = "" ]; then
@@ -1404,6 +1507,9 @@ elif [ "$single_tree" = "1" ]; then
    if [ "$etcdir_specified" = "" ]; then
       etcdir='${prefix}/common/data'
    fi
+   if [ "$docdir_specified" = "" ]; then
+      docdir='${prefix}/common/data'
+   fi
 fi
 
 #### Report on what we decided to do.
@@ -1429,50 +1535,33 @@ test -n "${prefix}" &&
 test -n "${exec_prefix}" &&
   exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'`
 ]
-AC_OUTPUT(Makefile lib-src/Makefile oldXMenu/Makefile src/Makefile.in) [
+AC_OUTPUT(Makefile lib-src/Makefile oldXMenu/Makefile lwlib/Makefile src/Makefile.in, [
 # Build src/Makefile from ${srcdir}/src/Makefile.in.  This must be done
-# after src/config.h is built, since we rely on that file.  Only do the
-# build if "config.status" is present, since it's non-presence indicates
-# an error occured.
-status=$?
-if [ ! -f ./config.status ]; then
-   exit $status
-fi
-topsrcdir=${srcdir}
-  # We discard all lines in Makefile.in that start with `# Generated' or /**/#
-  # because some cpps get confused by them.
-  # Really we should preserve them somehow into Makefile,
-  # but that is beyond my level of shell programming.
-makefile_command='echo "creating src/Makefile";
-  topsrcdir='"${topsrcdir}"';
-( cd ./src;
-  rm -f junk.c;
-  sed -e '\''s/^# Generated.*//'\'' -e '\''s%/\*\*/#.*%%'\'' < Makefile.in > junk.c;
-  eval `echo ${CPP} -I. -I${topsrcdir}/src ${CPPFLAGS} junk.c \>junk.cpp`;
-  < junk.cpp                                                   '\
-'    sed -e '\''s/^#.*//'\''                                   '\
-'      -e '\''s/^[ \f\t][ \f\t]*$//'\''                        '\
-'      -e '\''s/^ /    /'\''                                   '\
-'      | sed -n -e '\''/^..*$/p'\''                            '\
-'      > Makefile.new;
-    chmod 444 Makefile.new;
-    mv -f Makefile.new Makefile;
-    rm -f junk.c junk.cpp;
-)'
-eval `echo $makefile_command`
-# AC-OUTPUT has created `config.status' already.  We need to add the above
-# commands to re-create `src/Makefile', and we need to insert them before
-# the final "exit 0" which appears at the end of `config.status'.
-<config.status sed -e 's/^exit 0$//' >config.new
-echo $makefile_command >>config.new
-echo exit 0 >>config.new
-mv -f config.new config.status
-chmod +x config.status
-# Don't let the fact that we just rewrote config.status make Makefile think
-# that it is now newer.  We have just rewritten all of the Makefiles as well.
-MFS="Makefile src/Makefile src/Makefile.in lib-src/Makefile oldXMenu/Makefile"
-for file in $MFS; do
-   chmod a+w $file; touch $file; chmod 444 $file
-done
-exit 0
-]
+# after src/config.h is built, since we rely on that file.
+
+changequote(,)dnl The horror, the horror.
+# Now get this: Some word that is part of the ${srcdir} directory name
+# or the ${configuration} value might, just might, happen to be an
+# identifier like `sun4' or `i386' or something, and be predefined by
+# the C preprocessor to some helpful value like 1, or maybe the empty
+# string.  Needless to say consequent macro substitutions are less
+# than conducive to the makefile finding the correct directory.
+undefs="`echo $top_srcdir $configuration | 
+sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/  */ -U/g'  \
+    -e 's/ -U$//' -e 's/^[^ ]/-U/' \
+    -e 's/-U[0-9][^ ]*//g' \
+`"
+changequote([,])dnl
+
+echo creating src/Makefile
+( cd src
+  rm -f junk.c
+  sed -e 's@^# \(Generated.*\)$@/* \1 */@' \
+      -e 's@/\*\*/#\(.*\)$@/* \1 */@' \
+      < Makefile.in > junk.c
+  $CPP $undefs -I. -I$top_srcdir/src $CPPFLAGS junk.c |
+  sed -e 's/^ /        /' -e '/^#/d' -e '/^[   ]*$/d' > Makefile.new
+  rm -f junk.c
+  chmod 444 Makefile.new;
+  mv -f Makefile.new Makefile;
+)])