Mercurial > hg > xemacs-beta
diff configure.in @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children | ac2d302a0011 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/configure.in Mon Aug 13 08:45:50 2007 +0200 @@ -0,0 +1,4544 @@ +dnl Synched up with: FSF 19.31. +dnl (19.29 -- 19.31 use Autoconf 2.x instead of Autoconf 1.x. +dnl Some stuff related to this change has not been synched because +dnl it can't be until we switch to Autoconf 2.x.) +dnl +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.9 or later. +dnl +dnl The following text appears in the resulting `configure' script, +dnl explaining how to rebuild it. +dnl +AC_PREREQ(1.9)dnl means 'delete newline' and this one needs to be here +[#!/bin/sh +#### Configuration script for XEmacs. +#### Copyright (C) 1994 Free Software Foundation, Inc. +#### Copyright (C) 1993-1995 Board of Trustees, University of Illinois. +#### Copyright (C) 1995, 1996 Ben Wing. + +### 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.9 or later. + +### This file is part of XEmacs. + +### XEmacs 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 2, or (at your +### option) any later version. + +### XEmacs is distributed in the hope that it will be useful, but +### WITHOUT ANY WARRANTY; without even the implied warranty of +### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +### General Public License for more details. + +### You should have received a copy of the GNU General Public License +### along with XEmacs; see the file COPYING. If not, write to the Free +### Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +### 02111-1307, USA. + +### Since XEmacs has configuration requirements that autoconf can't +### meet, this file is an unholy marriage of custom-baked +### configuration code and autoconf macros. +### +### We use the m4 quoting characters [ ] (as established by the +### autoconf system) to include large sections of raw sewage - Oops, I +### mean, shell code - in the final configuration script. +### +### Usage: configure config_name +### +### If configure succeeds, it leaves its status in config.status. +### If configure fails after disturbing the status quo, +### config.status is removed. + +### Remove any more than one leading "." element from the path name. +### If we don't remove them, then another "./" will be prepended to +### the file name each time we use config.status, and the program name +### will get larger and larger. This wouldn't be a problem, except +### that since progname gets recorded in all the Makefiles this script +### produces, move-if-change thinks they're different when they're +### not. +### +### It would be nice if we could put the ./ in a \( \) group and then +### apply the * operator to that, so we remove as many leading ./././'s +### as are present, but some seds (like Ultrix's sed) don't allow you to +### apply * to a \( \) group. Bleah. +progname="`echo $0 | sed 's:^\./\./:\./:'`" + +############################################################################ +# # +# Establish some default values # +# # +############################################################################ + +run_in_place='no' +prefix='/usr/local' +exec_prefix='${prefix}' +bindir='${exec_prefix}/bin' +# FSF 19.29 changes to: +# datadir='${prefix}/share' +# sharedstatedir='${prefix}/com' +# libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/lib' +statedir='${prefix}/lib' +libdir='${exec_prefix}/lib' +mandir='${prefix}/man/man1' +infodir='${prefix}/lib/xemacs-${version}/info' +infodir_user_defined='no' +lispdir='${datadir}/xemacs-${version}/lisp' +lispdir_user_defined='no' +sitelispdir='${datadir}/xemacs/site-lisp' +etcdir='${datadir}/xemacs-${version}/etc' +etcdir_user_defined='no' +lockdir='${statedir}/xemacs/lock' +lockdir_user_defined='no' +archlibdir='${libdir}/xemacs-${version}/${configuration}' +archlibdir_user_defined='no' +with_menubars='' +with_scrollbars='' +with_dialogs='' +const_is_losing='yes' +puresize='' +cflags='NO_CFLAGS_DEFINED' +dynamic='' +with_x11='' +rel_alloc='default' +use_system_malloc='default' +internal_makefile_list='Makefile lib-src/Makefile.in man/Makefile.in src/Makefile.in lwlib/Makefile.in dynodump/Makefile.in' +energize_version='no' +native_sound_lib='' +# make normal error-checking be the default in alpha and beta versions, so +# that bugs get noticed. Change this for released versions. +error_check_default='no' +error_check_extents=$error_check_default +error_check_typecheck=$error_check_default +error_check_bufpos=$error_check_default +error_check_gc=$error_check_default +error_check_malloc=$error_check_default +# debug=yes must be set when error checking is present. This should be +# fixed up. +debug=$error_check_default +quantify='no' +# use-assertions should be 'yes' by default. Too many people in this +# world have core dumps turned off by default or "can't find where the +# core file went". At least we should get some useful output ... +use_assertions='yes' +# the following is set to yes or no later. +with_gif='' +# the following is set to yes or no later. +with_toolbars='' +with_tty='yes' +use_union_type='no' + +# # gnu echo silently eats `--help', `--version', `-n', `-e', `-E', `-n'. +# # other versions of echo eat any strings beginning with `-n'. +# # when parsing arguments, special case these strings and don't +# # pass them through echo +# echo=/bin/echo +# +# this approach abandoned in favor of +# +# echo "" ${stuff_to_filter} | sed -e 's:^ ::' + +# 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 + +############################################################################ +# # +# Usage messages # +# # +############################################################################ + +short_usage="Usage: ${progname} CONFIGURATION [-OPTION[=VALUE] ...] + +Set compilation and installation parameters for XEmacs, and report. +CONFIGURATION specifies the machine and operating system to build for. + +Note that for most of the following options, you can explicitly enable +them using \`--OPTION=yes' and explicitly disable them using \`--OPTION=no'. +This is especially useful for auto-detected options. + +Options marked with a (*) are autodetected. + + +General options: + +--help Issue this usage message. +--verbose Display the results of configure tests. +--extra-verbose Also display the output of any compiler invocation. + (Useful when feature tests are coming out wrong.) + + +Compiler options: + +--compiler=XXXX Specify compiler. +--with-gcc (*) Use GCC to compile XEmacs. +--with-lcc Use Lucid's LCC to compile XEmacs. +--with-gcc=no Don't use GCC to compile XEmacs. +--with-gnu-make Write the Makefiles to take advantage of + special features of GNU Make. (GNU Make + works fine on the Makefiles even without this + option. This just allows for simultaneous + in-place and --srcdir building.) +--cflags=FLAGS Override the default values for CFLAGS. +--site-includes=DIR Other header file directories. Separate multiple + dirs with spaces and use quotes to enclose. +--site-libraries=DIR Other library directories. +--site-runtime-libraries=DIR + Paths to add with -R flag. +--dynamic=yes Link dynamically if supported by system. +--dynamic=no Force static linking on systems where dynamic + linking is the default. +--srcdir=DIR Look for the XEmacs source files in DIR. + See also --with-gnu-make. +--const-is-losing=no Allow the use of const in the source code. + + +Installation options: + +--prefix=DIR Install files below DIR. Defaults to \`${prefix}'. +--run-in-place Use the source tree for installation. + + +Window-system options: + +--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-ns Support NeXTstep windows (not yet implemented). +--with-menubars=TYPE Use TYPE menubars (lucid, motif, or no). The Lucid + widgets emulate Motif (mostly) but are faster. + *WARNING* The Motif menubar is currently broken. +--with-scrollbars=TYPE Use TYPE scrollbars (lucid, motif, athena, or no). +--with-dialogs=TYPE Use TYPE dialog boxes (motif, athena, or no). + (Lucid menubars and scrollbars are the default. + Motif dialog boxes will be used if Motif can be + found.) +--with-cde (*) Compile in support for CDE drag and drop. +--with-xpm (*) Compile with support for XPM files. + It is highly recommended that you obtain XPM + (version 3.4g or better) if you don't already + have it. Get it from the XEmacs FTP site. +--with-xmu=no (*) For those unfortunates whose vendors don't ship Xmu. + + +Additional features: + +--with-toolbars=no Don't compile with any toolbar support. +--with-tooltalk Support the ToolTalk IPC protocol. +--with-sparcworks Support the Sun Sparcworks development environment. +--with-energize Support the Lucid Energize development environment. + This doesn't currently work. +--with-socks Compile with support for SOCKS (an Internet proxy). +--with-term Compile with support for TERM (a way to multiplex + serial lines and provide vaguely Internet-like + functionality over a simple dialup connection, + used on Linux and other systems. NOTE: We can't + guarantee that our TERM support coexists well + with standard Internet connections). +--with-xface (*) Compile with support for X-Face mail header + conversion. Requires the compface library. + Get it from the XEmacs FTP site. +--with-gif Compile with support for GIF image conversion. + This requires no special support and defaults to + \`yes'. +--with-jpeg (*) Compile with support for JPEG image conversion. + Requires libjpeg from the Independent JPEG Group. + Get it from the XEmacs FTP site. +--with-png (*) Compile with support for PNG image conversion. + Requires libpng. Get it from the XEmacs FTP site. + Accepted values are \`yes', \`no', and \`gnuz' + if you want to use -lgz instead of -lz. +--with-tiff Compile with support for TIFF image conversion + (not yet implemented). +--with-database=type (*) Compile with database support. Valid types are + \`no' or a comma-separated list of one or more + of \`dbm', \`gnudbm', or \`berkdb'. +--external-widget Compile with external widget support. +--with-sound=native (*) Compile with native sound support. +--with-sound=nas Compile with network sound support. +--with-sound=both Compile with native and network sound support. +--native-sound-lib=LIB Native sound support library. Needed on Suns + with --with-sound=both because both sound libraries + are called libaudio. +--with-epoch Compile with additional Epoch compatibility. + This doesn't work yet. +--with-mocklisp Compile with Mocklisp support. Don't do this + unless you have a Mocklisp program that you need + to run. +--usage-tracking Enable some Sun-internal code. If you don't + know what this is, you don't want it. + + +Debugging options: + +--debug Compile with support for debugging XEmacs. + (Causes code-size increase but no loss of speed.) +--error-checking=TYPE[,TYPE]... + Compile with internal error-checking added. + Causes noticeable loss of speed. Valid types + are extents, bufpos, malloc, gc, typecheck. +--error-checking=none Disable all internal error-checking (the default). +--error-checking=all Enable all internal error-checking. +--memory-usage-stats Compile with additional code to allow you to + determine what XEmacs's memory is being used + for. Causes a small code increase but no loss + of speed. Normally enabled when --debug is given. +--no-doc-file Don't rebuild the DOC file unless it's explicitly + deleted. Only use during development. (It speeds + up the compile-run-test cycle.) +--use-union-type Enable or disable use of a union, instead of an + int, for the fundamental Lisp_Object type; this + provides stricter type-checking. Only works with + some systems and compilers. + + +Other options: + +--puresize=VALUE Override default amount of space for pure Lisp code. +--rel-alloc Use the relocating allocator (default for this option + is system-dependent). +--use-system-malloc Force use of the system malloc, rather than GNU + malloc. + +You may also specify any of the \`path' variables found in +Makefile.in, including --bindir, --libdir, --lispdir, --datadir, and +so on. Note that we recommend against explicitly setting any of these +variables. See the INSTALL file for a complete list plus the reasons +we advise not changing them. Specifying a \'path' variable will override +the --run-in-place value. + +If successful, ${progname} leaves its status in config.status. If +unsuccessful after disturbing the status quo, it removes config.status." + + +############################################################################ +# # +# Options processing # +# # +############################################################################ + +### Record all the arguments, so we can save them in config.status. +arguments="$@" + +### Shell Magic: Quote the quoted arguments in ARGUMENTS. At a later date, +### in order to get the arguments back in $@, we have to do an +### `eval set x "$quoted_arguments"; shift'. +quoted_arguments= +for i in "$@"; do + quoted_arguments="$quoted_arguments '$i'" +done + +### Don't use shift -- that destroys the argument list, which autoconf needs +### to produce config.status. It turns out that "set - ${arguments}" doesn't +### work portably. +### However, it also turns out that many shells cannot expand ${10} at all. +### So using an index variable doesn't work either. It is possible to use +### some shell magic to make 'set x "$arguments"; shift' work portably. +while [ $# != 0 ]; do + arg="$1"; shift + case "${arg}" in + + ## Anything starting with a hyphen we assume is an option. + -* ) + ## Separate the switch name from the value it's being given. + case "${arg}" in + -*=*) + opt=`echo '' ${arg} | sed -e 's:^ ::' -e 's:^-*\([^=]*\)=.*$:\1:'` + val=`echo '' ${arg} | sed -e 's:^ ::' -e 's:^-*[^=]*=\(.*\)$:\1:'` + valomitted=no + ;; +# ## special case these strings since echo may +# ## silently eat them. +# --help ) opt=help val=yes valomitted=yes ;; +# --version ) opt=version val=yes valomitted=yes ;; +# -e ) opt=e val=yes valomitted=yes ;; +# -E ) opt=E val=yes valomitted=yes ;; +# -n ) opt=n val=yes valomitted=yes ;; + -*) + ## If FOO is a boolean argument, --FOO is equivalent to + ## --FOO=yes. Otherwise, the value comes from the next + ## argument - see below. + opt=`echo '' ${arg} | sed -e 's:^ ::' -e 's:^-*\(.*\)$:\1:'` + val="yes" + valomitted=yes + ;; + esac + + ## Change `-' in the option name to `_'. + optname="${opt}" + opt="`echo '' ${opt} | sed -e 's:^ ::' | tr - _`" + + ## Process the option. + case "${opt}" in + + ## Has the user specified which window systems they want to support? + "with_x" | "with_x11" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "with_x11=\"${val}\"" + ;; + + ## Has the user specified whether or not they want GCC or LCC? + "with_gcc" | "with_lcc" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + if [ "${with_gcc}" = "yes" ] && [ "${with_lcc}" = "yes" ] ; then + (echo "${progname}: only one of --with-gcc and --with-lcc may be specified." + echo "${short_usage}") >&2 + exit 1 + fi + ;; + + ## Has the user specified a compiler to use? + "compiler" ) + ## If the value was omitted, get it from the next argument. + if [ "${valomitted}" = "yes" ]; then + ## Get the next argument from the argument list, if there is one. + if [ $# = 0 ]; then + (echo "${progname}: You must give a value for the \`--${optname}' option, as in + \`--${optname}=FOO'." + echo "${short_usage}") >&2 + exit 1 + fi + val="$1"; shift + fi + compiler="${val}" + ;; + + ## Has the user specified special GNU Make support? + "with_gnu_make" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## This option will not force a rebuild of the DOC + ## file each time that a source or Lisp file has changed. + ## If you want the DOC file rebuilt, remove it. A side + ## effect of this is that you may get complaints about + ## "doc lost for function foobar" or "strange doc for + ## function foobar", but in general these should not cause + ## problems. + "no_doc_file" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + # Enable use of the union type for Lisp_Objects. + # mly, eat your heart out ... + "use_union_type" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user specified a source directory? + "srcdir" ) + ## If the value was omitted, get it from the next argument. + if [ "${valomitted}" = "yes" ]; then + ## Get the next argument from the argument list, if there is one. + if [ $# = 0 ]; then + (echo "${progname}: You must give a value for the \`--${optname}' option, as in + \`--${optname}=FOO'." + echo "${short_usage}") >&2 + exit 1 + fi + val="$1"; shift + fi + srcdir="${val}" + ;; + + ## Has the user requested sound support? + "with_sound" ) + ## value can be native, nas or both. yes is allowed + ## as a backwards compatible synonym for native + case "${val}" in + y | ye | yes ) val=native ;; + n | no | non | none ) val=no;; + na | nat | nati | nativ | native ) val=native ;; + ne | net | neta | netau | netaud | netaudi | netaudio | nas ) val=nas ;; + b | bo | bot | both ) val=both;; + * ) + (echo "${progname}: the \`--${optname}' option should have one of the values \`native', \`nas', \`both', or \`none'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user specified a native sound library? + ## (the reason for this flag is that, under Suns, both NAS sound + ## and native sound call their library libaudio.a) + "native_sound_lib" ) + ## If the value was omitted, get it from the next argument. + if [ "${valomitted}" = "yes" ]; then + ## Get the next argument from the argument list, if there is one. + if [ $# = 0 ]; then + (echo "${progname}: You must give a value for the \`--${optname}' option, as in + \`--${optname}=FOO'." + echo "${short_usage}") >&2 + exit 1 + fi + val="$1"; shift + fi + native_sound_lib="${val}" + ;; + + ## Has the user requested extra Epoch compatibility? + "with_epoch" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user specified a change to the default linking? + "dynamic" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user specified Quantify support? + "quantify" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user requested SOCKS support? + "with_socks" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user requested TERM support? + "with_term" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user requested CDE support? + "with_cde" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user requested XPM support? + "with_xpm" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user requested XFACE support? + "with_xface" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user requested GIF support? + "with_gif" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user requested JPEG support? + "with_jpeg" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user requested database support? + "with_database" ) + if [ "${val}" = "no" ] ; then + with_database_berkdb=no + with_database_dbm=no + with_database_gnudbm=no + else + ## Make sure the value given was berkdb, dbm, gnudbm, or a list + for x in `echo "${val}" | sed 's/,/ /'` ; do + case "${x}" in + b | be | ber | berk | berkd | berkdb ) + with_database_berkdb=yes ;; + d | db | dbm ) + with_database_dbm=yes ;; + g | gn | gnu | gnud | gnudb | gnudbm ) + with_database_gnudbm=yes ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to be either \`no' + or a comma-separated list of one or more of \`berkdb', \`dbm', or \`gnudbm'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + done + if [ "${with_database_dbm}" = "yes" ] && [ "${with_database_gnudbm}" = "yes" ] + then + (echo "${progname}: only one of \`dbm' and \`gnudbm' should be specified.") >&2 + exit 1 + fi + fi + ;; + + ## Has the user requested PNG support? + "with_png" ) + ## Make sure the value given was either "yes", "no", or "gnuz". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + g | gn | gnu | gnuz ) val=gnuz ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to + be either \`yes', \`no', or \`gnuz'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user requested TIFF support? + "with_tiff" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user requested NeXTstep support? + "with_ns" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user requested that assertions be used? + "use_assertions" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user requested error-checking? + "error_checking" ) + ## value can be all, none, and/or a list of categories to check. + ## Example: --error-checking=all,noextents,nobufpos + ## Example: --error-checking=none,malloc,gc + + for x in `echo "${val}" | sed 's/,/ /'` ; do + case "${x}" in + # all and none are only permitted as the first in the list. + n | no | non | none ) new_default=no ;; + a | al | all ) new_default=yes ;; + + extents ) error_check_extents=yes ;; + noextents ) error_check_extents=no ;; + + typecheck ) error_check_typecheck=yes ;; + notypecheck ) error_check_typecheck=no ;; + + bufpos ) error_check_bufpos=yes ;; + nobufpos ) error_check_bufpos=no ;; + + gc ) error_check_gc=yes ;; + nogc ) error_check_gc=no ;; + + malloc ) error_check_malloc=yes ;; + nomalloc ) error_check_malloc=no ;; + + * ) bogus_error_check=yes ;; + esac + if [ "$bogus_error_check" -o \ + \( -n "$new_default" -a -n "$echeck_notfirst" \) ]; then + ( echo "${progname}: Valid types for the \`--${optname}' option are:" + if [ $error_check_default = yes ]; then + echo "\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', and \`nomalloc'." + else + echo "\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', and \`malloc'." + fi + echo "${short_usage}" ) >&2 + exit 1 + elif [ "$new_default" ]; then + error_check_extents=$new_default + error_check_typecheck=$new_default + error_check_bufpos=$new_default + error_check_gc=$new_default + error_check_malloc=$new_default + new_default= # reset this + fi + echeck_notfirst=true + done + ;; + + ## Has the user requested external widget support? + "external_widget" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user requested that const be used? + "const_is_losing" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user mentioned that they don't have Xmu? + "with_xmu" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user specified a value for PURESIZE? + "puresize" ) + ## If the value was omitted, get it from the next argument. + if [ "${valomitted}" = "yes" ]; then + ## Get the next argument from the argument list, if there is one. + if [ $# = 0 ]; then + (echo "${progname}: You must give a value for the \`--${optname}' option, as in + \`--${optname}=FOO'." + echo "${short_usage}") >&2 + exit 1 + fi + val="$1"; shift + fi + puresize="${val}" + ;; + + ## Has the user specified explicit instructions for rel_alloc? + "rel_alloc" ) + ## Make sure the value given was either "yes", "no", or "default". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + d | de | def | defa | defau | defaul | default ) + val=default ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value or \`default'. +Set it to either \`yes', \`no', or \`default'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user specified explicit instructions for system_malloc? + "use_system_malloc" ) + ## Make sure the value given was either "yes", "no", or "default". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + d | de | def | defa | defau | defaul | default ) + val=default ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value or \`default'. +Set it to either \`yes', \`no', or \`default'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user tried to tell us where the X files are? + ## I think these are dopey, but no less than three alpha + ## testers, at large sites, have said they have their X files + ## installed in odd places. + "x_includes" ) + ## If the value was omitted, get it from the next argument. + if [ "${valomitted}" = "yes" ]; then + ## Get the next argument from the argument list, if there is one. + if [ $# = 0 ]; then + (echo "${progname}: You must give a value for the \`--${optname}' option, as in + \`--${optname}=/usr/local/X11/include'." + echo "${short_usage}") >&2 + exit 1 + fi + val="$1"; shift + fi + x_includes="${val}" + ;; + "x_libraries" ) + ## If the value was omitted, get it from the next argument. + if [ "${valomitted}" = "yes" ]; then + ## Get the next argument from the argument list, if there is one. + if [ $# = 0 ]; then + (echo "${progname}: You must give a value for the \`--${optname}' option, as in + \`--${optname}=/usr/local/X11/lib'." + echo "${short_usage}") >&2 + exit 1 + fi + val="$1"; shift + fi + x_libraries="${val}" + ;; + + "site_includes" ) + ## If the value was omitted, get it from the next argument. + if [ "${valomitted}" = "yes" ]; then + ## Get the next argument from the argument list, if there is one. + if [ $# = 0 ]; then + (echo "${progname}: You must give a value for the \`--${optname}' option, as in + \`--${optname}=/usr/local/X11/include'." + echo "${short_usage}") >&2 + exit 1 + fi + val="$1"; shift + fi + site_includes="${val}" + ;; + + "site_libraries" ) + ## If the value was omitted, get it from the next argument. + if [ "${valomitted}" = "yes" ]; then + ## Get the next argument from the argument list, if there is one. + if [ $# = 0 ]; then + (echo "${progname}: You must give a value for the \`--${optname}' option, as in + \`--${optname}=/usr/local/X11/lib'." + echo "${short_usage}") >&2 + exit 1 + fi + val="$1"; shift + fi + site_libraries="${val}" + ;; + + "site_runtime_libraries" ) + ## If the value was omitted, get it from the next argument. + if [ "${valomitted}" = "yes" ]; then + ## Get the next argument from the argument list, if there is one. + if [ $# = 0 ]; then + (echo "${progname}: You must give a value for the \`--${optname}' option, as in + \`--${optname}=/usr/local/X11/lib'." + echo "${short_usage}") >&2 + exit 1 + fi + val="$1"; shift + fi + site_runtime_libraries="${val}" + ;; + + ## Has the user specified the developer configuration? + ## Note that the user still has the option of explicitly setting + ## a path option. + "run_in_place" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user specified one of the path options? + prefix | exec_prefix | bindir | datadir | statedir | libdir | \ + mandir | infodir | lispdir | etcdir | lockdir | archlibdir | \ + sitelispdir | docdir ) + ## If the value was omitted, get it from the next argument. + if [ "${valomitted}" = "yes" ]; then + if [ $# = 0 ]; then + (echo \ +"$progname: You must give a value for the \`--${optname}' option,"; + echo \ +"as in \`--${optname}=`eval echo '$'$optname`.'" + echo "$short_usage") >&2 + exit 1 + fi + val="$1"; shift + fi + eval "${opt}=\"${val}\"" + + ## Changing exec_prefix or libdir will change the default value + ## of archlibdir. Changing datadir will change the default value + ## of etcdir and lispdir. Changing statedir will change the + ## default value of lockdir. + if [ "${opt}" = "exec_prefix" ]; then + archlibdir_user_defined='yes' + elif [ "${opt}" = "libdir" ]; then + archlibdir_user_defined='yes' + elif [ "${opt}" = "archlibdir" ]; then + archlibdir_user_defined='yes' + elif [ "${opt}" = "lispdir" ]; then + lispdir_user_defined='yes' + elif [ "${opt}" = "etcdir" ]; then + etcdir_user_defined='yes' + elif [ "${opt}" = "datadir" ]; then + lispdir_user_defined='yes' + etcdir_user_defined='yes' + elif [ "${opt}" = "statedir" ]; then + lockdir_user_defined='yes' + elif [ "${opt}" = "lockdir" ]; then + lockdir_user_defined='yes' + elif [ "${opt}" = "infodir" ]; then + infodir_user_defined='yes' + fi + ;; + + ## Has the user specified values to override CFLAGS? + cflags ) + ## If the value was omitted, get it from the next argument. + if [ "${valomitted}" = "yes" ]; then + if [ $# = 0 ]; then + (echo \ +"$progname: You must give a value for the \`--${optname}' option,"; + echo \ +"as in \`--${optname}=`eval echo '$'$optname`-g -O'" + echo "$short_usage") >&2 + exit 1 + fi + val="$1"; shift + fi + eval "${opt}=\"${val}\"" + eval "${opt}_specified=1" + ;; + + ## Verbose flag, tested by autoconf macros. + "verbose" ) + verbose=yes + ;; + + ## Does the user want to see the compiler output for feature tests? + "extra_verbose" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ## --extra-verbose implies --verbose + verbose=yes + ;; + + ## --no-create added by autoconf for use by config.status + "no_create" ) + ;; + + ## Has the user asked for some help? + "usage" | "help" ) + if [ "x$PAGER" = x ] + then + echo "${short_usage}" | more + else + echo "${short_usage}" | $PAGER + fi + exit + ;; + + ## Has the user specified what toolkit to use for the menubars, + ## scrollbar or dialogs? + "with_menubars" | "with_scrollbars" | "with_dialogs" ) + ## value can be lucid, motif, or athena. + case "${val}" in + l | lu | luc | luci | lucid ) val=lucid ;; + m | mo | mot | moti | motif ) val=motif ;; + a | at | ath | athe | athen | athena ) val=athena ;; + n | no | non | none ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option should have one of the values \`lucid', \`motif', \`athena', or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user disabled toolbar support? + "with_toolbars" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user disabled TTY support? + "with_tty" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user specified whether or not they want to use ToolTalk? + "with_tooltalk" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user specified whether or not they want Mocklisp support? + "with_mocklisp" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user specified whether or not they want to use SparcWorks? + "with_sparcworks" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + if [ "${with_sparcworks}" = "yes" ]; then + with_tooltalk='yes' + fi + ;; + + ## Does the user want usage tracking? + "usage_tracking" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Does the user want additional debugging capability? + "debug" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + if [ "${debug}" = "yes" ]; then + use_assertions='yes' + memory_usage_stats='yes' + fi + ;; + + ## Does the user want code for memory usage stats? + "memory_usage_stats" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + ;; + + ## Has the user specified whether or not they want to use Energize? + "with_energize" ) + ## Make sure the value given was either "yes" or "no". + case "${val}" in + y | ye | yes ) val=yes ;; + n | no ) val=no ;; + * ) + (echo "${progname}: the \`--${optname}' option is supposed to have a boolean value. +Set it to either \`yes' or \`no'." + echo "${short_usage}") >&2 + exit 1 + ;; + esac + eval "${opt}=\"${val}\"" + if [ "${with_energize}" = "yes" ]; then + with_menubars='lucid' + with_scrollbars='motif' + with_dialogs='motif' + with_tooltalk='yes' + internal_makefile_list="$internal_makefile_list lwlib/energize/Makefile.in" + fi + ;; + + ## Fail on unrecognized arguments. + * ) + (echo "${progname}: Error: unrecognized option ${arg}" + echo "" + echo "${short_usage}") >& 2 + exit 1 + ;; + + esac + ;; + + ## Anything not starting with a hyphen we assume is a + ## configuration name. + *) + configuration=${arg} + ;; + + esac +done + +############################################################################ +# # +# Finish options processing # +# # +############################################################################ + +### Get the arguments back. See the diatribe on Shell Magic above. +eval set x "$quoted_arguments"; shift + +if [ "${configuration}" = "" ]; then + echo '- You did not tell me what kind of host system you want to configure. +- I will attempt to guess the kind of system this is.' 1>&2 + guesssys=`echo ${progname} | sed 's/configure$/config.guess/'` + if configuration=`${CONFIG_SHELL-/bin/sh} ${guesssys}` ; then + echo "- Looks like this is a ${configuration}" 1>&2 + else + echo '- Failed to guess the system type. You need to tell me.' 1>&2 + echo "${short_usage}" >&2 + exit 1 + fi +fi + +############################################################################ +# # +# Handle --srcdir # +# # +############################################################################ + +#### Decide where the source is. +case "${srcdir}" in + + ## If it's not specified, see if `.' or `..' might work. + "" ) + confdir=`echo $0 | sed 's|//|/|' | sed 's|/[^/]*$||'` + if [ -f $confdir/src/lisp.h -a -f $confdir/lisp/version.el ]; then + srcdir="${confdir}" + else + if [ -f "./src/lisp.h" -a -f "./lisp/version.el" ]; then + srcdir='.' + else + if [ -f "../src/lisp.h" -a -f "../lisp/version.el" ]; then + srcdir='..' + else + (echo "\ +${progname}: Neither the current directory nor its parent seem to +contain the XEmacs sources. If you do not want to build XEmacs in its +source tree, you should run \`${progname}' in the directory in which +you wish to build XEmacs, using its \`--srcdir' option to say where the +sources may be found." + echo "${short_usage}") >&2 + exit 1 + fi + fi + fi + ;; + + ## Otherwise, check if the directory they specified is okay. + * ) + if [ ! -d "${srcdir}" -o ! -f "${srcdir}/src/lisp.h" -o ! -f "${srcdir}/lisp/version.el" ]; then + (echo "\ +${progname}: The directory specified with the \`--srcdir' option, +\`${srcdir}', doesn't seem to contain the XEmacs sources. You should +either run the \`${progname}' script at the top of the XEmacs source +tree, or use the \`--srcdir' option to specify where the XEmacs sources +are." + echo "${short_usage}") >&2 + exit 1 + fi + ;; +esac + +## We check for this now instead of later when we check for other +## programs because we need to use its return value now. +] AC_LN_S + +AC_VERBOSE("setting LN_S to ${LN_S}") +[ +#### Make symlinks for etc, lisp, and info directories while the path +#### is still relative. We don't symlink lock because someone may +#### have stuck the source on a read-only partition. Instead we'll +#### create it as an actual directory later on if it doesn't already +#### exist. +for dir in etc lisp info +do + if [ ! -d $dir ]; then + echo Making symbolic link to ${srcdir}/$dir + ${LN_S} ${srcdir}/$dir . + fi +done + +#### Make srcdir absolute, if it isn't already. It's important to +#### avoid running the path through pwd unnecessary, since pwd can +#### give you automounter prefixes, which can go away. +case "${srcdir}" in + /* ) ;; + . ) + ## We may be able to use the $PWD environment variable to make this + ## absolute. But sometimes PWD is inaccurate. + if [ "${PWD}" != "" ] && [ "`(cd ${PWD} ; sh -c pwd)`" = "`pwd`" ] ; then + srcdir="$PWD" + else + srcdir="`(cd ${srcdir}; pwd)`" + fi + ;; + * ) srcdir="`(cd ${srcdir}; pwd)`" ;; +esac + +#### Check if the source directory already has a configured system in it. +if [ `pwd` != `sh -c cd ${srcdir} && pwd` ] \ + && [ -f "${srcdir}/src/config.h" ] ; then + (echo "${progname}: WARNING: The directory tree \`${srcdir}' is being used" + echo " as a build directory right now; it has been configured in its own" + echo " right. To configure in another directory as well, you MUST" + echo " use GNU make. If you do not have GNU make, then you must" + echo " now do \`make distclean' in ${srcdir}," + echo " and then run ${progname} again.") >&2 + extrasub='/^VPATH[ ]*=/c\ +vpath %.c $(srcdir)\ +vpath %.h $(srcdir)\ +vpath %.y $(srcdir)\ +vpath %.l $(srcdir)\ +vpath %.s $(srcdir)\ +vpath %.in $(srcdir)' +fi + +### Make the necessary directories, if they don't exist. +for dir in ./src ./lib-src ./dynodump ./man ./lwlib ./lock ; do + if [ ! -d ${dir} ]; then + mkdir ${dir} + fi +done +if [ "${with_energize}" = "yes" ] && [ ! -d ./lwlib/energize ] ; then + mkdir ./lwlib/energize +fi + +############################################################################ +# # +# Determine the s&m files to use # +# # +############################################################################ + +#### Given the configuration name, set machfile and opsysfile to the +#### names of the m/*.h and s/*.h files we should use. + +### Canonicalize the configuration name. +echo "checking the configuration name" +# allow -energize prefix on configuration name +internal_configuration=`echo ${configuration} | sed 's/-energize//'` +# allow --sparcworks prefix on configuration name +internal_configuration=`echo ${configuration} | sed 's/-sparcworks//'` +if canonical=`${srcdir}/config.sub "${internal_configuration}"` ; then : ; else + exit $? +fi + +### If you add support for a new configuration, add code to this +### switch statement to recognize your configuration name and select +### the appropriate operating system and machine description files. + +### You would hope that you could choose an m/*.h file pretty much +### based on the machine portion of the configuration name, and an s- +### file based on the operating system portion. However, it turns out +### that each m/*.h file is pretty manufacturer-specific - for +### example, apollo.h, hp9000s300.h, mega68k, news.h, and tad68k are +### all 68000 machines; mips.h, pmax.h, and news-risc are all MIPS +### machines. So we basically have to have a special case for each +### configuration name. +### +### As far as handling version numbers on operating systems is +### concerned, make sure things will fail in a fixable way. If +### /etc/MACHINES doesn't say anything about version numbers, be +### prepared to handle anything reasonably. If version numbers +### matter, be sure /etc/MACHINES says something about it. +### +### Eric Raymond says we should accept strings like "sysvr4" to mean +### "System V Release 4"; he writes, "The old convention encouraged +### confusion between `system' and `release' levels'." + +machine='' opsys='' unported=no need_dynodump=no +case "${canonical}" in + + ## NetBSD ports + *-*-netbsd* ) + opsys=netbsd + case "${canonical}" in + sparc-*-netbsd*) machine=sparc ;; + i[3-9]86-*-netbsd*) machine=intel386 ;; + hp300-*-netbsd* | amiga-*-netbsd* | sun3-*-netbsd* | mac68k-*-netbsd* | da30-*-netbsd* | m68k-*-netbsd* ) + # Yes, this is somewhat bogus. + machine=hp9000s300 ;; + pc532-*-netbsd* | ns32k-*-netbsd* ) machine=ns32000 ;; + pmax-*-netbsd* | mips-*-netbsd* ) machine=pmax ;; + esac + ;; + + ## Acorn RISCiX: + arm-acorn-riscix1.1* ) + machine=acorn opsys=riscix1-1 + ;; + arm-acorn-riscix1.2* | arm-acorn-riscix ) + machine=acorn opsys=riscix1-2 + ;; + + ## Alliant machines + ## Strictly speaking, we need the version of the alliant operating + ## system to choose the right machine file, but currently the + ## configuration name doesn't tell us enough to choose the right + ## one; we need to give alliants their own operating system name to + ## do this right. When someone cares, they can help us. + fx80-alliant-* ) + machine=alliant4 opsys=bsd4-2 + ;; + i860-alliant-* ) + machine=alliant-2800 opsys=bsd4-3 + ;; + + ## Alpha (DEC) machines. + ## XEmacs change: split apart into numerous files. + alpha-dec-osf1.3 | alpha-dec-osf2* ) + machine=alpha opsys=decosf1-3 + ;; + alpha-dec-osf1.2 | alpha-dec-osf1* ) + machine=alpha opsys=decosf1-2 + ;; + + ## XEmacs: Add switch for OSF 1 version 3 (roth@cse.ucsc.edu) + alpha-dec-osf3.[2-9] ) + machine=alpha opsys=decosf3-2 + ;; + alpha-dec-osf3* ) + machine=alpha opsys=decosf3-1 + ;; + + ## XEmacs: Add switch for Digital Unix version 4 (srivasta@pilgrim.umass.edu) + alpha-dec-osf4* ) + machine=alpha opsys=decosf4-0 + ;; + + alpha-*-linux* ) + machine=alpha opsys=linux + ;; + + ## Altos 3068 + m68*-altos-sysv* ) + machine=altos opsys=usg5-2 + ;; + + ## Amdahl UTS + 580-amdahl-sysv* ) + machine=amdahl opsys=usg5-2-2 + ;; + + ## Apollo, Domain/OS + m68*-apollo-* ) + machine=apollo opsys=bsd4-3 + ;; + + ## AT&T 3b2, 3b5, 3b15, 3b20 + we32k-att-sysv* ) + machine=att3b opsys=usg5-2-2 + ;; + + ## AT&T 3b1 - The Mighty Unix PC! + m68*-att-sysv* ) + 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 + ;; + + ## Bull sps7 + m68*-bull-sysv2* ) + machine=sps7 opsys=usg5-2 + ;; + + ## CCI 5/32, 6/32 -- see "Tahoe". + + ## Celerity + ## I don't know what configuration name to use for this; config.sub + ## doesn't seem to know anything about it. Hey, Celerity users, get + ## in touch with us! + celerity-celerity-bsd* ) + machine=celerity opsys=bsd4-2 + ;; + + ## Clipper + ## What operating systems does this chip run that XEmacs has been + ## tested on? + clipper-* ) + machine=clipper + ## We'll use the catch-all code at the bottom to guess the + ## operating system. + ;; + + ## Convex + *-convex-bsd* | *-convex-convexos* ) + machine=convex opsys=bsd4-3 + ## Prevents spurious white space in makefiles - d.m.cooke@larc.nasa.gov + NON_GNU_CPP="cc -E -P" + ;; + + ## Cubix QBx/386 + i[3-9]86-cubix-sysv* ) + machine=intel386 opsys=usg5-3 + ;; + + ## Cydra 5 + cydra*-cydrome-sysv* ) + machine=cydra5 opsys=usg5-3 + ;; + + ## Data General AViiON Machines + m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* ) + machine=aviion opsys=dgux5-4r3 + ;; + m88k-dg-dgux5.4R2* | m88k-dg-dgux5.4.2* ) + machine=aviion opsys=dgux5-4r2 + ;; + m88k-dg-dgux* ) + machine=aviion opsys=dgux + ;; + + mips-dec-ultrix[0-3].* | mips-dec-ultrix4.0* | mips-dec-bsd4.2* ) + machine=pmax opsys=bsd4-2 + ;; + mips-dec-ultrix4.[12]* | mips-dec-bsd* ) + machine=pmax opsys=bsd4-3 + ;; + mips-dec-ultrix* ) + machine=pmax opsys=ultrix4-3 + ;; + mips-dec-osf* ) + machine=pmax opsys=osf1 + ;; + mips-dec-mach_bsd4.3* ) + machine=pmax opsys=mach-bsd4-3 + ;; + + ## Motorola Delta machines + m68k-motorola-sysv* | m68000-motorola-sysv* ) + machine=delta opsys=usg5-3 + if test -z "`type gnucc | grep 'not found'`" + then + if test -s /etc/167config + then CC="gnucc -m68040" + else CC="gnucc -m68881" + fi + else + if test -z "`type gcc | grep 'not found'`" + then CC=gcc + else CC=cc + fi + fi + ;; + m88k-motorola-sysv4* ) + # jbotte@bnr.ca says that UNIX_System_V <hostName> 4.0 R40V4.3 m88k mc88110 + # needs POSIX_SIGNALS and therefore needs usg5-4-2. + # I hope there are not other 4.0 versions for this machine + # which really need usg5-4 instead. + machine=delta88k opsys=usg5-4-2 + ;; + m88k-motorola-sysv* | m88k-motorola-m88kbcs* ) + machine=delta88k opsys=usg5-3 + ;; + + ## Dual machines + m68*-dual-sysv* ) + machine=dual opsys=usg5-2 + ;; + m68*-dual-uniplus* ) + machine=dual opsys=unipl5-2 + ;; + + ## Elxsi 6400 + elxsi-elxsi-sysv* ) + machine=elxsi opsys=usg5-2 + ;; + + ## Encore machines + ns16k-encore-bsd* ) + machine=ns16000 opsys=umax + ;; + + ## The GEC 93 - apparently, this port isn't really finished yet. + + ## Gould Power Node and NP1 + pn-gould-bsd4.2* ) + machine=gould opsys=bsd4-2 + ;; + pn-gould-bsd4.3* ) + machine=gould opsys=bsd4-3 + ;; + np1-gould-bsd* ) + machine=gould-np1 opsys=bsd4-3 + ;; + + ## Harris Night Hawk machines running CX/UX (a 5000 looks just like a 4000 + ## as far as XEmacs 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 + 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* ) + machine=xps100 opsys=usg5-2 + ;; + + ## HP 9000 series 200 or 300 + m68*-hp-bsd* ) + machine=hp9000s300 opsys=bsd4-3 + ;; + ## HP/UX 7, 8, 9, and 10 are supported on these machines. + m68*-hp-hpux* ) + NON_GNU_CPP="cc -Aa -E" + NON_GNU_CC="cc -Aa" + case "`uname -r`" in + ## Someone's system reports A.B8.05 for this. + ## I wonder what other possibilities there are. + *.B8.* ) machine=hp9000s300 opsys=hpux8 ;; + *.08.* ) machine=hp9000s300 opsys=hpux8 ;; + *.09.* ) machine=hp9000s300 opsys=hpux9 ;; + *.10.* ) machine=hp9000s300 opsys=hpux10 ;; + *) machine=hp9000s300 opsys=hpux ;; + esac + ;; + + ## HP 9000 series 700 and 800, running HP/UX + ## XEmacs changes here for shared. + hppa*-hp-hpux7* ) + machine=hp800 opsys=hpux NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa" + ;; + hppa*-hp-hpux8shr* ) + machine=hp800 opsys=hpux8shr NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa" + ;; + hppa*-hp-hpux8* ) + machine=hp800 opsys=hpux8 NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa" + ;; + hppa*-hp-hpux9shr* ) + machine=hp800 opsys=hpux9shr NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa" + ;; + hppa*-hp-hpux9* ) + machine=hp800 opsys=hpux9 NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa" + ;; + hppa*-hp-hpux10shr* ) + machine=hp800 opsys=hpux10shr NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa" + ;; + hppa*-hp-hpux10* ) + machine=hp800 opsys=hpux10 NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa" + ;; + + ## HP 9000 series 700 and 800, running HP/UX + hppa*-hp-hpux* ) + NON_GNU_CPP="cc -Aa -E" NON_GNU_CC="cc -Aa" + ## Cross-compilation? Nah! + case "`uname -r`" in + ## Someone's system reports A.B8.05 for this. + ## I wonder what other possibilities there are. + *.B8.* ) machine=hp800 opsys=hpux8 ;; + *.08.* ) machine=hp800 opsys=hpux8 ;; + *.09.* ) machine=hp800 opsys=hpux9 ;; + *.10.* ) machine=hp800 opsys=hpux10 ;; + *) machine=hp800 opsys=hpux ;; + esac + ;; + hppa-*-nextstep* ) + machine=hp800 opsys=nextstep + ;; + + ## Orion machines + orion-orion-bsd* ) + machine=orion opsys=bsd4-2 + ;; + clipper-orion-bsd* ) + machine=orion105 opsys=bsd4-2 + ;; + + ## IBM machines + i[3-9]86-ibm-aix1.1* ) + machine=ibmps2-aix opsys=usg5-2-2 + ;; + i[3-9]86-ibm-aix1.[23]* | i[3-9]86-ibm-aix* ) + machine=ibmps2-aix opsys=usg5-3 + ;; + i370-ibm-aix*) + machine=ibm370aix opsys=usg5-3 + ;; + rs6000-ibm-aix3.1* | powerpc-ibm-aix3.1* ) + machine=ibmrs6000 opsys=aix3-1 + ;; + rs6000-ibm-aix3.2.5 | powerpc-ibm-aix3.2.5 ) + machine=ibmrs6000 opsys=aix3-2-5 + ;; + rs6000-ibm-aix4.1* | powerpc-ibm-aix4.1* ) + machine=ibmrs6000 opsys=aix4-1 + ;; + rs6000-ibm-aix4* | powerpc-ibm-aix4* ) + machine=ibmrs6000 opsys=aix4 + ;; + rs6000-ibm-aix* | powerpc-ibm-aix* ) + machine=ibmrs6000 opsys=aix3-2 + ;; + 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 + ;; + romp-ibm-aos* ) + machine=ibmrt opsys=bsd4-3 + ;; + romp-ibm-bsd* ) + machine=ibmrt opsys=bsd4-3 + ;; + romp-ibm-aix* ) + machine=ibmrt-aix opsys=usg5-2-2 + ;; + romp-ibm-mach* ) + machine=ibmrt opsys=mach-bsd4-3 + ;; + + ## Integrated Solutions `Optimum V' + m68*-isi-bsd4.2* ) + machine=isi-ov opsys=bsd4-2 + ;; + m68*-isi-bsd4.3* ) + machine=isi-ov opsys=bsd4-3 + ;; + + ## Intel 386 machines where we do care about the manufacturer + i[3-9]86-intsys-sysv* ) + machine=is386 opsys=usg5-2-2 + ;; + + ## Prime EXL + i[3-9]86-prime-sysv* ) + machine=i386 opsys=usg5-3 + ;; + + ## Sequent Symmetry running Dynix + i[3-9]86-sequent-bsd* ) + machine=symmetry opsys=bsd4-3 + ;; + + ## Sequent Symmetry running DYNIX/ptx + ## Use the old cpp rather than the newer ANSI one. + i[3-9]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[3-9]86-ncr-sysv* ) + machine=ncr386 opsys=usg5-4-2 + ;; + + ## Intel Paragon OSF/1 + i860-intel-osf1* ) + machine=paragon opsys=osf1 NON_GNU_CPP=/usr/mach/lib/cpp + ;; + + ## Intel 860 + i860-*-sysv4* ) + machine=i860 opsys=usg5-4 + NON_GNU_CC="/bin/cc" # Ie, not the one in /usr/ucb/cc. + NON_GNU_CPP="/usr/ccs/lib/cpp" # cc -E tokenizes macro expansion. + ;; + + ## Masscomp machines + m68*-masscomp-rtu* ) + machine=masscomp opsys=rtu + ;; + + ## Megatest machines + m68*-megatest-bsd* ) + machine=mega68 opsys=bsd4-2 + ;; + + ## Workstations sold by MIPS + ## This is not necessarily all workstations using the MIPS processor - + ## Irises are produced by SGI, and DECstations by DEC. + + ## etc/MACHINES lists mips.h and mips4.h as possible machine files, + ## and usg5-2-2 and bsd4-3 as possible OS files. The only guidance + ## it gives for choosing between the alternatives seems to be "Use + ## -machine=mips4 for RISCOS version 4; use -opsystem=bsd4-3 with + ## the BSD world." I'll assume that these are instructions for + ## handling two odd situations, and that every other situation + ## should use mips.h and usg5-2-2, they being listed first. + mips-mips-usg* ) + machine=mips4 + ## Fall through to the general code at the bottom to decide on the OS. + ;; + mips-mips-riscos4* ) + machine=mips4 opsys=bsd4-3 + NON_GNU_CC="cc -systype bsd43" + NON_GNU_CPP="cc -systype bsd43 -E" + ;; + mips-mips-riscos5* ) + machine=mips4 opsys=riscos5 + NON_GNU_CC="cc -systype bsd43" + NON_GNU_CPP="cc -systype bsd43 -E" + ;; + mips-mips-bsd* ) + machine=mips opsys=bsd4-3 + ;; + mips-mips-* ) + machine=mips opsys=usg5-2-2 + ;; + + ## NeXT + m68*-next-* | m68k-*-nextstep* ) + machine=m68k opsys=nextstep + ;; + + ## The complete machine from National Semiconductor + ns32k-ns-genix* ) + machine=ns32000 opsys=usg5-2 + ;; + + ## NCR machines + m68*-ncr-sysv2* | m68*-ncr-sysvr2* ) + machine=tower32 opsys=usg5-2-2 + ;; + m68*-ncr-sysv3* | m68*-ncr-sysvr3* ) + machine=tower32v3 opsys=usg5-3 + ;; + + ## Nixdorf Targon 31 + m68*-nixdorf-sysv* ) + machine=targon31 opsys=usg5-2-2 + ;; + + ## Nu (TI or LMI) + m68*-nu-sysv* ) + machine=nu opsys=usg5-2 + ;; + + ## Plexus + m68*-plexus-sysv* ) + machine=plexus opsys=usg5-2 + ;; + + ## Pyramid machines + ## I don't really have any idea what sort of processor the Pyramid has, + ## so I'm assuming it is its own architecture. + pyramid-pyramid-bsd* ) + machine=pyramid opsys=bsd4-2 + ;; + + ## Sequent Balance + ns32k-sequent-bsd4.2* ) + machine=sequent opsys=bsd4-2 + ;; + ns32k-sequent-bsd4.3* ) + machine=sequent opsys=bsd4-3 + ;; + + ## Siemens Nixdorf + 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 + ;; + + ## Silicon Graphics machines + ## Iris 2500 and Iris 2500 Turbo (aka the Iris 3030) + m68*-sgi-iris3.5* ) + machine=irist opsys=iris3-5 + ;; + m68*-sgi-iris3.6* | m68*-sgi-iris*) + machine=irist opsys=iris3-6 + ;; + ## Iris 4D + mips-sgi-irix3.* ) + machine=iris4d opsys=irix3-3 + ;; + mips-sgi-irix4.* ) + machine=iris4d opsys=irix4-0 + ;; + mips-sgi-irix6* ) + machine=iris4d opsys=irix6-0 NON_GNU_CPP=/lib/cpp + ;; + mips-sgi-irix5.[3-9]* ) + machine=iris4d opsys=irix5-3 + ;; + mips-sgi-irix5.2* ) + machine=iris4d opsys=irix5-2 + ;; + mips-sgi-irix5.1* ) + machine=iris4d opsys=irix5-1 + ;; + mips-sgi-irix5.* | mips-sgi-irix* ) + machine=iris4d opsys=irix5-0 + ;; + + ## SONY machines + m68*-sony-bsd4.2* ) + machine=news opsys=bsd4-2 + ;; + m68*-sony-bsd4.3* ) + machine=news opsys=bsd4-3 + ;; + m68*-sony-newsos3* | m68*-sony-news3*) + machine=news opsys=bsd4-3 + ;; + mips-sony-bsd* | mips-sony-newsos4* | mips-sony-news4*) + machine=news-risc opsys=bsd4-3 + ;; + mips-sony-news* ) + machine=news-risc opsys=newsos5 + ;; + + ## Stride + m68*-stride-sysv* ) + machine=stride opsys=usg5-2 + ;; + + ## Suns + sparc-*-linux* ) + machine=sparc opsys=linux + ;; + + *-*-solaris* | *-*-sunos* | *-sun-mach* | *-sun-bsd* ) + # Hardware type + case "${canonical}" in + m68*-sunos1* ) machine=sun1 ;; + m68*-sunos2* ) machine=sun2 ;; + m68* ) machine=sun3 ;; + i[3-9]86*-sun-sunos[34]* ) machine=sun386 ;; + i[3-9]86-*-* ) machine=intel386 ;; + rs6000* ) machine=rs6000 ;; + sparc* ) machine=sparc ;; + powerpc* ) machine=powerpc ;; + * ) unported=yes ;; + esac + + # Make `canonical' even more so. + case "${canonical}" in *-sunos5*) + canonical="`echo \"${canonical}\" | sed -e s/sunos5/solaris2/`"; + esac + + # On SunOS 4, use /usr/lib/cpp, sans dynodump, /bin/ranlib + # On SunOS 5, use /usr/ccs/lib/cpp, need dynodump, RANLIB not needed + # But, SunOS 5.6 no longer needs dynodump because it has a similar + # function integrated. + case "${canonical}" in + *-sunos4* ) + test -x /usr/lib/cpp && NON_GNU_CPP=/usr/lib/cpp ;; + *-solaris2.6* ) + test -x /usr/ccs/lib/cpp && NON_GNU_CPP=/usr/ccs/lib/cpp + RANLIB=':' + need_dynodump=no ;; + *-solaris2* ) + test -x /usr/ccs/lib/cpp && NON_GNU_CPP=/usr/ccs/lib/cpp + RANLIB=':' + need_dynodump=yes ;; + esac + + # (NON)?_GCC_TEST_OPTIONS variables are unused. + # What were they supposed to do, exactly? + # case "${canonical}" in + # *-sunos4* ) GCC_TEST_OPTIONS=-static NON_GCC_TEST_OPTIONS=-bstatic ;; + # esac + + # FSF 19.31 has NON_GNU_CPP=/usr/lib/cpp for SunOS 4.x. + + case "${canonical}" in + ## The Sun386 didn't get past 4.0. + i[3-9]86-*-sunos4 ) opsys=sunos4-0 ;; + *-sunos4.0* ) opsys=sunos4-0 ;; + *-sunos4.1.2* ) opsys=sunos4-1-2 ;; + *-sunos4.1.[3-9]* ) opsys=sunos4-1-3 ;; + *-sunos4shr* ) opsys=sunos4-0shr ;; + *-sunos4-0shr* ) opsys=sunos4-0shr ;; + *-sunos4-1shr* ) opsys=sunos4-1shr ;; + *-sunos4-1-2shr* ) opsys=sunos4-1-2shr ;; + *-sunos4-1-[3-9]shr* ) opsys=sunos4-1-3shr ;; + *-sunos4* | *-sunos ) opsys=sunos4-1 ;; + + *-solaris2.3* ) opsys=sol2-3 ;; + *-solaris2.4* ) opsys=sol2-4 ;; + *-solaris2.5* ) opsys=sol2-5 ;; + *-solaris2.[6-9]* ) opsys=sol2-6 ;; + *-solaris* ) opsys=sol2 ;; + *-mach* ) opsys=mach-bsd4-3 ;; + * ) 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 opsys=nextstep + ;; + + ## Tadpole 68k + m68*-tadpole-sysv* ) + machine=tad68k opsys=usg5-3 + ;; + + ## Tahoe machines + tahoe-tahoe-bsd4.2* ) + machine=tahoe opsys=bsd4-2 + ;; + tahoe-tahoe-bsd4.3* ) + machine=tahoe opsys=bsd4-3 + ;; + + ## Tandem Integrity S2 + mips-tandem-sysv* ) + machine=tandem-s2 opsys=usg5-3 + ;; + + ## Tektronix XD88 + m88k-tektronix-sysv3* ) + machine=tekxd88 opsys=usg5-3 + ;; + + ## Tektronix 16000 box (6130?) + ns16k-tektronix-bsd* ) + machine=ns16000 opsys=bsd4-2 + ;; + ## Tektronix 4300 + ## src/m/tek4300.h hints that this is a m68k machine. + m68*-tektronix-bsd* ) + machine=tek4300 opsys=bsd4-3 + ;; + + ## Titan P2 or P3 + ## We seem to have lost the machine-description file titan.h! + titan-titan-sysv* ) + machine=titan opsys=usg5-3 + ;; + + ## Ustation E30 (SS5E) + m68*-unisys-uniplus* ) + machine=ustation opsystem=unipl5-2 + ;; + + ## Vaxen. + vax-dec-* ) + machine=vax + case "${canonical}" in + *-bsd4.1* ) opsys=bsd4-1 ;; + *-bsd4.2* | *-ultrix[0-3].* | *-ultrix4.0* ) opsys=bsd4-2 ;; + *-bsd4.3* | *-ultrix* ) opsys=bsd4-3 ;; + *-sysv[01]* | *-sysvr[01]* ) opsys=usg5-0 ;; + *-sysv2* | *-sysvr2* ) opsys=usg5-2 ;; + *-vms* ) opsys=vms ;; + *-mach* ) opsys=mach-bsd4-3 ;; + * ) unported=yes + esac + ;; + + ## Whitechapel MG1 + ns16k-whitechapel-* ) + machine=mg1 + ## We don't know what sort of OS runs on these; we'll let the + ## operating system guessing code below try. + ;; + + ## Wicat + m68*-wicat-sysv* ) + machine=wicat opsys=usg5-2 + ;; + + ## Intel 386 machines where we don't care about the manufacturer + i[3-9]86-*-* ) + machine=intel386 + case "${canonical}" in + *-isc1.* | *-isc2.[01]* ) opsys=386-ix ;; + *-isc2.2* ) opsys=isc2-2 ;; + *-isc4.0* ) opsys=isc4-0 ;; + *-isc4.* ) opsys=isc4-1 + GCC_TEST_OPTIONS=-posix + NON_GCC_TEST_OPTIONS=-Xp + ;; + *-isc* ) opsys=isc3-0 ;; + *-esix5* ) opsys=esix5r4; NON_GNU_CPP=/usr/lib/cpp ;; + *-esix* ) opsys=esix ;; + *-mach* ) opsys=mach-bsd4-3 ;; + *-xenix* ) opsys=xenix ;; + *-linux* ) opsys=linux ;; + *-sco3.2v4* ) opsys=sco4 ; NON_GNU_CPP=/lib/cpp ;; + *-bsd386* | *-bsdi1* ) opsys=bsd386 ;; + *-bsdi2.1* ) opsys=bsdos2-1 ;; + *-bsdi2* ) opsys=bsdos2 ;; + *-sco3.2v5* ) opsys=sco5 ; + ## This is a pain. Like the current USL cc, SCO's cc -E + ## tokenizes as it preprocesses, making configure very + ## unhappy. Unfortunately, /lib/cpp doesn't understand + ## flags like "-b elf", so we have to cheat in order to + ## pick up the right defines for UNEXEC from the s-file. + ## 01/05/95 robertl@dgii.com + if [ "${dynamic}" = "yes" ]; then + NON_GNU_CPP="/lib/cpp -D_XOPEN_SOURCE -D_SCO_ELF" ; + else + NON_GNU_CPP="/lib/cpp -D_XOPEN_SOURCE" ; + fi ;; + *-386bsd* ) opsys=386bsd ;; + *-freebsd* ) opsys=freebsd ;; + *-nextstep* ) opsys=nextstep ;; + ## Otherwise, we'll fall through to the generic opsys code at the bottom. + esac + ;; + + ## Linux/68k + m68k-*-linux* ) + machine=m68k opsys=linux + ;; + + * ) + unported=yes + ;; +esac + +### If the code above didn't choose an operating system, just choose +### an operating system based on the configuration name. You really +### only want to use this when you have no idea what the right +### operating system is; if you know what operating systems a machine +### runs, it's cleaner to make it explicit in the case statement +### above. +if [ x"${opsys}" = x ]; then + case "${canonical}" in + *-gnu* ) opsys=gnu ;; + *-bsd4.[01] ) opsys=bsd4-1 ;; + *-bsd4.2 ) opsys=bsd4-2 ;; + *-bsd4.3 ) opsys=bsd4-3 ;; + *-sysv0 | *-sysvr0 ) opsys=usg5-0 ;; + *-sysv2 | *-sysvr2 ) opsys=usg5-2 ;; + *-sysv2.2 | *-sysvr2.2 ) opsys=usg5-2-2 ;; + *-sysv3* | *-sysvr3* ) opsys=usg5-3 ;; + *-sysv4.1* | *-sysvr4.1* ) + NON_GNU_CPP=/usr/lib/cpp + opsys=usg5-4 ;; + *-sysv4.[2-9]* | *-sysvr4.[2-9]* ) + if [ x$NON_GNU_CPP = x ]; then + 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 ;; + * ) + unported=yes + ;; + esac +fi + +if test "x$RANLIB" = x; then + RANLIB=ranlib +fi + +if test ${unported} = yes; then + (echo "${progname}: XEmacs hasn't been ported to \`${canonical}' systems." + echo "${progname}: Check \`etc/MACHINES' for recognized configuration names." + ) >&2 + exit 1 +fi + +if [ "${dynamic}" = "yes" ]; then + case "${opsys}" in + hpux8 ) opsys=hpux8shr ;; + hpux9 ) opsys=hpux9shr ;; + hpux10 ) opsys=hpux10shr ;; + sunos4-0 ) opsys=sunos4-0shr ;; + sunos4-1 ) opsys=sunos4-1shr ;; + sunos4-1-2 ) opsys=sunos4-1-2shr ;; + sunos4-1-3 ) opsys=sunos4-1-3shr ;; + sco5 ) opsys=sco5-shr ;; + esac +elif [ "${dynamic}" = "no" ]; then + case "${opsys}" in + sol2 ) opsys=sol2-static ;; + sol2-3 ) opsys=sol2-3-static ;; + sol2-4 ) opsys=sol2-4-static ;; + decosf1-3 ) opsys=decosf1-3-static ;; + decosf3-1 ) opsys=decosf3-1-static ;; + decosf3-2 ) opsys=decosf3-2-static ;; + linux ) opsys=linux-static ;; + esac +fi + +dynodump_arch='' +if [ "${need_dynodump}" = "yes" ]; then + case "${canonical}" in + sparc* ) dynodump_arch=sparc ;; + powerpc* ) dynodump_arch=ppc ;; + i[3-9]86* ) dynodump_arch=i386 ;; + esac +fi + +machfile="m/${machine}.h" +opsysfile="s/${opsys}.h" + + +############################################################################ +# # +# Determine the compiler, set up for feature testing # +# # +############################################################################ + +] +dnl ----------------------------------------------------------------------- +dnl Let's do a couple of macro (re)definitions. +dnl +dnl First we redefine AC_TEST_CPP so that we can see the error output +dnl from preprocessor runs. This definition is identical to the standard +dnl one supplied by Autoconf 1.11 extra for the extra_verbose check. +dnl +dnl Note that we *must* include the brackets around the macro definition +dnl name here. Autoconf has redefined the quoting characters to be brackets, +dnl and if we don't supply them, the original definition will get +dnl substituted in place of the macro name! +dnl +define([AC_TEST_CPP], +[AC_REQUIRE_CPP()dnl +cat > conftest.${ac_ext} <<EOF +#include "confdefs.h" +[$1] +EOF +# Some shells (Coherent) do redirections in the wrong order, so need +# the parens. +# The exec was added by Mly to make this work under BSDI +ac_err=`eval "(exec $ac_cpp conftest.${ac_ext} >/dev/null) 2>&1"` +# Use test here, not brackets, to avoid strange autoconf-quoting lossage. +if test "${extra_verbose}" = "yes" && test -n "$ac_err"; then + echo "$ac_err" +fi +if test -z "$ac_err"; then + ifelse([$2], , :, [rm -rf conftest* + $2 +]) +ifelse([$3], , , [else + rm -rf conftest* + $3 +])dnl +fi +rm -f conftest*])dnl +dnl +dnl Second, a macro of our own: +dnl Subroutine to find version of X being used +dnl It can't use xmkmf because the first version in the user's path +dnl may not belong to the version of X that is being built with +define(AC_FIND_X_VERSION, +[AC_CHECKING(the version of X11 being used) +cat > conftest.${ac_ext} <<EOF +#include <X11/Intrinsic.h> +int main() { +#if (XlibSpecificationRelease == 4) + printf ("X11R4\n"); +#elif (XlibSpecificationRelease == 5) + printf ("X11R5\n"); +#elif (XlibSpecificationRelease == 6) + printf ("X11R6\n"); +#elif (XtSpecificationRelease == 4) + printf ("X11R4\n"); +#endif + return 0; +} +EOF +dnl We need to run this which will prevent cross-configuring. But since +dnl we can't do that anyhow, oh darn. +ac_save_LIBS="${LIBS}" +LIBS="${LIBS} ${DEFS}" +if eval $ac_compile; then + ac_find_x_version=`./conftest` + [ + if [ "$ac_find_x_version" = "X11R4" ]; then + ] AC_DEFINE(THIS_IS_X11R4) [ + elif [ "$ac_find_x_version" = "X11R5" ]; then + ] AC_DEFINE(THIS_IS_X11R5) [ + elif [ "$ac_find_x_version" = "X11R6" ]; then + ] AC_DEFINE(THIS_IS_X11R6) [ + fi + ] +fi +LIBS=$ac_save_LIBS +rm -f conftest*] +)dnl +dnl ----------------------------------------------------------------------- +AC_LANG_C +AC_PREPARE(lisp) +AC_CONFIG_HEADER(src/config.h) + +[ + +if [ "${extra_verbose}" = "yes" ] ; then +# This is identical to the version that A\C_LANG_C generates except that +# it omits the redirection of all output to /dev/null. + ac_compile='${CC-cc} $CFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS' +fi + +#### Choose a compiler. +if [ "x$CC" = x ] ; then + cc_specified=1 +fi + +# Save the value of CFLAGS that the user specified. +SPECIFIED_CFLAGS="$CFLAGS" + +if [ "${with_gcc}" = "yes" ] ; then + CC="${compiler-gcc}" + GCC=1 +elif [ "${with_lcc}" = "yes" ] ; then + CC="${compiler-lcc}" + dash_r_space=' ' # this bullshit is here because lcc for solaris + # will not accept -Rargument. + # It needs -R argument instead. Yuck yuck yuck. + if [ "x$NON_GNU_CPP" = x ] ; then + NON_GNU_CPP="yes" # this is handled specially below... + fi +elif [ "${compiler}" != "" ] ; then + CC="${compiler}" +elif [ "${with_gcc}" = "no" ] ; then + CC="cc" +elif [ "${with_lcc}" = "no" ] ; then + if [ "x$CC" = x ] + then CC=cc; + else true; + fi +else + case "${canonical}" in + * ) + ] AC_PROG_CC [ + if [ "${CC}" = "gcc" ] ; then + with_gcc="yes" + GCC=1 + fi + ;; + esac +fi + +# On Suns, sometimes $CPP names a directory. +if [ -n "$CPP" ] && [ -d "$CPP" ] ; then + CPP= +fi + +#### 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 ] +then true +else + if [ "x$CPP" = x ]; then + if [ "${with_lcc}" = "yes" ] && [ "${NON_GNU_CPP}" = "yes" ] ; then + CPP='gcc -E -traditional' # cross fingers and hope it's there.... + else + CPP="$NON_GNU_CPP" + fi + fi +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 ] || [ x$cc_specified = x1 ] +then true +else + CC="$NON_GNU_CC" +fi + +## Huh? I commented out the following because it always enabled +## the "test" options, whatever the hell those are supposed to be +## for, and the result is that SunOS builds were always static. + +#if [ x$GCC = x1 ] && [ "x$GCC_TEST_OPTIONS" != x ] +#then +# CC="$CC $GCC_TEST_OPTIONS" +#fi +# +#if [ x$GCC = x ] && [ "x$NON_GCC_TEST_OPTIONS" != x ] +#then +# CC="$CC $NON_GCC_TEST_OPTIONS" +#fi + +############################################################################ +# # +# Do some misc autoconf-special tests # +# # +############################################################################ + +#### 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 +#### #undef clause to src/config.h.in for autoconf to modify. +] +dnl checks for programs +AC_PROG_CPP +[ +case "${canonical}" in + *-sun-sunos* ) + if [ "${CPP}" = "acc -E" ] ; then + CPP="acc -E -Xs" + fi + ;; +esac +] +AC_PROG_RANLIB +AC_PROG_INSTALL +AC_PROG_YACC + +dnl checks for UNIX variants +AC_AIX + +dnl checks for header files +AC_HAVE_HEADERS(mach/mach.h sys/stropts.h sys/timeb.h sys/time.h unistd.h utime.h sys/wait.h libintl.h locale.h libgen.h linux/version.h) +AC_STDC_HEADERS +AC_TIME_WITH_SYS_TIME +AC_SYS_SIGLIST_DECLARED + +dnl Some systems have utime.h but don't declare the struct anyplace. +AC_COMPILE_CHECK(struct utimbuf, +[#ifdef TIME_WITH_SYS_TIME +#include <sys/time.h> +#include <time.h> +#else +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#else +#include <time.h> +#endif +#endif +#ifdef HAVE_UTIME_H +#include <utime.h> +#endif], [static struct utimbuf x; x.actime = x.modtime;], + AC_DEFINE(HAVE_STRUCT_UTIMBUF)) + +dnl checks for typedefs +AC_RETSIGTYPE + +AC_COMPILE_CHECK(struct timeval, +[#ifdef TIME_WITH_SYS_TIME +#include <sys/time.h> +#include <time.h> +#else +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#else +#include <time.h> +#endif +#endif], [static struct timeval x; x.tv_sec = x.tv_usec;], [ + HAVE_TIMEVAL=yes + AC_DEFINE(HAVE_TIMEVAL)], + [HAVE_TIMEVAL=no]) + +dnl checks for structure members +AC_STRUCT_TM +AC_TIMEZONE + +dnl checks for compiler characteristics +AC_CONST + +dnl check for Make feature +AC_SET_MAKE + +dnl check byte order +AC_WORDS_BIGENDIAN + +dnl check for long file names +AC_LONG_FILE_NAMES + +echo "checking for -xildoff compiler flag" +if ${CC-cc} '-###' -xildon no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then + if ${CC-cc} '-###' -xildoff no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then + : + else + AC_VERBOSE(defining NEED_XILDOFF) + need_xildoff=yes + fi +fi + +dnl other checks for UNIX variants +[ +# What the hell was this doing here?????? +### echo > confdefs.h # this gets nuked above... + +############################################################################ +# # +# Choose a window system # +# # +############################################################################ + +#### Choose a window system. +echo "checking for specified window system" + +window_system='' +case "${with_x11}" in + yes ) + window_system=${window_system}x11 + ;; + no ) + window_system=${window_system}none +esac + +case "${window_system}" in + "none" | "x11" ) ;; + "" ) + # --x-includes or --x-libraries implies --with-x11. + if [ -n "${x_includes}" ] || [ -n "${x_libraries}" ]; then + window_system=x11 + else + echo " No window system specified. Looking for X11." + # If the user didn't specify a window system and we found X11, use it. + if [ -r /usr/lib/libX11.a \ + -o -d /usr/include/X11 \ + -o -d /usr/X386/include \ + -o -d /usr/X11R6/include \ + -o -d ${x_includes}/X11 ]; then + window_system=x11 + fi + fi + ;; + * ) + echo "Don't specify a window system more than once." >&2 + exit 1 + ;; +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 + +if [ "${window_system}" = "none" ]; then + if [ "${with_tty}" != "yes" ]; then + echo "No window system support, and no TTY support." >&2 + echo "Unable to proceed." >&2 + exit 1 + fi + if [ "${with_epoch}" = "yes" ]; then + ] AC_WARN(--with-epoch ignored: Not valid without X support) [ + with_epoch='no' + fi + if [ "x${with_cde}" != x ]; then + ] AC_WARN(--with-cde ignored: Not valid without X support) [ + with_menubars='no' + fi + if [ "x${with_menubars}" != x ]; then + ] AC_WARN(--with-menubars ignored: Not valid without X support) [ + with_menubars='no' + fi + if [ "x${with_scrollbars}" != x ]; then + ] AC_WARN(--with-scrollbars ignored: Not valid without X support) [ + with_scrollbars='no' + fi + if [ "x${with_dialogs}" != x ]; then + ] AC_WARN(--with-dialogs ignored: Not valid without X support) [ + with_dialogs='no' + fi + if [ "x${with_toolbars}" != x ]; then + ] AC_WARN(--with-toolbars ignored: Not valid without X support) [ + with_toolbars='no' + fi + with_cde='no' + with_menubars='no' + with_scrollbars='no' + with_dialogs='no' + with_toolbars='no' +elif [ -z "${with_toolbars}" ] ; then + with_toolbars='yes' +fi + +case "${canonical}" in + *-sun-solaris* | *-sun-sunos5* ) add_runtime_flag=yes ;; +esac + +if [ -n "${x_libraries}" ]; then + if [ "${add_runtime_flag}" ]; then + LD_SWITCH_X_SITE="-L${x_libraries} -R${dash_r_space}${x_libraries}" + else + LD_SWITCH_X_SITE="-L${x_libraries}" + fi +fi +# LD_SWITCH_X_SITE_AUX (from FSF) is ill-conceived. See s/sol2*.h. +# [ -n "${x_libraries}" ] && LD_SWITCH_X_SITE_AUX="-R${x_libraries}" +[ -n "${x_includes}" ] && C_SWITCH_X_SITE="-I${x_includes}" + +if [ -n "${site_libraries}" ]; then + for arg in ${site_libraries} + do + LD_SWITCH_SITE="${LD_SWITCH_SITE} -L${arg}" + done +fi +if [ -n "${site_runtime_libraries}" ]; then + for arg in ${site_runtime_libraries} + do + LD_SWITCH_SITE="${LD_SWITCH_SITE} -L${arg}" + LD_SWITCH_SITE="${LD_SWITCH_SITE} -R${dash_r_space}${arg}" + done +fi +if [ -n "${site_includes}" ]; then + for arg in ${site_includes} + do + C_SWITCH_SITE="${C_SWITCH_SITE} -I${arg}" + CPP="${CPP} -I${arg}" + done +fi + +# FSF 19.29 has some bitmapdir stuff here. +bitmapdir= + +# Avoid forcing the search of /usr/include before fixed include files. +if [ "$C_SWITCH_X_SITE" = "-I/usr/include" ]; then + C_SWITCH_X_SITE=" " +fi + +# Need for check for audio/Xtutil.h. +CPP="${CPP} ${C_SWITCH_X_SITE}" + +case "${window_system}" in + x11 ) + HAVE_X_WINDOWS=yes + echo " Using X11." + ;; + none ) + HAVE_X_WINDOWS=no + echo " Using no window system." + ;; +esac + +if test "${opsys}" = "hpux9"; then + case "${x_libraries}" in + *X11R4* ) + opsysfile="s/hpux9-x11r4.h" + ;; + esac +fi + +if test "${opsys}" = "hpux9shr"; then + case "${x_libraries}" in + *X11R4* ) + opsysfile="s/hpux9shxr4.h" + ;; + esac +fi + +############################################################################ +# # +# Extract some information from the operating system and machine files # +# # +############################################################################ + +echo "examining the machine- and system-dependent files to find out" +echo " - which libraries the lib-src programs will want, and" +echo " - whether the GNU malloc routines are usable." + +### First figure out CFLAGS (which we use for running the compiler here) +### 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 +### as implying static linking. + +### If the CFLAGS env var is specified, we use that value +### instead of the default. + +### It's not important that this name contain the PID; you can't run +### two configures in the same directory and have anything work +### anyway. +tempcname="conftest.c" + +echo ' +#define NOT_C_CODE +#include "'${srcdir}'/src/'${opsysfile}'" +#include "'${srcdir}'/src/'${machfile}'" +#ifndef LIBS_MACHINE +#define LIBS_MACHINE +#endif +#ifndef LIBS_SYSTEM +#define LIBS_SYSTEM +#endif +#ifndef C_SWITCH_SYSTEM +#define C_SWITCH_SYSTEM +#endif +#ifndef C_SWITCH_X_SYSTEM +#define C_SWITCH_X_SYSTEM +#endif +#ifndef C_SWITCH_MACHINE +#define C_SWITCH_MACHINE +#endif +#ifndef LD_SWITCH_X_SYSTEM +#define LD_SWITCH_X_SYSTEM +#endif +#ifndef LIB_STANDARD +#define LIB_STANDARD +#endif +configure___ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM LIB_STANDARD +configure___ c_switch_system=C_SWITCH_SYSTEM +configure___ c_switch_x_system=C_SWITCH_X_SYSTEM +configure___ ld_switch_x_system=LD_SWITCH_X_SYSTEM +configure___ c_switch_machine=C_SWITCH_MACHINE + +#ifndef LIB_X11_LIB +#define LIB_X11_LIB -lX11 +#endif + +#ifndef LIBX11_MACHINE +#define LIBX11_MACHINE +#endif + +#ifndef LIBX11_SYSTEM +#define LIBX11_SYSTEM +#endif +configure___ LIBX=LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM + +#ifdef UNEXEC +configure___ unexec=UNEXEC +#else +configure___ unexec=unexec.o +#endif + +#ifdef SYSTEM_MALLOC +configure___ system_malloc=yes +#else +configure___ system_malloc=no +#endif + +#ifndef C_DEBUG_SWITCH +#define C_DEBUG_SWITCH -g +#endif + +#ifndef C_OPTIMIZE_SWITCH +#define C_OPTIMIZE_SWITCH -O +#endif + +#ifdef THIS_IS_CONFIGURE + +/* Get the CFLAGS for tests in configure. */ +#ifdef __GNUC__ +configure___ CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}' +#else +configure___ CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}' +#endif + +#else /* not THIS_IS_CONFIGURE */ + +/* Get the CFLAGS for real compilation. */ +#ifdef __GNUC__ +configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}' +#else +configure___ REAL_CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}' +#endif + +#endif /* not THIS_IS_CONFIGURE */ +' > ${tempcname} +# The value of CPP is a quoted variable reference, so we need to do this +# to get its actual value... +CPP=`eval "echo $CPP"` +eval `${CPP} -Isrc ${tempcname} \ + | grep 'configure___' \ + | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'` +if [ "x$SPECIFIED_CFLAGS" = x ]; then + eval `${CPP} -Isrc -DTHIS_IS_CONFIGURE ${tempcname} \ + | grep 'configure___' \ + | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'` +else + REAL_CFLAGS="$CFLAGS" +fi +rm ${tempcname} + +# override CFLAGS if user wishes +if [ "${cflags}" != "NO_CFLAGS_DEFINED" ]; then + REAL_CFLAGS=${cflags} +fi + +### Compute the unexec source name from the object name. +UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`" + +# Do the opsystem or machine files prohibit the use of the GNU malloc? +# Assume not, until told otherwise. +GNU_MALLOC=yes +if [ "${system_malloc}" = "yes" ]; then + GNU_MALLOC=no + GNU_MALLOC_reason=" + (The GNU allocators don't work with this system configuration.)" +elif [ "${use_system_malloc}" = "yes" ]; then + GNU_MALLOC=no + GNU_MALLOC_reason=" + (User chose not to use GNU allocators.)" +fi + +LISP_FLOAT_TYPE=yes + + +#### Add the libraries to LIBS and check for some functions. + +] +CPPFLAGS="${C_SWITCH_SITE} $c_switch_system $c_switch_machine $c_switch_x_system $CPPFLAGS" +DEFS="${C_SWITCH_SITE} $c_switch_system $c_switch_machine $c_switch_x_system $DEFS" +LIBS="${LD_SWITCH_SITE} $ld_switch_x_system $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. +dnl FSF 19.29 also checks for function dnet_ntoa. +AC_HAVE_LIBRARY(-ldnet) +dnl This causes -lresolv to get used in subsequent tests, +dnl which causes failures on some systems such as HPUX 9. +dnl FSF 19.29 also checks for function gethostbyname. +dnl AC_HAVE_LIBRARY(-lresolv) + +AC_HAVE_LIBRARY(-lXbsd, LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE -lXbsd") + +dnl FSF 19.29 also checks for function cma_open. +AC_HAVE_LIBRARY(-lpthreads, HAVE_PTHREADS=yes) +if test -n "${HAVE_PTHREADS}" ; then + AC_DEFINE(HAVE_PTHREADS) + case "${opsys}" in + decosf* ) CFLAGS="${CFLAGS} -threads" ;; + esac +fi + +if test "${window_system}" != "none" ; then + AC_CHECKING(for XFree86) + if test -d /usr/X386/include; then + HAVE_XFREE386=yes + test -z "${C_SWITCH_X_SITE}" && C_SWITCH_X_SITE="-I/usr/X386/include" + elif test -d /usr/X11R6/include; then + HAVE_XFREE386=yes + test -z "${C_SWITCH_X_SITE}" && C_SWITCH_X_SITE="-I/usr/X11R6/include" + else + HAVE_XFREE386=no + fi + AC_VERBOSE(${HAVE_XFREE386}) +else + HAVE_XFREE386=no +fi + +############################################################################ +# # +# Test for various X-specific features # +# # +############################################################################ + +# Change CFLAGS temporarily for damn binutils 2.6.0.10 check. +if test "${HAVE_X_WINDOWS}" = "yes"; then + case "${opsys}" in + linux* ) + CFLAGS="-Wl,-rpath-link,/usr/X11R6/lib $CFLAGS" + AC_COMPILE_CHECK(whether path-link option is needed, [], + [;], + [need_path_link=yes], + [need_path_link=no]) + if test "${need_path_link}" = "no"; then + CFLAGS="$REAL_CFLAGS" + AC_VERBOSE(no) + else + AC_VERBOSE(yes) + fi + ;; + esac +fi + +# Change CFLAGS temporarily so that C_SWITCH_X_SITE gets used +# for the tests that follow. We set it back to REAL_CFLAGS later on. + +if test "${HAVE_X_WINDOWS}" = "yes"; then + DEFS="$C_SWITCH_X_SITE $DEFS" + LDFLAGS="$LDFLAGS $LD_SWITCH_X_SITE" + LIBS="$LIBX $LIBS" + CFLAGS="$C_SWITCH_X_SITE $CFLAGS" + + # 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 "${HAVE_XFREE386}" = "yes" ; then + case "${opsys}" in + linux* ) + AC_COMPILE_CHECK(whether XFree86 needs -b to link, [], + [XOpenDisplay ("foo");], + [xfree86_first_failure=no], + [xfree86_first_failure=yes]) + if test "${xfree86_first_failure}" = "yes"; then + OLD_LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE" + OLD_C_SWITCH_X_SITE="$C_SWITCH_X_SITE" + OLD_CPPFLAGS="$CPPFLAGS" + OLD_LIBS="$LIBS" + LD_SWITCH_X_SITE="$LD_SWITCH_X_SITE -b i486-linuxaout" + C_SWITCH_X_SITE="$C_SWITCH_X_SITE -b i486-linuxaout" + CPPFLAGS="$CPPFLAGS -b i486-linuxaout" + LIBS="$LIBS -b i486-linuxaout" + AC_COMPILE_CHECK(,[], + [XOpenDisplay ("foo");], + [xfree86_second_failure=no], + [xfree86_second_failure=yes]) + if test "${xfree86_second_failure}" = "yes"; then + # If we get the same failure with -b, there is no use adding -b. + # So take it out. This plays safe. + LD_SWITCH_X_SITE="$OLD_LD_SWITCH_X_SITE" + C_SWITCH_X_SITE="$OLD_C_SWITCH_X_SITE" + CPPFLAGS="$OLD_CPPFLAGS" + LIBS="$OLD_LIBS" + AC_VERBOSE(no) + else + AC_VERBOSE(yes) + fi + else + AC_VERBOSE(no) + fi + ;; + esac + fi + +# A C_CHECK_FUNCS(XrmSetDatabase XScreenResourceString \ +#XScreenNumberOfScreen XSetWMProtocols) +fi + +# +# make sure we can find libX11.* +# +if test "${window_system}" != "none" ; then + internal_xlibs_found='no' + AC_HAVE_LIBRARY(-lX11, internal_xlibs_found='yes') + if test "${internal_xlibs_found}" = "no" ; then + echo "Unable to find X11 libraries." >&2 + exit 1 + else + AC_VERBOSE(yes) + fi +fi + +# +# make sure we can find Intrinsic.h +# +if test "${window_system}" != "none" ; then + internal_xincludes_found='no' + for arg in ${DEFS} /usr/include + do + if test -f `echo "${arg}/X11/Intrinsic.h" | sed 's/^\-I//'` ; then + internal_xincludes_found='yes' + fi + done + if test "${internal_xincludes_found}" = "no" ; then + echo "Unable to find X11 header files." >&2 + exit 1 + fi +fi + +# +# Sun OS 4 systems need the following kludge +# +if test "${window_system}" != "none" ; then + case "${canonical}" in *-sunos4* ) + LIBS="$LIBS -u _XtToolkitInitialize -u _get_applicationShellWidgetClass" ;; + esac +fi + +# +# See if we can find Xauth. +# +with_xauth='no' +if test "${window_system}" != "none" ; then + internal_xauth_lib_found='no' + AC_HAVE_LIBRARY(-lXau, internal_xauth_lib_found='yes') + if test "${internal_xauth_lib_found}" = "yes" ; then + internal_xauth_includes_found='no' + for arg in ${DEFS} /usr/include + do + if test -f `echo "${arg}/X11/Xauth.h" | sed 's/^\-I//'` ; then + internal_xauth_includes_found='yes' + fi + done + if test "${internal_xauth_includes_found}" = "yes" ; then + with_xauth='yes' + fi + fi +fi +if test "${with_xauth}" = "yes" ; then + AC_DEFINE(HAVE_XAUTH) +fi + +# +# See if we can find CDE. +# +if test "${window_system}" != "none" ; then + if test "${with_cde}" != "no" ; then + if test "${with_cde}" != "yes" ; then + internal_cde_lib_found='no' + AC_HAVE_LIBRARY(-lDtSvc, internal_cde_lib_found='yes') + if test "${internal_cde_lib_found}" = "yes" ; then + internal_cde_includes_found='no' + for arg in ${DEFS} /usr/include + do + if test -f `echo "${arg}/Dt/Dt.h" | sed 's/^\-I//'` ; then + internal_cde_includes_found='yes' + fi + done + if test "${internal_cde_includes_found}" = "yes" ; then + with_cde='yes' + fi + fi + fi + fi +fi +if test "${with_cde}" = "yes" ; then + AC_DEFINE(HAVE_CDE) +fi + +# +# See if we can find Xlocale.h. +# +with_xlocale_h='no' +if test "${window_system}" != "none" ; then + for arg in ${DEFS} /usr/include + do + if test -f `echo "${arg}/X11/Xlocale.h" | sed 's/^\-I//'` ; then + with_xlocale_h='yes' + fi + done +fi +if test "${with_xlocale_h}" = "yes" ; then + AC_DEFINE(HAVE_XLOCALE_H) +fi + +if test "${window_system}" != "none" ; then + AC_FIND_X_VERSION + AC_HAVE_HEADERS(X11/Xlocale.h) +fi + +# +# if Energize specified, make sure we can find its need libraries/headers +# +if test "${with_energize}" = "yes" ; then + AC_HAVE_LIBRARY(-lenergize, energize_version='3.X') + if test "${energize_version}" = "no" ; then + AC_HAVE_LIBRARY(-lconn, energize_version='2.X') + if test "${energize_version}" = "no" ; then + echo "Unable to find Energize library." >&2 + exit 1 + fi + fi + + internal_eincludes_found='no' + for arg in ${DEFS} /usr/include + do + if test -f `echo "${arg}/editorconn.h" | sed 's/^\-I//'` ; then + internal_eincludes_found='yes' + fi + done + if test "${internal_eincludes_found}" = "no" ; then + echo "Unable to find Energize editorconn.h header file." >&2 + exit 1 + fi +fi + +# +# logb and frexp are found in -lm on most systems. +# +AC_HAVE_LIBRARY(-lm) + +# +# see if XPM is hanging around somewhere +# +if test "${window_system}" != "none" ; then + if test "${with_xpm}" != "no" ; then + if test "${with_xpm}" != "yes" ; then + AC_HAVE_LIBRARY(-lXpm, with_xpm="yes") + fi + fi +fi +if test "${with_xpm}" = "yes" ; then + AC_DEFINE(HAVE_XPM) +fi + +# +# see if Xmu is hanging around somewhere +# +# FSF 19.31 has this: +#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 +# A C_CHECK_LIB(Xmu, XmuConvertStandardSelection) +# LIBS="$OLDLIBS" + +if test "${window_system}" != "none" ; then + if test "${with_xmu}" != "no" ; then + if test "${with_xmu}" != "yes" ; then + AC_HAVE_LIBRARY(-lXmu, with_xmu="yes") + fi + # On SunOS4 we must kludge harder to try to detect Xmu + # Upgrade to autoconf 2 and use ac_check_lib - mrb + if test "${with_xmu}" != "yes" && test -n "$OPENWINHOME" ; then + # begin expansion of ac_have_library + ac_save_LIBS="${LIBS}" + LIBS="${LIBS} -lXmu -lXt -lXext -lX11 -lm" + ac_have_lib="" + cat > conftest.${ac_ext} <<EOF +int main() { return 0; } +EOF + if eval $ac_compile; then + rm -rf conftest* + ac_have_lib="1" + fi + rm -f conftest* + LIBS="${ac_save_LIBS}" + test -n "${ac_have_lib}" && with_xmu="yes" + # end expansion of ac_have_library + fi + # On UnixWare 2.1 we must kludge harder to try to detect Xmu + # Upgrade to autoconf 2 and use ac_check_lib - mrb + if test "${with_xmu}" != "yes" && test -f "/.UpgradeVer2.1" ; then + # begin expansion of ac_have_library + ac_save_LIBS="${LIBS}" + if test x$HAVE_XFREE386 = xyes; then + LIBS="-lXt -lSM -lICE ${LIBS}" + else + LIBS="${LIBS} -lXmu -lXt -lXext -lX11" + fi + ac_have_lib="" + cat > conftest.${ac_ext} <<EOF +int main() { return 0; } +EOF + if eval $ac_compile; then + rm -rf conftest* + ac_have_lib="1" + fi + rm -f conftest* + LIBS="${ac_save_LIBS}" + test -n "${ac_have_lib}" && with_xmu="yes" + # end expansion of ac_have_library + fi + fi +fi +if test "${with_xmu}" = "yes" ; then + AC_DEFINE(HAVE_XMU) +fi + +# +# see if COMPFACE is hanging around somewhere +# +if test "${window_system}" != "none" ; then + if test "${with_xface}" != "no" ; then + if test "${with_xface}" != "yes" ; then + AC_HEADER_CHECK(compface.h, compface_incl="yes", with_xface="no") + if test "${compface_incl}" = "yes" ; then + AC_HAVE_LIBRARY(-lcompface, with_xface="yes") + fi + fi + fi +fi +if test "${with_xface}" = "yes" ; then + AC_DEFINE(HAVE_XFACE) +fi + +# +# check whether we're using GIF support +# +if test "${window_system}" = "none" ; then + if test -z "${with_gif}" ; then + with_gif=no + elif test "${with_gif}" != "no" ; then + echo "GIF support cannot be specified without a window system." + exit 1 + fi +elif test -z "${with_gif}" ; then + with_gif=yes +fi +if test "${with_gif}" = "yes" ; then + AC_DEFINE(HAVE_GIF) +fi + +# +# autodetect JPEG +# +if test "${window_system}" = "none" ; then + if test -z "${with_jpeg}" ; then + with_jpeg=no + elif test "${with_jpeg}" != "no" ; then + echo "JPEG support cannot be specified without a window system." + exit 1 + fi +else + if test "${with_jpeg}" != "no" ; then + if test "${with_jpeg}" != "yes" ; then + AC_HEADER_CHECK(jpeglib.h, jpeglib_incl="yes", with_jpeg="no") + if test "${jpeglib_incl}" = "yes" ; then + AC_HAVE_LIBRARY(-ljpeg, with_jpeg="yes") + fi + fi + fi +fi +if test "${with_jpeg}" = "yes" ; then + AC_DEFINE(HAVE_JPEG) +fi + +# +# autodetect PNG +# +if test "${window_system}" = "none" ; then + if test -z "${with_png}" ; then + with_png=no + elif test "${with_png}" != "no" ; then + echo "PNG support cannot be specified without a window system." + exit 1 + fi +fi +if test -z "${with_png}" ; then + AC_HEADER_CHECK(png.h, , with_png="no") +fi +if test -z "${with_png}" ; then + AC_HAVE_LIBRARY(-lpng, , with_png="no") +fi +if test -z "${with_png}" ; then + AC_HAVE_LIBRARY(-lz, with_png="yes") +fi +if test -z "${with_png}" ; then + AC_HAVE_LIBRARY(-lgz, with_png="gnuz", with_png="no") +fi +if test "${with_png}" = "yes" ; then + AC_DEFINE(HAVE_PNG) +fi +if test "${with_png}" = "gnuz" ; then + AC_DEFINE(HAVE_PNG) + AC_DEFINE(HAVE_PNG_GNUZ) +fi + +# +# autodetect TIFF (not yet implemented) +# +if test "${window_system}" = "none" ; then + if test -z "${with_tiff}" ; then + with_tiff=no + elif test "${with_tiff}" != "no" ; then + echo "TIFF support cannot be specified without a window system." + exit 1 + fi +fi +if test "${with_tiff}" = "yes" ; then + AC_DEFINE(HAVE_TIFF) +fi + +# We use Lucid toolkit defaults for the menubars and scrollbars, but +# if Motif is available we use it for the dialog boxes. +if test "${window_system}" != "none" ; then + if test "x${with_dialogs}" = "x" ; then + # We can't use ac_have_library because it simply appends -lXm to the + # end of the link line which is insufficient since -lXm will generate + # dependencies on -lXt +# begin expansion of ac_have_library +ac_save_LIBS="${LIBS}" +LIBS="${LIBS} -lXm -lXt ${LIBS}" +ac_have_lib="" +test -n "$silent" || echo "checking for -lXm" +cat > conftest.${ac_ext} <<EOF +#include "confdefs.h" + +int main() { return 0; } +int t() { main();; return 0; } +EOF +if eval $ac_compile; then + rm -rf conftest* + ac_have_lib="1" + +fi +rm -f conftest* +LIBS="${ac_save_LIBS}" +if test -n "${ac_have_lib}"; then + :; with_dialogs="motif" +else + :; +fi +# end expansion of ac_have_library + # Sigh. My Motif (MoTeeth) under Linux also depends on Xpm and Xext. + if test "${with_dialogs}" != "motif" ; then +# begin expansion of ac_have_library +ac_save_LIBS="${LIBS}" +LIBS="${LIBS} -lXm -lXt -lXpm -lXext ${LIBS}" +ac_have_lib="" +test -n "$silent" || echo "checking for -lXm in another way" +cat > conftest.${ac_ext} <<EOF +#include "confdefs.h" + +int main() { return 0; } +int t() { main();; return 0; } +EOF +if eval $ac_compile; then + rm -rf conftest* + ac_have_lib="1" + +fi +rm -f conftest* +LIBS="${ac_save_LIBS}" +if test -n "${ac_have_lib}"; then + :; with_dialogs="motif" +else + :; +fi +# end expansion of ac_have_library + fi + if test "${with_dialogs}" = "motif" ; then + AC_VERBOSE(Found Motif) + fi + fi +fi + +[ +if [ "${with_menubars}" = "motif" ] || [ "${with_scrollbars}" = "motif" ] \ + || [ "${with_dialogs}" = "motif" ]; then + with_motif='yes' +fi + +# Finish ensuring that we have values for the various toolkit items. +if [ "x${with_menubars}" = "x" ] || [ "${with_menubars}" = "athena" ]; then + with_menubars='lucid' +fi +if [ "x${with_scrollbars}" = "x" ]; then + with_scrollbars='lucid' +fi +if [ "x${with_dialogs}" = "x" ] || [ "${with_dialogs}" = "lucid" ]; then + with_dialogs='athena' +fi +] + +############################################################################ +# # +# Misc other feature tests # +# # +############################################################################ + +# If netdb.h doesn't declare h_errno, we must declare it by hand. +AC_COMPILE_CHECK(declaration of h_errno in netdb.h, + [#include <netdb.h>], + [int i = h_errno;], + AC_DEFINE(HAVE_H_ERRNO)) + +AC_COMPILE_CHECK(sigsetjmp, + [#include <setjmp.h>], + [sigjmp_buf bar; sigsetjmp (bar, 0);], + AC_DEFINE(HAVE_SIGSETJMP)) + +AC_CHECKING(whether localtime caches TZ) +emacs_cv_localtime_cache= +AC_TEST_PROGRAM([#include <time.h> +#if 1 /* STDC_HEADERS */ +# include <stdlib.h> +#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_GMT0, hour_unset; + if (putenv ("TZ=GMT0") != 0) + exit (1); + hour_GMT0 = localtime (&now)->tm_hour; + unset_TZ (); + hour_unset = localtime (&now)->tm_hour; + if (putenv ("TZ=PST8") != 0) + exit (1); + 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]) +AC_VERBOSE("$emacs_cv_localtime_cache") +if test x$emacs_cv_localtime_cache = xyes; then + AC_DEFINE(LOCALTIME_CACHE) +fi + +if test "x$HAVE_TIMEVAL" = xyes; then +AC_COMPILE_CHECK(whether gettimeofday can't accept two arguments, +[ +#ifdef TIME_WITH_SYS_TIME +#include <sys/time.h> +#include <time.h> +#else +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#else +#include <time.h> +#endif +#endif + ], + [ + struct timeval time; + struct timezone dummy; + gettimeofday (&time, &dummy); +], + [AC_VERBOSE(no)], + [AC_VERBOSE(yes) + AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)]) +fi + +AC_COMPILE_CHECK(whether inline functions are supported, + , + [ +inline int +foo () +{ + return 0; +} +], + AC_DEFINE(HAVE_INLINE)) + +# This does all sorts of magic to make sure alloca() works OK. +# It might even add some junk to the top of <config.h>. +# (I don't understand what goes on here, but it seems to work.) +AC_ALLOCA + +# Check whether vfork exists and works correctly. (This does more +# than just check for its existence.) If so, it defines HAVE_VFORK_H. +# If not, it defines vfork to be fork. +AC_VFORK + +# Check whether mmap exists and works correctly. (This does more +# than just check for its existence.) If so, it defines HAVE_MMAP. +# Actually, this seems to rule out some cases where mmap() can +# work fine for our purposes (e.g. HPUX). We get a big win out +# of using mmap(), so let's go back to the old way. +dnl AC_MMAP + +# Check whether strcoll exists and works correctly. (This does more +# than just check for its existence.) If so, it defines HAVE_STRCOLL. +AC_STRCOLL + +AC_SIZEOF_TYPE(short) +AC_SIZEOF_TYPE(int) +AC_SIZEOF_TYPE(long) + +# FSF 19.29 does this: +# # fmod, logb, and frexp are found in -lm on most systems. +# # On HPUX 9.01, -lm does not contain logb, so check for sqrt. +# A C_CHECK_LIB(m, sqrt) + +AC_HAVE_FUNCS(acosh asinh atanh cbrt closedir dup2 eaccess fmod fpathconf frexp ftime gethostname getpagesize gettimeofday getwd logb lrand48 matherr mkdir mktime perror poll random realpath rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask strcasecmp strerror tzset utimes waitpid) + +# Check for mmap. +found_mmap=true +AC_FUNC_CHECK(mmap, , found_mmap=) +if test -n "$found_mmap"; then + AC_DEFINE(HAVE_MMAP) +fi + +[ +# rel_alloc requires either GNU malloc or system malloc with mmap +if [ "${GNU_MALLOC}" != "yes" ]; then + if [ "${found_mmap}" != "true" ]; then + rel_alloc=no + fi +fi + +# We only turn rel_alloc on by default if mmap is available. +if [ "${rel_alloc}" = "default" ]; then + if [ "${found_mmap}" = "true" ]; then + rel_alloc=yes + fi +fi +] + + +# Check for Internet sockets. + +ok_so_far=true +AC_FUNC_CHECK(socket, , ok_so_far=) +if test -n "$ok_so_far"; then + AC_HEADER_CHECK(netinet/in.h, , ok_so_far=) +fi +if test -n "$ok_so_far"; then + AC_HEADER_CHECK(arpa/inet.h, , ok_so_far=) +fi +if test -n "$ok_so_far"; then + AC_DEFINE(HAVE_SOCKETS) + # Check for the sun_len member in struct sockaddr_un. + + AC_COMPILE_CHECK(sun_len member in struct sockaddr_un, + [#include <sys/types.h> + #include <sys/socket.h> + #include <sys/un.h>], [static struct sockaddr_un x; x.sun_len = 1;], + AC_DEFINE(HAVE_SOCKADDR_SUN_LEN)) +fi + +# Check for SYS V IPC. (Inferior to sockets.) + +if test -z "$ok_so_far"; then + ok_so_far=true + AC_FUNC_CHECK(msgget, , ok_so_far=) + if test -n "$ok_so_far"; then + AC_HEADER_CHECK(sys/ipc.h, , ok_so_far=) + fi + if test -n "$ok_so_far"; then + AC_HEADER_CHECK(sys/msg.h, , ok_so_far=) + fi + if test -n "$ok_so_far"; then + AC_DEFINE(HAVE_SYSVIPC) + fi +fi + +# Check for directory variants + +sysv_system_dir= +nonsystem_dir_library= +AC_HEADER_CHECK(dirent.h, sysv_system_dir=yes, ) +if test -z "$sysv_system_dir" ; then + AC_HEADER_CHECK(sys/dir.h, , nonsystem_dir_library=yes) +fi +if test -n "$sysv_system_dir" ; then + AC_DEFINE(SYSV_SYSTEM_DIR) +elif test -n "$nonsystem_dir_library" ; then + AC_DEFINE(NONSYSTEM_DIR_LIBRARY) +fi + +# Check for terminal I/O variants + +echo "checking how to do terminal I/O" + +have_termios= +have_termio= +AC_HEADER_CHECK(termios.h, have_termios=yes, ) +# TERMIOS systems may have termio.h, but not vice-versa, I think. +if test -z "$have_termios" ; then + AC_HEADER_CHECK(termio.h, have_termio=yes, ) +fi +if test -n "$have_termios" ; then + AC_DEFINE(HAVE_TERMIOS) +elif test -n "$have_termio" ; then + AC_DEFINE(HAVE_TERMIO) +fi + +# Check for nlist.h +AC_HEADER_CHECK(nlist.h, AC_DEFINE(NLIST_STRUCT), ) + +if test -f /usr/lpp/X11/bin/smt.exp ; then + AC_DEFINE(AIX_SMT_EXP, -bI:/usr/lpp/X11/bin/smt.exp) +elif test -f /usr/bin/X11/smt.exp ; then + AC_DEFINE(AIX_SMT_EXP, -bI:/usr/bin/X11/smt.exp) +fi + +# Set up the CFLAGS for real compilation, so we can substitute it. +CFLAGS="$REAL_CFLAGS" + +[ +#### Find out which version of XEmacs this is. +version=`grep 'defconst[ ]*emacs-version' ${srcdir}/lisp/version.el \ + | sed -ne 's/^(defconst emacs-version "\([0-9][0-9]\.[0-9]*\).*/\1/p'` +beta=`grep '" XEmacs Lucid' ${srcdir}/lisp/version.el \ + | sed -ne 's/^.*" XEmacs Lucid (beta\([^)]*\)).*/\1/p'` +alpha=`grep '" XEmacs Lucid' ${srcdir}/lisp/version.el \ + | sed -ne 's/^.*" XEmacs Lucid (alpha\([^)]*\)).*/\1/p'` +if [ "X$beta" != "X" ]; then + version=${version}-b${beta} +fi +if [ "X$alpha" != "X" ]; then + version=${version}-a${alpha} +fi +if [ x"${version}" = x ]; then + echo "${progname}: can't find current emacs version in + \`${srcdir}/lisp/version.el'." >&2 + exit 1 +fi + +# +# Check for sound of various sorts. +# + +# the following needs to be fixed for SGI. +if [ -z "${native_sound_lib}" ]; then + if [ -r /usr/demo/SOUND/lib/libaudio.a ]; then + native_sound_lib=/usr/demo/SOUND/lib/libaudio.a + elif [ -r /usr/demo/SOUND/libaudio.a ]; then + native_sound_lib=/usr/demo/SOUND/libaudio.a + else + case "${canonical}" in + *-sgi-* ) native_sound_lib=-laudio ;; + hppa*-hp-hpux* ) native_sound_lib=-lAlib ;; + esac + fi +fi + +if [ "${with_sound}" != "native" ] && [ "${with_sound}" != "nas" ] && [ "${with_sound}" != "both" ] && [ "${with_sound}" != "no" ] ; then + if [ -d /usr/demo/SOUND/multimedia -o -d /usr/demo/SOUND/include/multimedia ]; then + with_sound="native" + else + case "${canonical}" in + *-sgi-* ) + ] AC_HAVE_LIBRARY(-laudio, with_sound="native") [ + ;; + hppa*-hp-hpux* ) + ] AC_HAVE_LIBRARY(-lAlib, with_sound="native") [ + ;; + esac + fi +fi + +#### If the nas library doesn't contain the error jump point, then +#### we force safer behaviour. + +if [ "${with_sound}" = "nas" ] || [ "${with_sound}" = "both" ] ; then + ] AC_HEADER_EGREP(AuXtErrorJump,audio/Xtutil.h, , old_nas=true) [ +fi + +if [ "${with_tooltalk}" = "yes" ]; then + for arg in ${DEFS} "-I/usr/include" "-I${OPENWINHOME-/usr/openwin}/include" + do + if [ -f `echo "${arg}/desktop/tt_c.h" | sed 's/^\-I//'` ]; then + C_SWITCH_X_SITE="${C_SWITCH_X_SITE} ${arg}/desktop" + fi + done + + for arg in ${LIBS} "-L/usr/lib" "-L${OPENWINHHOME-/usr/openwin}/lib" + do + case "${arg}" in + -L*) if [ -f `echo "${arg}/libtt.a" | sed 's/^\-L//'` ]; then + dash_r='' + if [ -n "${add_runtime_flag}" ]; then + dash_r=`echo ${arg} | sed "s/^-L/-R${dash_r_space}/"` + fi + LD_SWITCH_X_SITE="${LD_SWITCH_X_SITE} ${arg} ${dash_r}" + fi + ;; + esac + done +fi + +# +# Check for ncurses. +# + +if [ "${with_tty}" != "no" ] ; then + ] AC_HAVE_LIBRARY(-lncurses, have_ncurses=yes, have_ncurses=no) [ + if [ "${have_ncurses}" = "yes" ] ; then + ] AC_DEFINE(HAVE_NCURSES) [ + ] AC_HEADER_CHECK(ncurses/term.h, have_ncurses_term_h=yes, have_ncurses_term_h=no) [ + if [ "${have_ncurses_term_h}" = "yes" ] ; then + ] AC_DEFINE(HAVE_NCURSES_TERM_H) [ + fi + ] AC_HEADER_CHECK(ncurses/curses.h, have_ncurses_curses_h=yes, have_ncurses_curses_h=no) [ + if [ "${have_ncurses_curses_h}" = "no" ] ; then + # Try again, and check for the bogus ncurses/ include bug. + # (i.e. ncurses/curses.h bogusly includes <unctrl.h> instead of + # <ncurses/unctrl.h>) + OLD_CPP="${CPP}" + CPP="${CPP} -I/usr/include/ncurses" + ] AC_HEADER_CHECK(ncurses/curses.h, have_ncurses_curses_h=yes, have_ncurses_curses_h=no) [ + if [ "${have_ncurses_curses_h}" = "yes" ] ; then + site_includes="${site_includes} /usr/include/ncurses" + C_SWITCH_SITE="${C_SWITCH_SITE} -I/usr/include/ncurses" + ] AC_VERBOSE(Your system has the bogus ncurses include bug.) [ + else + CPP="${OLD_CPP}" + fi + fi + if [ "${have_ncurses_curses_h}" = "yes" ] ; then + ] AC_DEFINE(HAVE_NCURSES_CURSES_H) [ + fi + fi +fi + +# +# Check for database support. +# + +]dnl <mdiers@logware.de> +dnl We don't necessarily have to have libdb/lib(g)dbm for DB/(G)DBM support. +dnl On FreeBSD, both DB and DBM are part of libc. +dnl Note that unless support for DB/(G)DBM is explicitly disabled, we always +dnl want to check for libdb/lib(g)dbm. Also note that libc will not be +dnl checked if we have the libraries. +dnl If support for DB/(G)DBM is requested, but we neither have libdb/lib(g)dbm, +dnl nor does libc implement it, we are a bit lost :) +dnl But wait: one still could define DATABASE_DB_LIBS and DATABASE_DBM_LIBS +dnl in the system description file to read -lthisiswhereitsat and +dnl have --site-libraries point there. +dnl (Does this make sense? My head hurts...) +[ +if [ "${with_database_berkdb}" != "no" ] ; then + ] AC_HAVE_LIBRARY(-ldb, have_libdb=yes, have_libdb=no) [ + if [ "${have_libdb}" = "yes" ] ; then + ] AC_DEFINE(HAVE_LIBDB) [ + fi + if [ "${with_database_berkdb}" != "yes" ] ; then + if [ "${have_libdb}" = "yes" ] ; then + with_database_berkdb=yes + else + ] AC_FUNC_CHECK(dbopen, have_dbopen=yes, have_dbopen=no) [ + if [ "${have_dbopen}" = "yes" ] ; then + with_database_berkdb=yes + else + with_database_berkdb=no + fi + fi + fi +fi +if [ "${with_database_berkdb}" = "yes" ]; then + ] AC_DEFINE(HAVE_BERKELEY_DB) [ +fi + +if [ "${with_database_gnudbm}" != "no" ] ; then + ] AC_HAVE_LIBRARY(-lgdbm, have_libgdbm=yes, have_libgdbm=no) [ + if [ "${have_libgdbm}" = "yes" ] ; then + ] AC_DEFINE(HAVE_LIBGDBM) [ + fi + if [ "${with_database_gnudbm}" != "yes" ] ; then + if [ "${have_libgdbm}" = "yes" ] ; then + with_database_gnudbm=yes + else + with_database_gnudbm=no + fi + fi +fi +if [ "${with_database_gnudbm}" = "yes" ]; then + ] AC_DEFINE(HAVE_DBM) [ + ] AC_DEFINE(HAVE_GNU_DBM) [ + with_database_dbm=no +fi + +if [ "${with_database_dbm}" != "no" ] ; then + ] AC_HAVE_LIBRARY(-ldbm, have_libdbm=yes, have_libdbm=no) [ + if [ "${have_libdbm}" = "yes" ] ; then + ] AC_DEFINE(HAVE_LIBDBM) [ + fi + if [ "${with_database_dbm}" != "yes" ] ; then + if [ "${have_libdbm}" = "yes" ] ; then + with_database_dbm=yes + else + ] AC_FUNC_CHECK(dbm_open, have_dbm_open=yes, have_dbm_open=no) [ + if [ "${have_dbm_open}" = "yes" ] ; then + with_database_dbm=yes + else + with_database_dbm=no + fi + fi + fi +fi +if [ "${with_database_dbm}" = "yes" ]; then + ] AC_DEFINE(HAVE_DBM) [ +fi + + +############################################################################ +# # +# Substitute into Makefile and config.h # +# # +############################################################################ + +### Specify what sort of things we'll be editing into Makefile and config.h. +### Use configuration here uncanonicalized to avoid exceeding size limits. +] +AC_SUBST(version) +AC_SUBST(configuration) +AC_SUBST(canonical) +AC_SUBST(srcdir) +AC_SUBST(prefix) +AC_SUBST(exec_prefix) +AC_SUBST(bindir) +AC_SUBST(datadir) +AC_SUBST(statedir) +AC_SUBST(libdir) +AC_SUBST(mandir) +AC_SUBST(infodir) +AC_SUBST(infodir_user_defined) +AC_SUBST(lispdir) +AC_SUBST(lispdir_user_defined) +AC_SUBST(sitelispdir) +AC_SUBST(etcdir) +AC_SUBST(etcdir_user_defined) +AC_SUBST(lockdir) +AC_SUBST(lockdir_user_defined) +AC_SUBST(archlibdir) +AC_SUBST(archlibdir_user_defined) +AC_SUBST(docdir) +AC_SUBST(bitmapdir) +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(LD_SWITCH_SITE) +AC_SUBST(C_SWITCH_SITE) +AC_SUBST(CFLAGS) +AC_SUBST(native_sound_lib) +AC_SUBST(machfile) +AC_SUBST(opsysfile) +AC_SUBST(RANLIB) +AC_SUBST(dynodump_arch) + +AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "\"${canonical}\"") +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(LD_SWITCH_SITE, ${LD_SWITCH_SITE}) +AC_DEFINE_UNQUOTED(C_SWITCH_SITE, ${C_SWITCH_SITE}) +AC_DEFINE_UNQUOTED(UNEXEC_SRC, ${UNEXEC_SRC}) + +[ + +# Note: as a general rule, *only* define things here that are not +# autodetected. For things that are autodetected, define them +# at the point where the autodetection occurs or would occur, +# so that the user gets immediate feedback on the results of the +# autodetection. + +if [ x"${puresize}" != x ] ; then + ] AC_DEFINE_UNQUOTED(PURESIZE, ${puresize}) [ +fi +if [ "${HAVE_X_WINDOWS}" = "yes" ] ; then + ] AC_DEFINE(HAVE_X_WINDOWS) [ +fi +if [ "${HAVE_XFREE386}" = "yes" ] ; then + ] AC_DEFINE(HAVE_XFREE386) [ +fi +if [ "${GNU_MALLOC}" = "yes" ] ; then + ] AC_DEFINE(GNU_MALLOC) [ +elif [ "${use_system_malloc}" = "yes" ]; then + ] AC_DEFINE(USE_SYSTEM_MALLOC) [ +fi +if [ "${rel_alloc}" = "yes" ] ; then + ] AC_DEFINE(REL_ALLOC) [ +fi +if [ "${LISP_FLOAT_TYPE}" = "yes" ] ; then + ] AC_DEFINE(LISP_FLOAT_TYPE) [ +fi +if [ "${with_motif}" = "yes" ] ; then + ] AC_DEFINE(LWLIB_USES_MOTIF) [ +fi +if [ "${with_menubars}" = "lucid" ] ; then + ] AC_DEFINE(LWLIB_MENUBARS_LUCID) [ + ] AC_DEFINE(HAVE_MENUBARS) [ +fi +if [ "${with_menubars}" = "motif" ]; then + ] AC_DEFINE(LWLIB_MENUBARS_MOTIF) [ + ] AC_DEFINE(HAVE_MENUBARS) [ +fi +if [ "${with_scrollbars}" = "lucid" ] ; then + ] AC_DEFINE(LWLIB_SCROLLBARS_LUCID) [ + ] AC_DEFINE(HAVE_SCROLLBARS) [ +fi +if [ "${with_scrollbars}" = "motif" ] ; then + ] AC_DEFINE(LWLIB_SCROLLBARS_MOTIF) [ + ] AC_DEFINE(HAVE_SCROLLBARS) [ +fi +if [ "${with_scrollbars}" = "athena" ] ; then + ] AC_DEFINE(LWLIB_SCROLLBARS_ATHENA) [ + ] AC_DEFINE(HAVE_SCROLLBARS) [ +fi +if [ "${with_dialogs}" = "motif" ] ; then + ] AC_DEFINE(LWLIB_DIALOGS_MOTIF) [ + ] AC_DEFINE(HAVE_DIALOGS) [ +fi +if [ "${with_dialogs}" = "athena" ] ; then + ] AC_DEFINE(LWLIB_DIALOGS_ATHENA) [ + ] AC_DEFINE(HAVE_DIALOGS) [ +fi +if [ "${with_toolbars}" = "yes" ] ; then + ] AC_DEFINE(HAVE_TOOLBARS) [ +fi +if [ "${with_tty}" = "yes" ] ; then + ] AC_DEFINE(HAVE_TTY) [ +fi +if [ "${with_tooltalk}" = "yes" ] ; then + ] AC_DEFINE(TOOLTALK) [ +fi +if [ "$with_mocklisp" = "yes" ]; then + ] AC_DEFINE(MOCKLISP_SUPPORT) [ +fi +if [ "${with_sparcworks}" = "yes" ] ; then + ] AC_DEFINE(SUNPRO) [ +fi +if [ "${usage_tracking}" = "yes" ] ; then + ] AC_DEFINE(USAGE_TRACKING) [ +fi +if [ "${with_energize}" = "yes" ] ; then + ] AC_DEFINE(ENERGIZE) [ + if [ "${energize_version}" = "2.X" ] ; then + ] AC_DEFINE(ENERGIZE_2) [ + elif [ "${energize_version}" = "3.X" ] ; then + ] AC_DEFINE(ENERGIZE_3) [ + fi +fi +if [ "${need_dynodump}" = "yes" ] ; then + ] AC_DEFINE(DYNODUMP) [ +fi +if [ "${need_xildoff}" = "yes" ] ; then + ] AC_DEFINE(NEED_XILDOFF) [ +fi +if [ "${with_gcc}" = "yes" ] ; then + ] AC_DEFINE(USE_GCC) [ +fi +if [ "${with_lcc}" = "yes" ] ; then + ] AC_DEFINE(USE_LCC) [ +fi +if [ "${with_socks}" = "yes" ]; then + ] AC_DEFINE(HAVE_SOCKS) [ +fi +if [ "${with_term}" = "yes" ]; then + ] AC_DEFINE(HAVE_TERM) [ +fi +if [ "${with_epoch}" = "yes" ]; then + ] AC_DEFINE(EPOCH) [ +fi +if [ "${with_sound}" = "native" -o "${with_sound}" = "both" ]; then + ] AC_DEFINE(HAVE_NATIVE_SOUND) [ +fi +if [ "${with_sound}" = "nas" -o "${with_sound}" = "both" ]; then + ] AC_DEFINE(HAVE_NAS_SOUND) [ +fi +if [ "${old_nas}" = "true" ] ; then + ] AC_DEFINE(NAS_NO_ERROR_JUMP) [ +fi +if [ "${external_widget}" = "yes" ]; then + ] AC_DEFINE(EXTERNAL_WIDGET) [ +fi +if [ "${with_gnu_make}" = "yes" ]; then + ] AC_DEFINE(USE_GNU_MAKE) [ +fi +if [ "${no_doc_file}" = "yes" ]; then + ] AC_DEFINE(NO_DOC_FILE) [ +fi +if [ "${const_is_losing}" = "yes" ]; then + ] AC_DEFINE(CONST_IS_LOSING) [ +fi +if [ "${use_assertions}" = "yes" ]; then + ] AC_DEFINE(USE_ASSERTIONS) [ +fi +if [ "${error_check_extents}" = "yes" ]; then + ] AC_DEFINE(ERROR_CHECK_EXTENTS) [ +fi +if [ "${error_check_typecheck}" = "yes" ]; then + ] AC_DEFINE(ERROR_CHECK_TYPECHECK) [ +fi +if [ "${error_check_bufpos}" = "yes" ]; then + ] AC_DEFINE(ERROR_CHECK_BUFPOS) [ +fi +if [ "${error_check_gc}" = "yes" ]; then + ] AC_DEFINE(ERROR_CHECK_GC) [ +fi +if [ "${error_check_malloc}" = "yes" ]; then + ] AC_DEFINE(ERROR_CHECK_MALLOC) [ +fi +if [ "${debug}" = "yes" ]; then + ] AC_DEFINE(DEBUG_XEMACS) [ +fi +if [ "${memory_usage_stats}" = "yes" ]; then + ] AC_DEFINE(MEMORY_USAGE_STATS) [ +fi +if [ "${use_union_type}" != "yes" ]; then + ] AC_DEFINE(NO_UNION_TYPE) [ +fi +if [ "${quantify}" = "yes" ]; then + ] AC_DEFINE(QUANTIFY) [ +fi + +# ====================== Developer's configuration ======================= + +# The following assignments make sense if you're running XEmacs on a single +# machine, one version at a time, and you want changes to the lisp and etc +# directories in the source tree to show up immediately in your working +# environment. It saves a great deal of disk space by not duplicating the +# lisp and etc directories. + +if [ "$run_in_place" = "yes" ]; then + prefix='${srcdir}' + exec_prefix='${srcdir}' + bindir='${exec_prefix}/bin/${configuration}' + lispdir='${srcdir}/lisp' + sitelispdir='${lispdir}/site-lisp' + etcdir='${srcdir}/etc' + lockdir='${srcdir}/lock' + archlibdir='${srcdir}/lib-src/${configuration}' + infodir='${srcdir}/info' +fi +#elif [ "$single_tree" = "1" ]; then +# if [ "$exec_prefix_specified" = "" ]; then +# exec_prefix='${prefix}' +# fi +# if [ "$bindir_specified" = "" ]; then +# bindir='${exec_prefix}/bin/${configuration}' +# fi +# if [ "$datadir_specified" = "" ]; then +# datadir='${prefix}/common' +# fi +# if [ "$statedir_specified" = "" ]; then +# statedir='${prefix}/common' +# fi +# if [ "$libdir_specified" = "" ]; then +# libdir='${bindir}' +# fi +# if [ "$lispdir_specified" = "" ]; then +# lispdir='${prefix}/common/lisp' +# fi +# if [ "$locallisppath_specified" = "" ]; then +# locallisppath='${prefix}/common/site-lisp' +# fi +# if [ "$lockdir_specified" = "" ]; then +# lockdir='${prefix}/common/lock' +# fi +# if [ "$archlibdir_specified" = "" ]; then +# archlibdir='${libdir}/etc' +# fi +# 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 # +# # +############################################################################ + +echo " + +Configured for \`${canonical}'. + + Where should the build process find the source code? ${srcdir} + What installation prefix should install use? ${prefix} + What operating system and machine description files should XEmacs use? + \`${opsysfile}' and \`${machfile}' + What compiler should XEmacs be built with? ${CC} ${CFLAGS} + Should XEmacs use the GNU version of malloc? ${GNU_MALLOC}${GNU_MALLOC_reason} + Should XEmacs use the relocating allocator for buffers? ${rel_alloc} + What window system should XEmacs use? ${window_system}${x_includes+ + Where do we find X Windows header files? }${x_includes}${x_libraries+ + Where do we find X Windows libraries? }${x_libraries}" + +if [ -n "$site_includes" ]; then + echo " Additional header files: ${site_includes}" +fi + +if [ -n "$site_libraries" ] && [ -n "$site_runtime_libraries" ]; then + echo " Additional libraries: ${site_libraries} ${site_runtime_libraries}" +elif [ -n "$site_libraries" ]; then + echo " Additional libraries: ${site_libraries}" +elif [ -n "$site_runtime_libraries" ]; then + echo " Additional libraries: ${site_runtime_libraries}" +fi + + +if [ "$with_socks" = "yes" ]; then + echo " Compiling in support for SOCKS." +fi +if [ "$with_term" = "yes" ]; then + echo " Compiling in support for TERM." +fi +if [ "$with_xauth" = "yes" ]; then + echo " Compiling in support for XAUTH." +fi +if [ "$with_xpm" = "yes" ]; then + echo " Compiling in support for XPM." +fi +if [ "$with_xmu" != "yes" ] && [ "$window_system" != "none" ]; then + echo " No Xmu; substituting equivalent routines." +fi +if [ "$with_xface" = "yes" ]; then + echo " Compiling in support for X-Face headers." +fi +if [ "$with_gif" = "yes" ]; then + echo " Compiling in support for GIF image conversion." +fi +if [ "$with_jpeg" = "yes" ]; then + echo " Compiling in support for JPEG image conversion." +fi +if [ "$with_png" = "yes" ] || [ "$with_png" = "gnuz" ]; then + echo " Compiling in support for PNG image conversion." +fi +if [ "$with_png" = "gnuz" ]; then + echo " (Using -lgz instead of -lz.)" +fi +if [ "$with_tiff" = "yes" ]; then + echo " Compiling in support for TIFF image conversion (not implemented)." +fi +if [ "$with_epoch" = "yes" ]; then + echo " Compiling in extra Epoch compatibility." +fi +if [ "$with_sound" = "nas" ]; then + echo " Compiling in network sound support." +fi +if [ "$with_sound" = "native" ]; then + echo " Compiling in native sound support." +fi +if [ "$with_sound" = "both" ]; then + echo " Compiling in both network and native sound support." +fi +if [ "$old_nas" = true ]; then + echo " nas library lacks error trapping, will play synchronously" +fi +if [ "$with_database_berkdb" = "yes" ]; then + echo " Compiling in support for Berkeley DB." +fi +if [ "$with_database_dbm" = "yes" ]; then + echo " Compiling in support for DBM." +fi +if [ "$with_database_gnudbm" = "yes" ]; then + echo " Compiling in support for GNU DBM." +fi +if [ "$with_ncurses" = "yes" ]; then + echo " Compiling in support for ncurses." +fi +if [ "$with_socks" = "yes" ]; then + echo " Compiling in support for SOCKS." +fi +if [ "$with_tooltalk" = "yes" ]; then + echo " Compiling in support for ToolTalk." +fi +if [ "$with_cde" = "yes" ]; then + echo " Compiling in support for CDE." +fi +if [ "$with_mocklisp" = "yes" ]; then + echo " Compiling in support for Mocklisp." +fi +if [ "$with_sparcworks" = "yes" ]; then + echo " Compiling in support for SparcWorks." +fi +if [ "$with_energize" = "yes" ]; then + echo " Compiling in support for Lucid Energize (doesn't currently work)." +fi +if [ "$with_menubars" = "lucid" ]; then + echo " Using the Lucid menubar." +fi +if [ "$with_menubars" = "motif" ]; then + echo " Using the Motif menubar." + echo " *WARNING* The Motif menubar is currently buggy. We recommend" + echo " that you use the Lucid menubar instead. Re-run" + echo " configure with --with-menubars='lucid'." +fi +if [ "$with_scrollbars" = "lucid" ]; then + echo " Using the Lucid scrollbar." +fi +if [ "$with_scrollbars" = "motif" ]; then + echo " Using the Motif scrollbar." +fi +if [ "$with_scrollbars" = "athena" ]; then + echo " Using the Athena scrollbar." +fi +if [ "$with_dialogs" = "motif" ]; then + echo " Using the Motif dialog boxes." +fi +if [ "$with_dialogs" = "athena" ]; then + echo " Using the Athena dialog boxes." +fi +if [ "${use_union_type}" = "yes" ]; then + echo " Using the union type for Lisp_Objects." +fi +if [ "${debug}" = "yes" ]; then + echo " Compiling in extra code for debugging." +fi +if [ "${memory_usage_stats}" = "yes" ]; then + echo " Compiling in code for checking XEmacs memory usage." +fi +if [ "$usage_tracking" = "yes" ]; then + echo " Compiling with usage tracking active (Sun internal)." +fi +echo " +" + +############################################################################ +# # +# Now generate! # +# # +############################################################################ + +# This has to be called in order for this variable to get into config.status +] AC_SUBST(internal_makefile_list) [ +# Remove any trailing slashes in these variables. +test -n "${prefix}" && + prefix=`echo "${prefix}" | sed 's,\([^/]\)/*$,\1,'` +test -n "${exec_prefix}" && + exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'` +] +AC_OUTPUT($internal_makefile_list) [ +# Build: +# src/Makefile from ${srcdir}/src/Makefile.in +# lwlib/Makefile from ${srcdir}/lwlib/Makefile.in +# lib-src/Makefile from ${srcdir}/lib-src/Makefile.in +# man/Makefile from ${srcdir}/man/Makefile.in +# man/*/Makefile from ${srcdir}/man/*/Makefile.in +# dynodump/Makefile from ${srcdir}/dynodump/Makefile.in +# and possibly +# lwlib/energize/Makefile from ${srcdir}/lwlib/energize/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 its +# 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` +lwlib_makefile_command='echo "creating lwlib/Makefile"; + topsrcdir='"${topsrcdir}"'; +( cd ./lwlib; + 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 $lwlib_makefile_command` +lib_src_makefile_command='echo "creating lib-src/Makefile"; + topsrcdir='"${topsrcdir}"'; +( cd ./lib-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 $lib_src_makefile_command` +dynodump_makefile_command='echo "creating dynodump/Makefile"; + topsrcdir='"${topsrcdir}"'; +( cd ./dynodump; + 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 $dynodump_makefile_command` +man_makefile_command='echo "creating man/Makefile"; + topsrcdir='"${topsrcdir}"'; +( cd ./man; + 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 $man_makefile_command` +if [ "${with_energize}" = "yes" ]; then +energize_makefile_command='echo "creating lwlib/energize/Makefile"; + topsrcdir='"${topsrcdir}"'; +( cd ./lwlib/energize; + 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 $energize_makefile_command` +fi +# AC-OUTPUT has created `config.status' already. We need to add the +# above commands to re-create `src/Makefile', `lwlib/Makefile', +# `lib-src/Makefile', `dynodump/Makefile', `man/Makefile', and possibly +# `lwlib/energize/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 $lwlib_makefile_command >>config.new +echo $lib_src_makefile_command >>config.new +echo $dynodump_makefile_command >>config.new +echo $man_makefile_command >>config.new +if [ "${with_energize}" = "yes" ]; then + echo $energize_makefile_command >>config.new +fi +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 lib-src/Makefile.in dynodump/Makefile dynodump/Makefile.in lwlib/Makefile lwlib/Makefile.in man/Makefile man/Makefile.in" +for file in $MFS; do + chmod a+w $file; touch $file; chmod 444 $file +done + +if test ! -f src/gdbinit && test -f $topsrcdir/src/gdbinit; then + echo creating src/gdbinit + echo source $topsrcdir/src/gdbinit > src/gdbinit +fi + +exit 0 + +# I've removed "mode: ksh" from the following. ksh mode sucks for +# editing this file. (It seems that ksh mode sucks in general. +# I wonder if the new 19.29 shell-script mode is better.) + +# Local Variables: +# compile-command: "autoconf" +# End: +]