Mercurial > hg > xemacs-beta
diff configure.in @ 149:538048ae2ab8 r20-3b1
Import from CVS: tag r20-3b1
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:36:16 +0200 |
parents | 318232e2a3f0 |
children | 59463afc5666 |
line wrap: on
line diff
--- a/configure.in Mon Aug 13 09:35:15 2007 +0200 +++ b/configure.in Mon Aug 13 09:36:16 2007 +0200 @@ -1,23 +1,13 @@ -dnl -*- mode: m4; -*- -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. +dnl Define our own header notice with own copyrights +define([PRINT_VAR],[ifelse([$#] ,0, , [$#], 1, echo "[$1] = $[$1]", echo "[$1] = $[$1]" +[PRINT_VAR(builtin([shift],$@))])]) +define([AC_INIT_NOTICE], +[#### Configuration script for XEmacs. Largely divergent from FSF. +#### Guess values for system-dependent variables and create Makefiles. +#### Generated automatically using autoconf version] AC_ACVERSION [ +#### Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. #### Copyright (C) 1993-1995 Board of Trustees, University of Illinois. +#### Copyright (C) 1996, 1997 Sun Microsystems, Inc. #### Copyright (C) 1995, 1996 Ben Wing. ### Don't edit this script! @@ -25,7 +15,7 @@ ### 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. +### in the this directory. You must have autoconf version 2.12 or later. ### This file is part of XEmacs. @@ -44,48 +34,231 @@ ### 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 +### For usage, run `./configure --help' +### For more detailed information on building and installing XEmacs, +### read the file `INSTALL'. ### ### If configure succeeds, it leaves its status in config.status. +### A log of configuration tests can be found in config.log. ### 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. +]) + +dnl Since XEmacs has configuration requirements that autoconf cannot +dnl meet, this file is an unholy marriage of custom-baked +dnl configuration code and autoconf macros. + +dnl We use the m4 quoting characters [ ] (as established by the +dnl autoconf system), so quote them like this: [[foo]] + +AC_PREREQ(2.12)dnl +dnl Redefine some standard autoconf macros +dnl here is how XEmacs is different: +dnl - no cache file +dnl - non-standard options +dnl - suport for extra-verbosity +dnl - ordinary libs are handled separately from X libs (might be a mistake) +dnl - various random kludges (e.g. -with-dnet=no + +dnl Disable cache files: +dnl This is controversial, but I am convinced this is the right way to go, +dnl at least by default. Otherwise there are too many surprises. +define([AC_CACHE_LOAD], )dnl +define([AC_CACHE_SAVE], )dnl +define([AC_CACHE_VAL], [ +$2 +])dnl + +dnl Avoid spurious cross-compiling warnings from AC_TRY_RUN +dnl XEmacs is unlikely to ever cross-compile +define([AC_TRY_RUN],[AC_TRY_RUN_NATIVE([$1], [$2], [$3])])dnl + + +dnl Redefine AC_DEFINE* to provide more output if extra_verbose +dnl Set VARIABLE to VALUE, verbatim, or 1. +dnl AC_DEFINE(VARIABLE [, VALUE]) +define([AC_DEFINE], +[{ test "$extra_verbose" = "yes" && cat << \EOF + Defining $1[]ifelse($#, 2, [ = $2],) +EOF +cat >> confdefs.h <<\EOF +[#define] $1 ifelse($#, 2, [$2], 1) +EOF +} +]) + +define([AC_DEFINE_UNQUOTED], +[{ test "$extra_verbose" = "yes" && cat << EOF + Defining $1[]ifelse($#, 2, [ = $2],) +EOF +cat >> confdefs.h <<EOF +[#define] $1 ifelse($#, 2, [$2], 1) +EOF +} +]) + + +dnl redefine AC_CHECK_LIB in accordance with our own value of ac_link +dnl Add in extra kludgy check to support with_dnet=no +dnl Add in extra LDFLAGS arg, which PRECEDE libs +dnl Support --with-dnet=no + +dnl AC_CHECK_LIB(LIBRARY, FUNCTION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND +dnl [, OTHER-LIBRARIES] [, LDFLAGS]]]]) +define([AC_CHECK_LIB], +[ifelse([$1],dnet, [if test "$with_dnet" = "no"; then +ac_cv_lib_dnet_dnet_ntoa=no +ifelse([$4], , , [$4] +)dnl +else +])] +AC_CHECK_LIB_ORIG_HACKED([$1],[$2],[$3],[$4],[$5], [$6]) +[ifelse([$1],dnet,[fi +])]dnl +) + +define([AC_CHECK_LIB_ORIG_HACKED], +[ifelse([$5],,AC_MSG_CHECKING([for $2 in -l$1]), +xe_msg_checking="for [$2] in -l[$1]" +test -n "[$5]" && xe_msg_checking="$xe_msg_checking using extra libs [$5]" +AC_MSG_CHECKING("$xe_msg_checking")) +dnl Use a cache variable name containing both the library and function name, +dnl because the test really is for library $1 defining function $2, not +dnl just for library $1. Separate tests with the same $1 and different $2s +dnl may have different results. +ac_lib_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'` +AC_CACHE_VAL(ac_cv_lib_$ac_lib_var, +[xe_check_libs="$6 -l$1 $5" +AC_TRY_LINK(dnl +ifelse([$2], [main], , dnl Avoid conflicting decl of main. +[/* Override any gcc2 internal prototype to avoid an error. */ +]ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus +extern "C" +#endif +])dnl +[/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $2(); +]), + [$2()], + eval "ac_cv_lib_$ac_lib_var=yes", + eval "ac_cv_lib_$ac_lib_var=no") +xe_check_libs="" +])dnl +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + AC_MSG_RESULT(yes) + ifelse([$3], , +[changequote(, )dnl + ac_tr_lib=HAVE_LIB`echo $1 | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` +changequote([, ])dnl + AC_DEFINE_UNQUOTED($ac_tr_lib) + LIBS="-l$1 $LIBS" +], [$3]) +else + AC_MSG_RESULT(no) +ifelse([$4], , , [$4 +])dnl +fi +]) + + +dnl AC_LANG_C() +define([AC_LANG_C], +[define([AC_LANG], [C])dnl +ac_ext=c +dnl CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +dnl ac_cpp='$CPP $CPPFLAGS' +dnl ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&AC_FD_CC' +dnl ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC' +xe_cppflags='$c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS $CPPFLAGS' # $c_switch_x_machine $c_switch_x_system' +xe_ldflags='$ld_switch_site $ld_switch_machine $ld_switch_system $ld_switch_x_site' # $ld_switch_x_machine $ld_switch_x_system' +xe_libs='$xe_check_libs $X_PRE_LIBS $libs_x $X_EXTRA_LIBS $LIBS $libs_machine $libs_system $libs_standard' +ac_cpp='$CPP '"$xe_cppflags" +ac_compile='${CC-cc} -c '"$CFLAGS $xe_cppflags"' conftest.$ac_ext 1>&AC_FD_CC' +ac_link='${CC-cc} -o conftest '"$CFLAGS $xe_cppflags $LDFLAGS $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&AC_FD_CC' +cross_compiling=no +]) + +define([AC_INIT_PARSE_ARGS],[ +dnl Initialize some variables set by options. +dnl The variables have the same names as the options, with +dnl dashes changed to underlines. +build=NONE +cache_file=/dev/null +exec_prefix=NONE +host=NONE +no_create= +nonopt=NONE +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +target=NONE +verbose= +x_includes=NONE +x_libraries=NONE +dnl Installation directory options. +dnl These are left unexpanded so users can "make install exec_prefix=/foo" +dnl and all the variables that are supposed to be based on exec_prefix +dnl by default will actually change. +dnl Use braces instead of parens because sh, perl, etc. also accept them. +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${{exec_prefix}}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +dnl Initialize some other variables. +subdirs= +MFLAGS= MAKEFLAGS= +dnl Maximum number of lines to put in a shell here document. +ac_max_here_lines=12 +])dnl +AC_INIT(src/lisp.h)dnl +AC_CONFIG_HEADER(src/config.h lwlib/config.h) +dnl Remove any more than one leading "." element from the path name. +dnl If we do not remove them, then another "./" will be prepended to +dnl the file name each time we use config.status, and the program name +dnl will get larger and larger. This would not be a problem, except +dnl that since progname gets recorded in all the Makefiles this script +dnl produces, move-if-change thinks they're different when they're +dnl not. +dnl +dnl It would be nice if we could put the ./ in a \( \) group and then +dnl apply the * operator to that, so we remove as many leading './././'s +dnl as are present, but some seds (like Ultrix's sed) don't allow you to +dnl apply * to a \( \) group. Bleah. progname="`echo $0 | sed 's:^\./\./:\./:'`" -############################################################################ -# # -# Establish some default values # -# # -############################################################################ - -#run_in_place='no' +dnl ----------------------------- +dnl Establish some default values +dnl ----------------------------- + +dnl Prevent autoconf2 caching +cache_file=/dev/null + +MAKE_SUBDIR="src lib-src" + +dnl 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' +dnl FSF 19.29 changes to: +dnl datadir='${prefix}/share' +dnl sharedstatedir='${prefix}/com' +dnl libexecdir='${exec_prefix}/libexec' datadir='${prefix}/lib' statedir='${prefix}/lib' libdir='${exec_prefix}/lib' @@ -111,55 +284,37 @@ with_x11='' rel_alloc='default' use_system_malloc='default' -internal_makefile_list='Makefile lib-src/Makefile.in src/Makefile.in lwlib/Makefile.in dynodump/Makefile.in' -energize_version='no' +energize_version='' 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. +dnl make normal error-checking be the default in alpha and beta versions, so +dnl 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. +dnl debug=yes must be set when error checking is present. This should be +dnl 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 ... +dnl use-assertions should be 'yes' by default. Too many people in this +dnl world have core dumps turned off by default or \"cannot find where the +dnl core file went\". At least we should get some useful output ... use_assertions='yes' -# the following is set to yes or no later. +dnl the following is set to yes or no later. with_gif='' -# the following is set to yes or no later. +dnl the following is set to yes or no later. with_toolbars='' -with_tty='yes' use_union_type='no' with_dnet='' -# # 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. +dnl On Sun systems, people sometimes set up the variable CPP +dnl with a value that is a directory, not an executable at all. +dnl Detect that case, and ignore that value. test -n "$CPP" -a -d "$CPP" && CPP= -############################################################################ -# # -# Usage messages # -# # -############################################################################ - -short_usage="Usage: ${progname} CONFIGURATION [[-OPTION[=VALUE] ...]] +dnl Usage message (get it via -help) +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. @@ -170,27 +325,25 @@ 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. +--extra-verbose Display even more information, useful for debugging. + + +Compilation options: + +--compiler=XXXX Specify compiler. Overrides environment variable CC. --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. +--cflags=FLAGS Compiler flags. Overrides environment variable CFLAGS. --site-includes=DIR Other header file directories. Separate multiple dirs with spaces and use quotes to enclose. --site-libraries=DIR Other library directories. @@ -205,8 +358,8 @@ Installation options: - ---prefix=DIR Install files below DIR. Defaults to \`${prefix}'. + +--prefix=DIR Install files below DIR. Defaults to \`$prefix'. Window-system options: @@ -215,29 +368,49 @@ --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-toolbars=no Don't compile with any toolbar support. --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, - athena3d, or no). +--with-scrollbars=TYPE Use TYPE scrollbars + (lucid, motif, athena, athena3d, or no). --with-dialogs=TYPE Use TYPE dialog boxes (motif, athena, athena3d, 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-offix (*) Compile in support for OffiX drag and drop. +--with-xmu=no (*) For those unfortunates whose vendors don't ship Xmu. +--external-widget Compile with external widget support. +--with-gif Compile with support for GIF image conversion. + This support is built-in and defaults to \`yes'. --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 + (version 3.4h 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. +--with-xface (*) Compile with support for X-Face mail header + conversion. Requires the compface library. + Get it from the XEmacs FTP site. +--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. +--with-tiff Compile with support for TIFF image conversion + (not yet implemented). + + +TTY options: + +--with-ncurses (*) Use the ncurses library for tty support. +--with-gpm (*) Compile in support for General Purpose Mouse. 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-tooltalk (*) Support the ToolTalk IPC protocol. +--with-workshop Support the Sun WorkShop (formerly 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). @@ -247,25 +420,9 @@ 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. @@ -275,12 +432,13 @@ --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. --with-pop support POP for mail retrieval --with-kerberos support Kerberos-authenticated POP --with-hesiod support Hesiod to get the POP server host --with-dnet (*) Compile with support for DECnet. +--mail-locking=TYPE (*) Specify the locking to be used by movemail to prevent + concurrent updates of mail spool files. Valid types + are \`lockf', \`flock', and \`lock-file'. Internationalization options: @@ -294,19 +452,15 @@ then the default is --with-xim=motif, else --with-xim=no. NOTE: On some systems like SunOS4 use of this option will cause XEmacs to crash at startup. ---with-canna Compile with support for Canna (a Japanese input method +--with-canna (*) Compile with support for Canna (a Japanese input method used in conjunction with Mule support). ---with-wnn Compile with support for WNN (a multi-language input method +--with-wnn (*) Compile with support for WNN (a multi-language input method used in conjunction with Mule support). This is beta level code. ---with-wnn6 Compile with support for WNN version 6 +--with-wnn6 (*) Compile with support for WNN version 6 This is alpha level code. ---wnn-includes=DIR Search for WNN header files in DIR. ---wnn-libraries=DIR Search for WNN libraries in DIR. --with-i18n3 Compile with I18N level 3 (support for message translation). This doesn't currently work. ---canna-includes=DIR Search for Canna header files in DIR. ---canna-libraries=DIR Search for Canna libraries in DIR. Debugging options: @@ -330,7 +484,7 @@ int, for the fundamental Lisp_Object type; this provides stricter type-checking. Only works with some systems and compilers. - + Other options: @@ -346,27 +500,34 @@ variables. See the INSTALL file for a complete list plus the reasons we advise not changing them. -If successful, ${progname} leaves its status in config.status. If -unsuccessful after disturbing the status quo, it removes config.status." - -############################################################################ -# # -# Options processing # -# # -############################################################################ +If successful, $progname leaves its status in config.status. If +unsuccessful after disturbing the status quo, it removes config.status. + +The configure build process also used the following environment variables: +CC C compiler to use (but configure flags take precedence) +CFLAGS C compiler compilation flags (such as -O) +CPPFLAGS Additional compilation flags (sucha s -I) used only by the preprocessor +LDFLAGS Additional linker flags + +For more details on the install process, consult the INSTALL file. +" + +dnl ------------------ +dnl Options Processing +dnl ------------------ define([USAGE_ERROR], -[(echo "${progname}: Usage error:" +[(echo "$progname: Usage error:" echo " " $1 -echo " Use \`${progname} --help' for more details.") >&2 && exit 1]) - -### Record all the arguments, so we can save them in config.status. +echo " Use \`$progname --help' to show usage.") >&2 && exit 1]) + +dnl 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'. -### We use sed to turn embedded ' into '"'"'. I truly hate sh's quoting. +dnl Shell Magic: Quote the quoted arguments in ARGUMENTS. At a later date, +dnl in order to get the arguments back in $@, we have to do an +dnl 'eval set x "$quoted_arguments"; shift' +dnl # We use sed to turn embedded ' into '"'"'. I truly hate sh quoting. quoted_sed_magic=s/"'"/"'"'"'"'"'"'"'"/g quoted_arguments= for i in "$@"; do @@ -381,68 +542,70 @@ esac 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. +dnl Do not use shift -- that destroys the argument list, which autoconf needs +dnl to produce config.status. It turns out that "set - $arguments" does not +dnl work portably. +dnl However, it also turns out that many shells cannot expand ${10} at all. +dnl So using an index variable does not work either. It is possible to use +dnl some shell magic to make 'set x "$arguments"; shift' work portably. while test $# != 0; do arg="$1"; shift - case "${arg}" in - - ## Anything starting with a hyphen we assume is an option. + case "$arg" in + + dnl Anything starting with a hyphen we assume is an option. -* ) - ## Separate the switch name from the value it's being given. - case "${arg}" in + dnl Separate the switch name from the value it is being given. + case "$arg" in -*=*) - opt=`echo '' ${arg} | sed -e 's:^ ::' -e 's:^-*\([[^=]]*\)=.*$:\1:'` - val=`echo '' ${arg} | sed -e 's:^ ::' -e 's:^-*[[^=]]*=\(.*\)$:\1:'` + 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 ;; + dnl special case these strings since echo may silently eat them: + dnl --help ) opt=help val=yes valomitted=yes ;; + dnl --version ) opt=version val=yes valomitted=yes ;; + dnl -e ) opt=e val=yes valomitted=yes ;; + dnl -E ) opt=E val=yes valomitted=yes ;; + dnl -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:'` + dnl If FOO is a boolean argument, --FOO is equivalent to + dnl --FOO=yes. Otherwise, the value comes from the next + dnl 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 - - ## Process (many) boolean options + dnl translate "-" in option string to "_" + optname="$opt" + opt="`echo '' $opt | sed -e 's:^ ::' | tr - _`" + + dnl Process the option. + case "$opt" in + + dnl Process (many) boolean options run_in_place | \ with_x | \ with_x11 | \ with_gcc | \ - with_lcc | \ with_gnu_make | \ dynamic | \ + with_ncurses | \ + with_dnet | \ with_term | \ + with_socks | \ with_cde | \ with_offix | \ - with_xpm | \ + with_gpm | \ with_gif | \ + with_xpm | \ + with_xface | \ with_jpeg | \ + with_png | \ with_tiff | \ - with_socks | \ - with_xface | \ with_xmu | \ - quantify | \ + with_quantify | \ with_toolbars | \ with_tty | \ with_i18n3 | \ @@ -452,6 +615,7 @@ with_wnn6 | \ with_mocklisp | \ with_energize | \ + with_workshop | \ with_sparcworks | \ with_tooltalk | \ with_pop | \ @@ -467,131 +631,124 @@ debug | \ use_assertions | \ memory_usage_stats | \ - no_doc_file ) - ## Make sure the value given was either "yes" or "no". - case "${val}" in + no_doc_file ) + dnl Make sure the value given was either "yes" or "no". + case "$val" in y | ye | yes ) val=yes ;; n | no ) val=no ;; - * ) USAGE_ERROR("The \`--${optname}' option requires a boolean value: \`yes' or \`no'.") ;; + * ) USAGE_ERROR("The \`--$optname' option requires a boolean value: \`yes' or \`no'.") ;; esac - eval "${opt}=\"${val}\"" ;; - - - ## Options that take a user-supplied value, as in --puresize=8000000 + eval "$opt=\"$val\"" ;; + + + dnl Options that take a user-supplied value, as in --puresize=8000000 srcdir | \ compiler | \ puresize | \ native_sound_lib | \ x_includes | \ x_libraries | \ - wnn_includes | \ - wnn_libraries | \ - canna_includes | \ - canna_libraries | \ site_includes | \ site_libraries | \ - site_runtime_libraries ) - ## If the value was omitted, get it from the next argument. - if test "${valomitted}" = "yes" ; then - ## Get the next argument from the argument list, if there is one. - if test "$#" = 0 ; then - USAGE_ERROR("The \`--${optname}' option requires a value."); + site_runtime_libraries ) + dnl If the value was omitted, get it from the next argument. + if test "$valomitted" = "yes" ; then + dnl Get the next argument from the argument list, if there is one. + if test "$#" = 0 ; then + USAGE_ERROR("The \`--$optname' option requires a value."); fi val="$1"; shift fi - eval "${opt}=\"${val}\"" + eval "$opt=\"$val\"" ;; - ### Options that take "yes", "no", or "default" values + dnl Options that take "yes", "no", or "default" values rel_alloc | \ use_system_malloc ) - case "${val}" in + case "$val" in y | ye | yes ) val=yes ;; n | no ) val=no ;; d | de | def | defa | defau | defaul | default ) val=default ;; - * ) USAGE_ERROR(["The \`--${optname}' option requires one of these values: + * ) USAGE_ERROR(["The \`--$optname' option requires one of these values: \`yes', \`no', or \`default'."]) ;; esac - eval "${opt}=\"${val}\"" + eval "$opt=\"$val\"" ;; - ## Has the user requested database support? + dnl Has the user requested database support? "with_database" ) with_database_berkdb=no with_database_dbm=no with_database_gnudbm=no - ## Make sure the value given was `no' or a list of berkdb, dbm, gnudbm - for x in `echo "${val}" | sed 's/,/ /'` ; do - case "${x}" in + for x in `echo "$val" | sed 's/,/ /'` ; do + case "$x" in no ) : ;; 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 ;; - * ) USAGE_ERROR(["The \`--${optname}' option value + * ) USAGE_ERROR(["The \`--$optname' option value must be either \`no' or a comma-separated list of one or more of \`berkdb', \`dbm', or \`gnudbm'."]) ;; esac done - if test "${with_database_dbm}" = "yes" -a \ - "${with_database_gnudbm}" = "yes" ; then + if test "$with_database_dbm" = "yes" -a \ + "$with_database_gnudbm" = "yes" ; then USAGE_ERROR("Only one of \`dbm' and \`gnudbm' may be specified - with the \`--${optname}' option.") + with the \`--$optname' option.") fi ;; - ## Has the user requested sound support? + dnl 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 + dnl value can be native, nas or both. yes is allowed + dnl 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 ;; + ne | net | neta | netau | netaud | netaudi | netaudio | nas ) val=nas ;; b | bo | bot | both ) val=both;; - * ) USAGE_ERROR(["The \`--${optname}' option must have one of these values: + * ) USAGE_ERROR(["The \`--$optname' option must have one of these values: \`native', \`nas', \`both', or \`none'."]) ;; esac - eval "${opt}=\"${val}\"" + eval "$opt=\"$val\"" ;; - ## Has the user requested XIM support? + dnl Has the user requested XIM support? "with_xim" ) - ## value can be xlib or motif - case "${val}" in - y | ye | yes ) val=yes ;; - n | no | non | none ) val=no ;; - x | xl | xli | xlib ) val=xlib ;; - m | mo | mot | moti | motif ) val=motif ;; - * ) USAGE_ERROR(["The \`--${optname}' option must have one of these values: + case "$val" in + y | ye | yes ) val=yes ;; + n | no | non | none ) val=no ;; + x | xl | xli | xlib ) val=xlib ;; + m | mo | mot | moti | motif ) val=motif ;; + * ) USAGE_ERROR(["The \`--$optname' option must have one of these values: \`motif', \`xlib', \`yes', or \`no'."]) ;; esac - eval "${opt}=\"${val}\"" + eval "$opt=\"$val\"" ;; - ## 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 ;; - * ) USAGE_ERROR(["The \`--${optname}' option must have one of these values: - \`yes', \`no', or \`gnuz'."]) ;; + dnl Mail locking specification + "mail_locking" ) + case "$val" in + lockf ) val=lockf ;; + flock ) val=flock ;; + file ) val=file ;; + * ) USAGE_ERROR(["The \`--$optname' option must have one of these values: + \`lockf', \`flock', or \`file'."]) ;; esac - eval "${opt}=\"${val}\"" + eval "$opt=\"$val\"" ;; - ## Has the user requested error-checking? + dnl 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. + dnl value can be all, none, and/or a list of categories to check. + dnl Example: --error-checking=all,noextents,nobufpos + dnl Example: --error-checking=none,malloc,gc + + for x in `echo "$val" | sed 's/,/ /'` ; do + case "$x" in + dnl 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 ;; @@ -609,7 +766,7 @@ malloc ) error_check_malloc=yes ;; nomalloc ) error_check_malloc=no ;; - + * ) bogus_error_check=yes ;; esac if test "$bogus_error_check" -o \ @@ -619,7 +776,7 @@ else types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', and \`malloc'." fi - USAGE_ERROR(["Valid types for the \`--${optname}' option are: + USAGE_ERROR(["Valid types for the \`--$optname' option are: $types."]) elif test "$new_default" ; then error_check_extents=$new_default @@ -633,227 +790,219 @@ done ;; - ## 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. - - ## Has the user specified one of the path options? + dnl Has the user tried to tell us where the X files are? + dnl I think these are dopey, but no less than three alpha + dnl testers, at large sites, have said they have their X files + dnl installed in odd places. + + dnl 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 test "${valomitted}" = "yes" ; then + dnl If the value was omitted, get it from the next argument. + if test "$valomitted" = "yes" ; then if test "$#" = 0 ; then - USAGE_ERROR("The \`--${optname}' option requires a value."); + USAGE_ERROR("The \`--$optname' option requires a value."); 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 test "${opt}" = exec_prefix; then archlibdir_user_defined=yes - elif test "${opt}" = libdir ; then archlibdir_user_defined=yes - elif test "${opt}" = archlibdir ; then archlibdir_user_defined=yes - elif test "${opt}" = lispdir ; then lispdir_user_defined=yes - elif test "${opt}" = etcdir ; then etcdir_user_defined=yes - elif test "${opt}" = datadir ; then - lispdir_user_defined=yes - etcdir_user_defined=yes - elif test "${opt}" = statedir ; then lockdir_user_defined=yes - elif test "${opt}" = lockdir ; then lockdir_user_defined=yes - elif test "${opt}" = infodir ; then infodir_user_defined=yes - fi + eval "$opt=\"$val\"" + + dnl Changing exec_prefix or libdir will change the default value + dnl of archlibdir. Changing datadir will change the default value + dnl of etcdir and lispdir. Changing statedir will change the + dnl default value of lockdir. + case "$opt" in + lispdir ) lispdir_user_defined=yes ;; + etcdir ) etcdir_user_defined=yes ;; + infodir ) infodir_user_defined=yes ;; + datadir ) lispdir_user_defined=yes etcdir_user_defined=yes ;; + statedir | lockdir ) lockdir_user_defined=yes ;; + exec_prefix | libdir | archlibdir ) archlibdir_user_defined=yes ;; + esac ;; - ## Has the user specified values to override CFLAGS? + dnl Has the user specified values to override CFLAGS? cflags ) - ## If the value was omitted, get it from the next argument. - if test "${valomitted}" = "yes" ; then - if test "$#" = 0 ; then - USAGE_ERROR("The \`--${optname}' option requires a value."); + dnl If the value was omitted, get it from the next argument. + if test "$valomitted" = "yes" ; then + if test "$#" = 0; then + USAGE_ERROR("The \`--$optname' option requires a value."); fi val="$1"; shift fi - eval "${opt}=\"${val}\"" + eval "$opt=\"$val\"" eval "${opt}_specified=1" ;; - ## --no-create added by autoconf for use by config.status - "no_create" ) - ;; - - ## Has the user asked for some help? - "usage" | "help" ) - echo "${short_usage}" | ${PAGER:-more} - exit 0 - ;; - - ## Has the user specified what toolkit to use for the menubars, - ## scrollbar or dialogs? + dnl --no-create added by autoconf for use by config.status + "no_create" ) ;; + + dnl Has the user asked for some help? + "usage" | "help" ) echo "$usage" | ${PAGER-more}; exit 0 ;; + + dnl Has the user specified what toolkit to use for the menubars, + dnl scrollbar or dialogs? "with_menubars" | "with_scrollbars" | "with_dialogs" ) - ## value can be lucid, motif, or athena. - case "${val}" in + case "$val" in l | lu | luc | luci | lucid ) val=lucid ;; m | mo | mot | moti | motif ) val=motif ;; athena3d | athena-3d ) val=athena3d ;; a | at | ath | athe | athen | athena ) val=athena ;; n | no | non | none ) val=no ;; - * ) USAGE_ERROR(["The \`--${optname}' option must have one of these values: - \`lucid', \`motif', \`athena', or \`no'."]) ;; + * ) USAGE_ERROR(["The \`--$optname' option must have one of these values: + \`lucid', \`motif', \`athena', \`athena3d', or \`no'."]) ;; esac - eval "${opt}=\"${val}\"" + eval "$opt=\"$val\"" ;; - ## Fail on unrecognized arguments. - * ) USAGE_ERROR("Unrecognized option: ${arg}") ;; + dnl Fail on unrecognized arguments. + * ) USAGE_ERROR("Unrecognized option: $arg") ;; esac ;; - ## Anything not starting with a hyphen we assume is a - ## configuration name. - *) - configuration=${arg} - ;; + dnl Anything not starting with a hyphen we assume is a + dnl configuration name. + *) configuration="$arg" ;; esac done -############################################################################ -# # -# Finish options processing # -# # -############################################################################ - -### Get the arguments back. See the diatribe on Shell Magic above. +dnl ------------------------- +dnl Finish options processing +dnl ------------------------- + +dnl Get the arguments back. See the diatribe on Shell Magic above. eval set x "$quoted_arguments"; shift -### Argument interdependencies -if test "${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" +dnl Argument interdependencies +if test "$with_energize" = "yes" ; then + with_menubars=lucid with_scrollbars=motif with_dialogs=motif with_tooltalk=yes + MAKE_SUBDIR="$MAKE_SUBDIR lwlib/energize" +fi + +dnl --extra-verbose implies --verbose +test "$extra_verbose" = "yes" && verbose=yes + +dnl Sun Development environment support +test "$with_sparcworks" = "yes" && with_workshop=yes # compatibility alias +if test "$with_workshop" = "yes"; then + AC_DEFINE(SUNPRO) + extra_objs="$extra_objs sunpro.o" + with_tooltalk=yes fi -### --extra-verbose implies --verbose -test "${extra_verbose}" = yes && verbose=yes - -### Sparcworks requires tooltalk -test "${with_sparcworks}" = yes && with_tooltalk=yes - -### debug implies other options -test "${debug}" = "yes" && use_assertions=yes memory_usage_stats=yes - -### with_x is a synonym for with_x11 -test -n "${with_x}" && with_x11="${with_x}" - -### Can't specify 2 compilers -if test "${with_gcc}" = "yes" -a "${with_lcc}" = "yes"; then - USAGE_ERROR("Only one of --with-gcc and --with-lcc may be specified.") +dnl Allow use of either ":" or spaces for lists of directories +define(COLON_TO_SPACE, + [case "[$1]" in *:* [)] [$1]="`echo $[$1] | sed 's/:/ /g'`";; esac])dnl +COLON_TO_SPACE(site_includes) +COLON_TO_SPACE(site_libraries) +COLON_TO_SPACE(site_runtime_libraries) + +dnl debug implies other options +if test "$debug" = "yes"; then + use_assertions=yes memory_usage_stats=yes + extra_objs="$extra_objs debug.o" fi -### Ignore useless run-in-place flag -if test "${run_in_place}" = "yes"; then - AC_WARN(The --run-in-place option is ignored because it is unnecessary.) +dnl with_x is obsolete synonym for with_x11 +test -n "$with_x" && with_x11="$with_x" + +dnl# Ignore useless run-in-place flag +if test "$run_in_place" = "yes"; then + AC_MSG_WARN("The --run-in-place option is ignored because it is unnecessary.") fi -########################################################################### -if test "${configuration}" = "" ; then +dnl ########################################################################### +if test "$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 + guesssys=`echo $progname | sed 's/configure$/config.guess/'` + dnl Guess the configuration and remove 4th name component, if present. + if configuration=`${CONFIG_SHELL-/bin/sh} $guesssys | \ + sed '[s/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/]'` ; then + echo "- Looks like this is a $configuration" 1>&2 else USAGE_ERROR("Failed to guess the system type. You need to tell me.") fi fi -### Find the source directory. -case "${srcdir}" in - - ## If it's not specified, see if `.' or `..' might work. +dnl Find the source directory. +case "$srcdir" in + + dnl If srcdir is not specified, see if "." or ".." might work. "" ) for dir in "`echo $0 | sed 's|//|/|' | sed 's|/[[^/]]*$||'`" "." ".." ; do if test -f "$dir/src/lisp.h" -a \ -f "$dir/lisp/version.el" ; then - srcdir="${dir}" + srcdir="$dir" break fi done - if test -z "${srcdir}" ; then + if test -z "$srcdir" ; then USAGE_ERROR(["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 + source tree, you should run \`$progname' in the directory in which you wish to build XEmacs, using the \`--srcdir' option to say where the sources may be found."]) fi ;; - ## Otherwise, check if the directory they specified is okay. + dnl Otherwise, check if the directory they specified is okay. * ) - if test ! -d "${srcdir}" -o \ - ! -f "${srcdir}/src/lisp.h" -o \ - ! -f "${srcdir}/lisp/version.el" ; then + if test ! -d "$srcdir" -o \ + ! -f "$srcdir/src/lisp.h" -o \ + ! -f "$srcdir/lisp/version.el" ; then USAGE_ERROR(["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 + \`$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 the XEmacs source directory."]) 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. +AC_PROG_LN_S + +dnl Make symlinks for etc, lisp, and info directories while the path +dnl is still relative. We do not symlink lock because someone may +dnl have stuck the source on a read-only partition. Instead we +dnl create it as an actual directory later on if it does not already +dnl exist. for dir in lisp etc man info site-lisp do - if test ! -d $dir ; then - echo Making symbolic link to ${srcdir}/$dir - ${LN_S} ${srcdir}/$dir . + if test ! -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 +dnl Make srcdir absolute, if not already. It is important to +dnl avoid running the path through pwd unnecessary, since pwd can +dnl 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 test "${PWD}" != "" -a "`(cd ${PWD} ; sh -c pwd)`" = "`pwd`"; then + dnl We may be able to use the $PWD environment variable to make this + dnl absolute. But sometimes PWD is inaccurate. + if test "$PWD" != "" -a "`(cd $PWD ; sh -c pwd)`" = "`pwd`"; then srcdir="$PWD" else - srcdir="`(cd ${srcdir}; pwd)`" + srcdir="`(cd $srcdir && pwd)`" fi ;; - * ) srcdir="`(cd ${srcdir}; pwd)`" ;; + * ) srcdir="`(cd $srcdir && pwd)`" ;; esac -#### Check if the source directory already has a configured system in it. -if test `pwd` != `sh -c cd ${srcdir} && pwd` \ - && test -f "${srcdir}/src/config.h"; then - (echo "${progname}: WARNING: The directory tree \`${srcdir}' is being used" +dnl Check if the source directory already has a configured system in it. +if test `pwd` != `sh -c cd $srcdir && pwd` \ + && test -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 + echo " now do \`make distclean' in $srcdir," + echo " and then run $progname again.") >&2 extrasub='/^VPATH[[ ]]*=/c\ vpath %.c $(srcdir)\ vpath %.h $(srcdir)\ @@ -863,256 +1012,249 @@ vpath %.in $(srcdir)' fi -### Make the necessary directories, if they don't exist. +dnl Make the necessary directories, if they do not exist. for dir in ./src ./lib-src ./dynodump ./lwlib ./lock ; do - if test ! -d ${dir} ; then - mkdir ${dir} - fi + test ! -d "$dir" && mkdir "$dir" done -if test "${with_energize}" = "yes" -a ! -d ./lwlib/energize; then +if test "$with_energize" = "yes" -a ! -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 +dnl ------------------------------ +dnl Determine the s&m files to use +dnl ------------------------------ +dnl Given the configuration name, set machfile and opsysfile to the +dnl names of the m/*.h and s/*.h files we should use. + +dnl Canonicalize the configuration name. +AC_CHECKING("the configuration name") +dnl allow -energize or -workshop suffix on configuration name +internal_configuration=`echo $configuration | sed 's/-\(energize\|workshop\)//'` +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 +dnl If you add support for a new configuration, add code to this +dnl switch statement to recognize your configuration name and select +dnl the appropriate operating system and machine description files. + +dnl You would hope that you could choose an m/*.h file pretty much +dnl based on the machine portion of the configuration name, and an s- +dnl file based on the operating system portion. However, it turns out +dnl that each m/*.h file is pretty manufacturer-specific - for +dnl example, apollo.h, hp9000s300.h, mega68k, news.h, and tad68k are +dnl all 68000 machines; mips.h, pmax.h, and news-risc are all MIPS +dnl machines. So we basically have to have a special case for each +dnl configuration name. + +dnl As far as handling version numbers on operating systems is +dnl concerned, make sure things will fail in a fixable way. If +dnl /etc/MACHINES says nothing about version numbers, be +dnl prepared to handle anything reasonably. If version numbers +dnl matter, be sure /etc/MACHINES says something about it. + +dnl Eric Raymond says we should accept strings like "sysvr4" to mean +dnl "System V Release 4"; he writes, "The old convention encouraged" +dnl "confusion between `system' and `release' levels'." + +machine='' opsys='' need_dynodump=no + +dnl Straightforward machine determination +case "$canonical" in + sparc-*-* ) machine=sparc ;; + alpha-*-* ) machine=alpha ;; + vax-*-* ) machine=vax ;; + mips-dec-* ) machine=pmax ;; + mips-sgi-* ) machine=iris4d ;; + romp-ibm-* ) machine=ibmrt ;; + rs6000-ibm-aix* ) machine=ibmrs6000 ;; + powerpc-ibm-aix* ) machine=ibmrs6000 ;; + powerpc-*-* ) machine=powerpc ;; + hppa-*-* ) machine=hp800 ;; + m88k-dg-* ) machine=aviion ;; + m68*-sony-* ) machine=news ;; + mips-sony-* ) machine=news-risc ;; + clipper-* ) machine=clipper ;; +esac + +dnl Straightforward OS determination +case "$canonical" in + *-*-linux* ) opsys=linux ;; + *-*-netbsd* ) opsys=netbsd ;; + *-*-nextstep* ) opsys=nextstep ;; + *-*-vms ) opsys=vms ;; + + dnl DEC OSF + *-dec-osf1.3 | *-dec-osf2* ) opsys=decosf1-3 ;; + *-dec-osf1.2 | *-dec-osf1* ) opsys=decosf1-2 ;; + *-dec-osf3.[[2-9]] ) opsys=decosf3-2 ;; + *-dec-osf3* ) opsys=decosf3-1 ;; + *-dec-osf4* ) opsys=decosf4-0 ;; + + dnl DEC Ultrix + *-*-ultrix[[0-3]].* | *-*-ultrix4.0* ) opsys=bsd4-2 ;; + *-*-ultrix4.[[12]]* ) opsys=bsd4-3 ;; + *-*-ultrix* ) opsys=ultrix4-3 ;; + + dnl AIX + *-*-aix3.1* ) opsys=aix3-1 ;; + *-*-aix3.2.5 ) opsys=aix3-2-5 ;; + *-*-aix3* ) opsys=aix3-2 ;; + *-*-aix4.2* ) opsys=aix4-2 ;; + *-*-aix4.1* ) opsys=aix4-1 ;; + *-*-aix4* ) opsys=aix4 ;; + + dnl Other generic OSes + *-gnu* ) opsys=gnu ;; + *-*-bsd4.[[01]] ) opsys=bsd4-1 ;; + *-*-bsd4.2 ) opsys=bsd4-2 ;; + *-*-bsd4.3 ) opsys=bsd4-3 ;; + *-*-aos4.2 ) opsys=bsd4-2 ;; + *-*-aos* ) 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* )opsys=usg5-4 NON_GNU_CPP=/usr/lib/cpp ;; + *-*-sysv4.[[2-9]]* | *-sysvr4.[[2-9]]* ) + if test -z "$NON_GNU_CPP" ; then + if test -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 ;; + *-*-mach_bsd4.3* ) opsys=mach-bsd4-3 ;; +esac + +case "$canonical" in + + dnl NetBSD ports *-*-netbsd* ) - opsys=netbsd - case "${canonical}" in - sparc-*-netbsd*) machine=sparc ;; + case "$canonical" in i[[3-9]]86-*-netbsd*) machine=intel386 ;; hp300-*-netbsd* | amiga-*-netbsd* | sun3-*-netbsd* | mac68k-*-netbsd* | da30-*-netbsd* | m68k-*-netbsd* ) - # Yes, this is somewhat bogus. + dnl Yes, this is somewhat bogus. machine=hp9000s300 ;; pc532-*-netbsd* | ns32k-*-netbsd* ) machine=ns32000 ;; pmax-*-netbsd* | mips-*-netbsd* ) machine=pmax ;; esac ;; - ## Acorn RISCiX: + dnl 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. + dnl Alliant machines 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-*-* ) - machine=alpha - case "${canonical}" in - *-dec-osf1.3 | *-dec-osf2* ) opsys=decosf1-3 ;; - *-dec-osf1.2 | *-dec-osf1* ) opsys=decosf1-2 ;; - - ## XEmacs: Add switch for OSF 1 version 3 (roth@cse.ucsc.edu) - ## XEmacs: Add switch for Digital Unix version 4 (srivasta@pilgrim.umass.edu) - *-dec-osf3.[[2-9]] ) opsys=decosf3-2 ;; - *-dec-osf3* ) opsys=decosf3-1 ;; - *-dec-osf4* ) opsys=decosf4-0 ;; - *-*-linux* ) opsys=linux ;; - esac - ;; - - ## Altos 3068 + dnl Altos 3068 m68*-altos-sysv* ) machine=altos opsys=usg5-2 ;; - ## Amdahl UTS + dnl Amdahl UTS 580-amdahl-sysv* ) machine=amdahl opsys=usg5-2-2 ;; - ## Apollo, Domain/OS + dnl Apollo, Domain/OS m68*-apollo-* ) machine=apollo opsys=bsd4-3 ;; - - ## AT&T 3b2, 3b5, 3b15, 3b20 + + dnl AT&T 3b2, 3b5, 3b15, 3b20 we32k-att-sysv* ) machine=att3b opsys=usg5-2-2 ;; - ## AT&T 3b1 - The Mighty Unix PC! + dnl AT&T 3b1 - The Mighty Unix PC! m68*-att-sysv* ) machine=7300 opsys=usg5-2-2 ;; - ## Bull machines + dnl Bull machines rs6000-bull-bosx* ) machine=ibmrs6000 opsys=aix3-2 ;; # dpx20 m68*-bull-sysv3* ) machine=dpx2 opsys=usg5-3 ;; # dpx2 m68*-bull-sysv2* ) machine=sps7 opsys=usg5-2 ;; # sps7 - ## 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! + dnl CCI 5/32, 6/32 -- see "Tahoe". + + dnl Celerity 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 + dnl 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 + dnl Cubix QBx/386 i[[3-9]]86-cubix-sysv* ) machine=intel386 opsys=usg5-3 ;; - ## Cydra 5 + dnl Cydra 5 cydra*-cydrome-sysv* ) machine=cydra5 opsys=usg5-3 ;; - ## Data General AViiON Machines + dnl Data General AViiON Machines i586-dg-dgux*R4* | i586-dg-dgux5.4.4* ) machine=aviion opsys=dgux5-4r4 ;; - 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 ;; - - ## Dec Mips machines - mips-dec-* ) - machine=pmax - case "${canonical}" in - *-*-ultrix[[0-3]].* | *-*-ultrix4.0* | *-*-bsd4.2* ) opsys=bsd4-2 ;; - *-*-ultrix4.[[12]]* | *-*-bsd* ) opsys=bsd4-3 ;; - *-*-ultrix* ) opsys=ultrix4-3 ;; - *-*-osf* ) opsys=osf1 ;; - *-*-mach_bsd4.3* ) opsys=mach-bsd4-3 ;; - esac - ;; - - ## 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-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* ) opsys=dgux5-4r3 ;; + m88k-dg-dgux5.4R2* | m88k-dg-dgux5.4.2* ) opsys=dgux5-4r2 ;; + m88k-dg-dgux* ) opsys=dgux ;; + + dnl Motorola Delta machines + m68k-motorola-sysv* | m68000-motorola-sysv* ) machine=delta opsys=usg5-3 ;; 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. + dnl jbotte@bnr.ca says that UNIX_System_V <hostName> 4.0 R40V4.3 m88k mc88110 + dnl needs POSIX_SIGNALS and therefore needs usg5-4-2. + dnl I hope there are not other 4.0 versions for this machine + dnl 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 + dnl Dual machines m68*-dual-sysv* ) machine=dual opsys=usg5-2 ;; m68*-dual-uniplus* ) machine=dual opsys=unipl5-2 ;; - ## Elxsi 6400 + dnl Elxsi 6400 elxsi-elxsi-sysv* ) machine=elxsi opsys=usg5-2 ;; - ## Encore machines + dnl Encore machines ns16k-encore-bsd* ) machine=ns16000 opsys=umax ;; - ## Gould Power Node and NP1 + dnl 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). + dnl Harris Night Hawk machines running CX/UX (a 5000 looks just like a 4000 + dnl as far as XEmacs is concerned). m88k-harris-cxux* ) - # Build needs to be different on 7.0 and later releases + dnl 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) + dnl 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 + dnl Harris power pc NightHawk running Power UNIX (Series 6000) + powerpc-harris-powerunix ) machine=nh6000 opsys=powerunix NON_GNU_CPP="cc -Xo -E -P" ;; + + dnl Honeywell XPS100 xps*-honeywell-sysv* ) machine=xps100 opsys=usg5-2 ;; - ## HP 9000 series 200 or 300 + dnl HP 9000 series 200 or 300 m68*-hp-bsd* ) machine=hp9000s300 opsys=bsd4-3 ;; - ## HP-UX on HP's + dnl HP-UX *-hp-hpux* ) - NON_GNU_CC="cc -Aa" - NON_GNU_CPP="cc -Aa -E" - - ### Figure out machine and opsys orthogonally - case "${canonical}" in + dnl Figure out machine and opsys orthogonally + case "$canonical" in m68* ) machine=hp9000s300 ;; hppa* ) machine=hp800 ;; esac - case "${canonical}" in - *-hp-hpux7* ) opsys=hpux ;; - *-hp-hpux8* ) opsys=hpux8 ;; - *-hp-hpux9* ) opsys=hpux9 ;; - *-hp-hpux10* ) opsys=hpux10 ;; + case "$canonical" in + *-hp-hpux7* ) opsys=hpux ;; + *-hp-hpux8* ) opsys=hpux8 ;; + *-hp-hpux9* ) opsys=hpux9 ;; + *-hp-hpux10* ) opsys=hpux10 ;; * ) case "`uname -r`" in - ## Someone's system reports A.B8.05 for this. - ## I wonder what other possibilities there are. *.B8.* ) opsys=hpux8 ;; *.08.* ) opsys=hpux8 ;; *.09.* ) opsys=hpux9 ;; @@ -1122,99 +1264,68 @@ ;; esac - if test $opsys = hpux10 ; then - NON_GNU_CC="cc -Ae" - NON_GNU_CPP="cc -Ae -E" - fi - - case "${canonical}" in *-hp-hpux*shr* ) opsys="${opsys}-shr" ;; esac + dnl HP has a broken "strcat" + case "$opsys" in hpux9 | hpux10 ) extra_objs="$extra_objs strcat.o";; esac + + if test "$opsys" = "hpux10"; then ansi_flag="-Ae"; else ansi_flag="-Aa"; fi + NON_GNU_CC="cc $ansi_flag" NON_GNU_CPP="cc $ansi_flag -E" + + case "$canonical" in *-hp-hpux*shr* ) opsys="${opsys}-shr" ;; esac ;; - hppa-*-nextstep* ) machine=hp800 opsys=nextstep ;; - - ## Orion machines + dnl Orion machines orion-orion-bsd* ) machine=orion opsys=bsd4-2 ;; clipper-orion-bsd* ) machine=orion105 opsys=bsd4-2 ;; - ## IBM machines + dnl 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.2* | powerpc-ibm-aix4.2* ) machine=ibmrs6000 opsys=aix4-2 ;; - 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' + romp-ibm-aos* ) opsys=bsd4-3 ;; + romp-ibm-bsd* ) opsys=bsd4-3 ;; + romp-ibm-mach* ) opsys=mach-bsd4-3 ;; + + dnl 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 + dnl Intel 386 machines where we do care about the manufacturer i[[3-9]]86-intsys-sysv* ) machine=is386 opsys=usg5-2-2 ;; - ## Prime EXL + dnl Prime EXL i[[3-9]]86-prime-sysv* ) machine=i386 opsys=usg5-3 ;; - ## Sequent Symmetry running Dynix + dnl 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.) + dnl Sequent Symmetry running DYNIX/ptx + i[[3-9]]86-sequent-ptx* ) machine=sequent-ptx opsys=ptx NON_GNU_CPP="/lib/cpp" ;; + + dnl Unspecified sysv on an ncr machine defaults to svr4.2. + dnl (Plain usg5-4 does not turn on POSIX signals, which we need.) i[[3-9]]86-ncr-sysv* ) machine=ncr386 opsys=usg5-4-2 ;; - ## Intel Paragon OSF/1 + dnl 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 + dnl Intel 860 + i860-*-sysv4* ) machine=i860 opsys=usg5-4 NON_GNU_CC="/bin/cc" NON_GNU_CPP="/usr/ccs/lib/cpp" ;; + + dnl Masscomp machines m68*-masscomp-rtu* ) machine=masscomp opsys=rtu ;; - ## Megatest machines + dnl 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. - ;; + dnl Workstations sold by MIPS + dnl This is not necessarily all workstations using the MIPS processor - + dnl Irises are produced by SGI, and DECstations by DEC. + mips-mips-usg* ) machine=mips4 ;; mips-mips-riscos4 ) machine=mips4 NON_GNU_CC="cc -systype bsd43" NON_GNU_CPP="cc -systype bsd43 -E" - case "${canonical}" in + case "$canonical" in mips-mips-riscos4* ) opsys=bsd4-3 ;; mips-mips-riscos5* ) opsys=riscos5 ;; esac @@ -1222,105 +1333,92 @@ mips-mips-bsd* ) machine=mips opsys=bsd4-3 ;; mips-mips-* ) machine=mips opsys=usg5-2-2 ;; - ## NeXT + dnl NeXT m68*-next-* | m68k-*-nextstep* ) machine=m68k opsys=nextstep ;; - ## The complete machine from National Semiconductor + dnl The complete machine from National Semiconductor ns32k-ns-genix* ) machine=ns32000 opsys=usg5-2 ;; - ## NCR machines + dnl 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 + dnl Nixdorf Targon 31 m68*-nixdorf-sysv* ) machine=targon31 opsys=usg5-2-2 ;; - ## Nu (TI or LMI) + dnl Nu (TI or LMI) m68*-nu-sysv* ) machine=nu opsys=usg5-2 ;; - ## Plexus + dnl 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. + dnl Pyramid machines pyramid-pyramid-bsd* ) machine=pyramid opsys=bsd4-2 ;; - ## Sequent Balance + dnl Sequent Balance ns32k-sequent-bsd4.2* ) machine=sequent opsys=bsd4-2 ;; ns32k-sequent-bsd4.3* ) machine=sequent opsys=bsd4-3 ;; - ## Siemens Nixdorf + dnl 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) + dnl Silicon Graphics machines + dnl 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_CC="cc -Olimit 2000" ;; - 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-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 + dnl Iris 4D + mips-sgi-irix3.* ) opsys=irix3-3 ;; + mips-sgi-irix4.* ) opsys=irix4-0 ;; + mips-sgi-irix6* ) opsys=irix6-0 NON_GNU_CC="cc -Olimit 2000" ;; + mips-sgi-irix5.1* ) opsys=irix5-1 ;; + mips-sgi-irix5.2* ) opsys=irix5-2 ;; + mips-sgi-irix5.* ) opsys=irix5-3 ;; + mips-sgi-irix* ) opsys=irix5-0 ;; + + dnl SONY machines + *-sony-newsos[[34]]* | *-sony-news[[34]]* ) opsys=bsd4-3 ;; + *-sony-news* ) opsys=newsos5 ;; + + dnl Stride m68*-stride-sysv* ) machine=stride opsys=usg5-2 ;; - ## Suns - sparc-*-linux* ) machine=sparc opsys=linux ;; - + dnl Suns *-*-solaris* | *-*-sunos* | *-sun-mach* | *-sun-bsd* ) - # Hardware type - case "${canonical}" in + dnl 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 + + dnl Make $canonical even more so. + case "$canonical" in *-sunos5*) + canonical="`echo \"$canonical\" | sed -e s/sunos5/solaris2/`";; 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 + + dnl On SunOS 4, use /usr/lib/cpp, sans dynodump, /bin/ranlib + dnl On SunOS 5, use /usr/ccs/lib/cpp, need dynodump, RANLIB not needed + dnl But, SunOS 5.6 no longer needs dynodump because it has a similar + dnl function integrated. + case "$canonical" in *-sunos4* ) test -f /usr/lib/cpp && NON_GNU_CPP=/usr/lib/cpp ;; *-solaris2* ) test -f /usr/ccs/lib/cpp && NON_GNU_CPP=/usr/ccs/lib/cpp RANLIB=':' - case "${canonical}" in - *-solaris2.[[6-9]]* ) need_dynodump=no ;; - *-solaris2* ) need_dynodump=yes ;; + case "$canonical" in *-solaris2.[[0-5]]* ) need_dynodump=yes ;; esac esac - esac - - case "${canonical}" in - ## The Sun386 didn't get past 4.0. - i[[3-9]]86-*-sunos4* ) opsys=sunos4-0 ;; + + case "$canonical" in + dnl The last Sun386 ran 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* ) opsys=sunos4-1-3 ;; @@ -1337,69 +1435,58 @@ * ) opsys=bsd4-2 ;; esac - case "${canonical}" in *-sunos4*shr* ) opsys="${opsys}-shr" ;; esac - - ## Watch out for a compiler that is guaranteed not to work. - case "${canonical}" in - *-solaris* ) test "$CC" = "/usr/ucb/cc" && unset CC ;; + case "$canonical" in *-sunos4*shr* ) opsys="${opsys}-shr" ;; esac + + dnl Watch out for a compiler guaranteed not to work. + case "$canonical" in + *-solaris* ) case "$CC" in /usr/ucb/cc* ) CC="" ;; esac ;; esac ;; - sparc-*-nextstep* ) machine=sparc opsys=nextstep ;; - - ## Tadpole 68k + dnl Tadpole 68k m68*-tadpole-sysv* ) machine=tad68k opsys=usg5-3 ;; - ## Tahoe machines + dnl Tahoe machines tahoe-tahoe-bsd4.2* ) machine=tahoe opsys=bsd4-2 ;; tahoe-tahoe-bsd4.3* ) machine=tahoe opsys=bsd4-3 ;; - ## Tandem Integrity S2 + dnl Tandem Integrity S2 mips-tandem-sysv* ) machine=tandem-s2 opsys=usg5-3 ;; - ## Tektronix XD88 + dnl Tektronix XD88 m88k-tektronix-sysv3* ) machine=tekxd88 opsys=usg5-3 ;; - ## Tektronix 16000 box (6130?) + dnl 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. + dnl Tektronix 4300 + dnl 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! + dnl Titan P2 or P3 titan-titan-sysv* ) machine=titan opsys=usg5-3 ;; - ## Ustation E30 (SS5E) + dnl Ustation E30 (SS5E) m68*-unisys-uniplus* ) machine=ustation opsystem=unipl5-2 ;; - ## Vaxen. + dnl 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 + case "$canonical" in + *-sysv[[01]]* | *-sysvr[[01]]* ) opsys=usg5-0 ;; + *-sysv2* | *-sysvr2* ) opsys=usg5-2 ;; + *-mach* ) opsys=mach-bsd4-3 ;; esac ;; - ## Whitechapel MG1 - ## We don't know what sort of OS runs on these; we'll let the - ## operating system guessing code below try. + dnl Whitechapel MG1 ns16k-whitechapel-* ) machine=mg1 ;; - ## Wicat + dnl Wicat m68*-wicat-sysv* ) machine=wicat opsys=usg5-2 ;; - ## Intel 386 machines where we don't care about the manufacturer + dnl Intel 386 machines where we do not care about the manufacturer i[[3-9]]86-*-* ) machine=intel386 - case "${canonical}" in + case "$canonical" in *-isc1.* | *-isc2.[[01]]* ) opsys=386-ix ;; *-isc2.2* ) opsys=isc2-2 ;; *-isc4.0* ) opsys=isc4-0 ;; @@ -1408,24 +1495,23 @@ NON_GCC_TEST_OPTIONS=-Xp ;; *-isc* ) opsys=isc3-0 ;; - *-esix5* ) opsys=esix5r4; NON_GNU_CPP=/usr/lib/cpp ;; + *-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 ;; + *-sco3.2v4* ) opsys=sco4 NON_GNU_CPP=/lib/cpp ;; *-bsd386* | *-bsdi1* ) opsys=bsd386 ;; *-bsdi3* ) opsys=bsdos3 ;; *-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 test "${dynamic}" = "yes" ; then + *-sco3.2v5* ) opsys=sco5 ; + dnl This is a pain. Like the current USL cc, SCO cc -E + dnl tokenizes as it preprocesses, making configure very + dnl unhappy. Unfortunately, /lib/cpp does not understand + dnl flags like "-b elf", so we have to cheat in order to + dnl pick up the right defines for UNEXEC from the s-file. + dnl 01/05/95 robertl@dgii.com + if test "$dynamic" = "yes" ; then NON_GNU_CPP="/lib/cpp -D_XOPEN_SOURCE -D_SCO_ELF" ; else NON_GNU_CPP="/lib/cpp -D_XOPEN_SOURCE" ; @@ -1433,254 +1519,199 @@ *-386bsd* ) opsys=386bsd ;; *-freebsd* ) opsys=freebsd ;; *-nextstep* ) opsys=nextstep ;; - ## Otherwise, we'll fall through to the generic opsys code at the bottom. + dnl Otherwise, we fall through to the generic opsys code at the bottom. esac ;; - ## Linux/68k + dnl 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 test -z "${opsys}" ; 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* ) opsys=usg5-4 NON_GNU_CPP=/usr/lib/cpp ;; - *-sysv4.[[2-9]]* | *-sysvr4.[[2-9]]* ) - if test -z "$NON_GNU_CPP" ; then - if test -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 - -test -z "$RANLIB" && RANLIB=ranlib - -if test ${unported} = yes; then - (echo "${progname}: XEmacs hasn't been ported to \`${canonical}' systems." - echo "${progname}: Check \`etc/MACHINES' for recognized configuration names." +if test -z "$machine" -o -z "$opsys"; 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 test "${dynamic}" = "yes" ; then - case "${opsys}" in +if test "$dynamic" = "yes" ; then + case "$opsys" in hpux* | sunos4* | sco5 ) opsys="${opsys}-shr" ;; esac -elif test "${dynamic}" = "no" ; then - case "${opsys}" in +elif test "$dynamic" = "no" ; then + case "$opsys" in sol2* | decosf1-3 | decosf3-* | decosf4-* | linux ) opsys="${opsys}-static" ;; esac fi -dynodump_arch='' -if test "${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 - -dnl Following macro is useful shorthand -define([IF_YES_AC_DEFINE],test "${$1}" = yes && [AC_DEFINE]($2)) - -define([AC_TEST_CPP], -[AC_REQUIRE_CPP()dnl -cat > conftest.${ac_ext} <<EOF -#include "confdefs.h" -[$1] -EOF -dnl # Some shells (Coherent) do redirections in the wrong order, so need -dnl # the parens. -dnl # 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"` -dnl # 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 - case "`./conftest`" in - X11R4 ) AC_DEFINE(THIS_IS_X11R4) ;; - X11R5 ) AC_DEFINE(THIS_IS_X11R5) ;; - X11R6 ) AC_DEFINE(THIS_IS_X11R6) ;; - esac +dnl -------------------------------------------------- +dnl Determine the compiler, set up for feature testing +dnl -------------------------------------------------- + +dnl Choose a compiler. +test -n "$CC" && cc_specified=yes + +dnl Save the value of CFLAGS that the user specified. +SPECIFIED_CFLAGS="$CFLAGS" + +if test -n "$compiler"; then CC="$compiler"; fi + +dnl Some systems specify a CPP or CC to use unless we are using GCC. +test -n "$NON_GNU_CC" -a "$with_gcc" = "no" -a -z "$CC" && CC="$NON_GNU_CC" +AC_PROG_CC + +if test "$with_gcc" = "no" -a "$ac_cv_prog_gcc" = "yes"; then + CC=${NON_GNU_CC-cc} + AC_PROG_CC +elif test "$with_gcc" = "yes" -a "$ac_cv_prog_gcc" = "no" ; then + CC=gcc + AC_PROG_CC fi -LIBS=$ac_save_LIBS -rm -f conftest*] -)dnl -dnl ----------------------------------------------------------------------- -AC_LANG_C -AC_PREPARE(lisp) -AC_CONFIG_HEADER(src/config.h) - -if test "${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 test "x$CC" = x ; then - cc_specified=1 -fi - -# Save the value of CFLAGS that the user specified. -SPECIFIED_CFLAGS="$CFLAGS" - -if test "${with_gcc}" = "yes" ; then - CC="${compiler-gcc}" - GCC=1 -elif test "${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. - test -z "$NON_GNU_CPP" && NON_GNU_CPP="yes" # this is handled specially below... -elif test "${compiler}" != "" ; then CC="${compiler}" -elif test "${with_gcc}" = "no" ; then CC="cc" -elif test "${with_lcc}" = "no" ; then - test -z "$CC" && CC=cc + +if test "$GCC" = "yes"; then with_gcc=yes; else with_gcc=no; fi +test -n "$NON_GNU_CPP" -a "$with_gcc" = "no" -a -z "$CPP" && CPP="$NON_GNU_CPP" + +AC_PROG_CPP + +case "$canonical" in + *-sun-sunos* ) test "$CPP" = "acc -E" && CPP="acc -E -Xs" ;; +esac + +dnl -------------------------------------------------------------------- +dnl Extract some information from the operating system and machine files +dnl -------------------------------------------------------------------- + +echo "Extracting information from the machine- and system-dependent headers..." + +dnl First figure out CFLAGS (which we use for running the compiler here) +dnl and REAL_CFLAGS (which we use for real compilation). +dnl The two are the same except on a few systems, where they are made +dnl different to work around various lossages. For example, +dnl GCC 2.5 on Linux needs them to be different because it treats -g +dnl as implying static linking. + +dnl If the CFLAGS env var is specified, we use that value +dnl instead of the default. + +dnl It is not important that this name contain the PID; you cannot run +dnl two configures in the same directory and have anything work +dnl anyway. +tempcname="conftest.c" + +dnl CPP_to_sh(CPP_SYMBOL, SH_VAR, DEFAULT_VALUE) +define([CPP_to_sh], +[[#]ifndef [$1] +[#]define [$1] [$3] +[#]endif +configure___ [$2]=[$1] +]) + +dnl CPP_boolean_to_sh(CPP_SYMBOL, SH_VAR) +define([CPP_boolean_to_sh], +[[#]ifdef [$1] +configure___ [$2]=yes +[#]else +configure___ [$2]=no +[#]endif +]) + + +echo ' +#define NOT_C_CODE +#define C_SWITCH_SITE +#define C_SWITCH_X_SITE +#define LD_SWITCH_SITE +#define LD_SWITCH_X_SITE +#define LD_SWITCH_X_SITE_AUX +#include "'$srcdir'/src/'$opsysfile'" +#include "'$srcdir'/src/'$machfile'" + +CPP_to_sh(LIBS_MACHINE, libs_machine) +CPP_to_sh(LIBS_SYSTEM, libs_system) +CPP_to_sh(LIBS_TERMCAP, libs_termcap) +CPP_to_sh(LIB_STANDARD, libs_standard) +CPP_to_sh(C_SWITCH_SYSTEM, c_switch_system) +CPP_to_sh(C_SWITCH_MACHINE, c_switch_machine) +CPP_to_sh(C_SWITCH_X_SYSTEM, c_switch_x_system) +CPP_to_sh(LD_SWITCH_X_SYSTEM, ld_switch_x_system) +CPP_to_sh(LD_SWITCH_SYSTEM, ld_switch_system) +CPP_to_sh(UNEXEC, unexec, unexec.o) +CPP_to_sh(C_DEBUG_SWITCH, c_debug_switch, -g) +CPP_to_sh(C_OPTIMIZE_SWITCH, c_optimize_switch, -O) + +CPP_boolean_to_sh(SYSTEM_MALLOC, system_malloc) +CPP_boolean_to_sh(TERMINFO, have_terminfo) +CPP_boolean_to_sh(MAIL_USE_FLOCK, mail_use_flock) +CPP_boolean_to_sh(MAIL_USE_LOCKF, mail_use_lockf) +CPP_boolean_to_sh(__SUNPRO_C, sunpro_c) + +#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 +dnl The value of CPP is a quoted variable reference, so we need to do this +dnl to get its actual value... +CPP=`eval "echo $CPP"` +eval `$CPP -Isrc $tempcname \ + | grep 'configure___' \ + | sed -n -e 's/^configure___ \([[^=]]*=\)\(.*\)$/\1"\2"/p'` +if test -z "$SPECIFIED_CFLAGS"; then + eval `$CPP -Isrc -DTHIS_IS_CONFIGURE $tempcname \ + | grep 'configure___' \ + | sed -n -e 's/^configure___ \([[^=]]*=\)\(.*\)$/\1"\2"/p'` else - case "${canonical}" in - * ) - AC_PROG_CC - if test "${CC}" = "gcc" ; then - with_gcc="yes" - GCC=1 - fi - ;; - esac + REAL_CFLAGS="$CFLAGS" 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 test "x$NON_GNU_CPP" = x -o x$GCC = x1 -then true -else - if test "x$CPP" = x ; then - if test "${with_lcc}" = "yes" -a "${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 test "x$NON_GNU_CC" = x -o x$GCC = x1 -o x$cc_specified = x1 -then true -else - CC="$NON_GNU_CC" +rm $tempcname + +dnl override CFLAGS if user wishes +if test "$cflags" != "NO_CFLAGS_DEFINED" ; then + REAL_CFLAGS=$cflags 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. - -# test x$GCC = x1 -a "x$GCC_TEST_OPTIONS" != x && CC="$CC $GCC_TEST_OPTIONS" -# test x$GCC = x -a "x$NON_GCC_TEST_OPTIONS" != x && CC="$CC $NON_GCC_TEST_OPTIONS" - -############################################################################ -# # -# 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 test "${CPP}" = "acc -E" ; then - CPP="acc -E -Xs" - fi - ;; -esac +dnl Compute the unexec source name from the object name. +UNEXEC_SRC="`echo $unexec | sed 's/\.o/.c/'`" + +dnl Do the opsystem or machine files prohibit the use of the GNU malloc? +dnl Assume not, until told otherwise. +GNU_MALLOC=yes +if test "$system_malloc" = "yes" ; then + GNU_MALLOC=no + GNU_MALLOC_reason=" + (The GNU allocators don't work with this system configuration.)" +elif test "$use_system_malloc" = "yes" ; then + GNU_MALLOC=no + GNU_MALLOC_reason=" + (User chose not to use GNU allocators.)" +fi + +dnl ----------------------------------- +dnl Do some misc autoconf-special tests +dnl ----------------------------------- + +dnl Some other nice autoconf tests. If you add a test here which +dnl should make an entry in src/config.h, do not forget to add an +dnl #undef clause to src/config.h.in for autoconf to modify. AC_PROG_RANLIB AC_PROG_INSTALL @@ -1690,16 +1721,16 @@ AC_AIX dnl checks for header files -AC_HAVE_HEADERS(mach/mach.h sys/stropts.h sys/timeb.h sys/time.h unistd.h) -AC_HAVE_HEADERS(utime.h sys/wait.h libintl.h locale.h libgen.h) -AC_HAVE_HEADERS(linux/version.h kstat.h sys/pstat.h inttypes.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 +AC_CHECK_HEADERS(mach/mach.h sys/stropts.h sys/timeb.h sys/time.h unistd.h) +AC_CHECK_HEADERS(utime.h sys/wait.h libintl.h locale.h libgen.h) +AC_CHECK_HEADERS(linux/version.h kstat.h sys/pstat.h inttypes.h) +AC_HEADER_STDC +AC_HEADER_TIME +AC_DECL_SYS_SIGLIST + +dnl Some systems have utime.h but do not declare the struct anyplace. +AC_MSG_CHECKING(for struct utimbuf) +AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME #include <sys/time.h> #include <time.h> #else @@ -1712,13 +1743,15 @@ #ifdef HAVE_UTIME_H #include <utime.h> #endif], [static struct utimbuf x; x.actime = x.modtime;], - AC_DEFINE(HAVE_STRUCT_UTIMBUF)) + [AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_STRUCT_UTIMBUF)], + AC_MSG_RESULT(no)) dnl checks for typedefs -AC_RETSIGTYPE - -AC_COMPILE_CHECK(struct timeval, -[#ifdef TIME_WITH_SYS_TIME +AC_TYPE_SIGNAL + +AC_MSG_CHECKING(for struct timeval) +AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME #include <sys/time.h> #include <time.h> #else @@ -1727,119 +1760,238 @@ #else #include <time.h> #endif -#endif], [static struct timeval x; x.tv_sec = x.tv_usec;], [ +#endif], [static struct timeval x; x.tv_sec = x.tv_usec;], + [AC_MSG_RESULT(yes) HAVE_TIMEVAL=yes AC_DEFINE(HAVE_TIMEVAL)], - [HAVE_TIMEVAL=no]) + [AC_MSG_RESULT(no) + HAVE_TIMEVAL=no]) dnl checks for structure members AC_STRUCT_TM -AC_TIMEZONE +AC_STRUCT_TIMEZONE dnl checks for compiler characteristics -AC_CONST +AC_C_CONST dnl check for Make feature -AC_SET_MAKE +AC_PROG_MAKE_SET dnl check byte order -AC_WORDS_BIGENDIAN +AC_C_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 +AC_SYS_LONG_FILE_NAMES 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 ;; + +dnl -lm might be required for some X libraries to link with later +AC_CHECK_LIB(m, sqrt) + +dnl Determine type of mail locking from configure args and s&m headers +AC_CHECKING(type of mail spool file locking) +test -z "$mail_locking" -a "$mail_use_flock" = "yes" && mail_locking=flock +test -z "$mail_locking" -a "$mail_use_lockf" = "yes" && mail_locking=lockf +if test "$mail_locking" = "lockf"; then AC_DEFINE(REAL_MAIL_USE_LOCKF) +elif test "$mail_locking" = "flock"; then AC_DEFINE(REAL_MAIL_USE_FLOCK) +fi + +dnl Dynodump +if test "$need_dynodump" = "yes" ; then + AC_DEFINE(DYNODUMP) + MAKE_SUBDIR="$MAKE_SUBDIR dynodump" + case "$canonical" in + sparc* ) dynodump_arch=sparc ;; + powerpc* ) dynodump_arch=ppc ;; + i*86* ) dynodump_arch=i386 ;; + esac + dnl Dynodump requires the system linker + test "$GCC" = "yes" && ld_switch_site="-fno-gnu-linker $ld_switch_site" +fi + +dnl Extra library directories - please add to list +for dir in "/usr/ccs/lib"; do + test -d "$dir" && ld_switch_site="$ld_switch_site -L${dir}" +done + +dnl ---------------------- +dnl Choose a window system +dnl ---------------------- + +AC_CHECKING("for specified window system") + +dnl $OPENWINHOME implies --x-includes and --x-libraries +dnl Not (yet) handled by autoconf2 +if test "$x_includes $x_libraries" = "NONE NONE"; then + if test -n "$OPENWINHOME" \ + -a "$OPENWINHOME" != "/usr/openwin" \ + -a -d "$OPENWINHOME"; then + test -d "$OPENWINHOME/lib" && x_libraries="$OPENWINHOME/lib" + test -d "$OPENWINHOME/include" && x_includes="$OPENWINHOME/include" + test -d "$OPENWINHOME/share/include" && x_includes="$OPENWINHOME/share/include" + fi +fi + +dnl --x-includes or --x-libraries implies --with-x11. +test "$x_includes $x_libraries" != "NONE NONE" && \ + window_system=x11 with_x11=yes + +if test "$with_x11" != "no"; then + AC_PATH_XTRA # Autoconf claims to find X library and include dirs for us. + if test "$no_x" = "yes" + then with_x11=no window_system=none HAVE_X_WINDOWS=no + else with_x11=yes window_system=x11 HAVE_X_WINDOWS=yes + fi +fi + +case "$with_x11" in + yes ) window_system=x11 HAVE_X_WINDOWS=yes ;; + no ) window_system=none HAVE_X_WINDOWS=no ;; esac -case "${window_system}" in - "none" | "x11" ) ;; - "" ) - # --x-includes or --x-libraries implies --with-x11. - if test -n "${x_includes}" -o -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 test -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 +if test "$with_x11" = "yes"; then + AC_DEFINE(HAVE_X_WINDOWS) + MAKE_SUBDIR="$MAKE_SUBDIR lwlib" + + dnl Try to find Motif/CDE/Tooltalk dirs + dnl These take precedence over other X libs/includes, so PRE-pend + for lib_dir in "/usr/dt/lib" "/usr/lib/Motif1.2" "/usr/lib/Motif1.1"; do + inc_dir="`echo $lib_dir | sed 's/lib/include/'`" + if test -d "$lib_dir" -a -d "$inc_dir"; then + case "$x_libraries" in *"$lib_dir"* ) : ;; *) + x_libraries="$lib_dir $x_libraries" X_LIBS="-L${lib_dir} $X_LIBS" + esac + case "$x_includes" in "$inc_dir"* ) : ;; *) + x_includes="$inc_dir $x_includes" X_CFLAGS="-I${inc_dir} $X_CFLAGS" + esac + break; dnl only need ONE Motif implementation! fi + done + + dnl Contrib X libs/includes do NOT take precedence, so AP-pend + for rel in "X11R6" "X11R5" "X11R4"; do + lib_dir="/usr/contrib/$rel/lib" inc_dir="/usr/contrib/$rel/include" + if test -d "$lib_dir" -a -d "$inc_dir"; then + case "$x_libraries" in *"$lib_dir"* ) : ;; *) + x_libraries="$x_libraries $lib_dir" X_LIBS="$X_LIBS -L${lib_dir}" + esac + case "$x_includes" in "$inc_dir"* ) : ;; *) + x_includes="$x_includes $inc_dir" X_CFLAGS="$X_CFLAGS -I${inc_dir}" + esac + break; dnl Only need ONE X11 implementation ! 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 test -z "${x_includes}${x_libraries}" ; then - AC_FIND_X + done + + ld_switch_x_site="$X_LIBS" + + if test "$extra_verbose" = "yes"; then + echo; echo "X11 compilation variables:" + PRINT_VAR(x_libraries, x_includes, X_CFLAGS, X_LIBS, X_PRE_LIBS, X_EXTRA_LIBS) + echo + fi + + dnl make sure we can find Intrinsic.h + AC_CHECK_HEADER(X11/Intrinsic.h, , + [AC_MSG_ERROR("Unable to find X11 header files.")]) + + dnl -lXt -lX11 are required + dnl Some broken systems require the magic "-b i486-linuxaout" flag + AC_CHECK_LIB(X11, XOpenDisplay, have_lib_x11=yes) + if test "$have_lib_x11" != "yes"; then + AC_CHECK_LIB(X11, XGetFontProperty, + ld_switch_x_site="-b i486-linuxaout $ld_switch_x_site", + [AC_MSG_ERROR("Unable to find X11 libraries.")], + -b i486-linuxaout) + fi + libs_x="-lX11" + + case "$canonical" in *-sunos4.* ) # Bug workaround + ld_switch_x_site="$ld_switch_x_site -u _XtToolkitInitialize" ;; + esac + AC_CHECK_LIB(Xt, XtOpenDisplay, libs_x="-lXt $libs_x", + [AC_MSG_ERROR("Unable to find X11 libraries.")]) + + AC_MSG_CHECKING(the version of X11 being used) + AC_TRY_RUN([#include <X11/Intrinsic.h> + main(int c, char* v[]) { return c>1 ? XlibSpecificationRelease : 0; }], + [./conftest foobar; rc=$?],[rc=4],[rc=4]) + AC_MSG_RESULT(R${rc}) + AC_DEFINE_UNQUOTED(THIS_IS_X11R${rc}) + + AC_CHECK_HEADERS(X11/Xlocale.h) + + dnl remove this - we should avoid checking for specific OS + AC_MSG_CHECKING(for XFree86) + if test -d "/usr/X386/include" -o \ + -f "/etc/XF86Config" -o \ + -f "/etc/X11/XF86Config" -o \ + -f "/usr/X11R6/lib/X11/XF86Config"; then + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_XFREE386) + else + AC_MSG_RESULT(no) + fi + + dnl Autodetect -lXext + AC_CHECK_LIB(Xext, XShapeSelectInput, libs_x="-lXext $libs_x") + + dnl autodetect -lXmu + case "$canonical" in *-sunos4.* ) # Bug workaround + ld_switch_x_site="$ld_switch_x_site -u _get_applicationShellWidgetClass" ;; + esac + if test -z "$with_xmu"; then + AC_CHECK_LIB(Xmu, XmuConvertStandardSelection, with_xmu=yes, with_xmu=no) + fi + if test "$with_xmu" = "no"; then + extra_objs="$extra_objs xmu.o" + else + libs_x="-lXmu $libs_x" + fi + + dnl Autodetect -lXbsd + dnl #### Someone, please add a better function than main + AC_CHECK_LIB(Xbsd, main, libs_x="-lXbsd $libs_x") + + dnl autodetect Motif - but only add to libs_x later (if necessary) + AC_CHECK_HEADER(Xm/Xm.h, + [AC_CHECK_LIB(Xm, XmStringFree, have_motif=yes, have_motif=no)], + have_motif=no) + + dnl Autodetect -lXaw + AC_CHECK_LIB(Xaw, XawScrollbarSetThumb, have_xaw=yes, have_xaw=no) + +fi dnl $with_x11 = yes + +test -z "$window_system" && window_system="none" + +if test "$window_system" = "none" ; then + if test "$with_tty" = "no" ; then + AC_MSG_ERROR([No window system support and no TTY support - Unable to proceed.]) + fi + for feature in tooltalk cde offix \ + menubars scrollbars toolbars dialogs xim xmu \ + tiff png jpeg gif compface xpm + do + if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then + AC_MSG_WARN([--with-$feature ignored: Not valid without X support]) fi - if test -n "${x_includes}${x_libraries}" ; then window_system=x11 ; fi - ;; -esac - -test -z "${window_system}" && window_system="none" - -if test "${window_system}" = "none" ; then - if test "${with_tty}" != "yes" ; then - echo "No window system support, and no TTY support." >&2 - echo "Unable to proceed." >&2 - exit 1 - fi - for feature in cde offix menubars scrollbars toolbars dialogs xim tiff - do - if eval "test -n \"\$with_$feature\" -a \"\$with_$feature\" != no" ; then - AC_WARN(--with-$feature ignored: Not valid without X support) - fi - eval "with_$feature=no" + eval "with_${feature}=no" done -elif test -z "${with_toolbars}" ; then - with_toolbars='yes' +else + test -z "$with_toolbars" && with_toolbars=yes fi +if false; then # obsolete runtime_arg="-R${dash_r_space}" -case "${canonical}" in - *-sun-solaris* | *-sun-sunos5* ) +case "$canonical" in + *-sun-solaris* | *-sun-sunos5* ) add_runtime_flag=yes ;; *-sgi-irix5.* ) - # In the IRIX 5.3 ld, only the last -rpath arg has any effect. This is - # fundamentaly incompatible with having separate LD_SWITCH_X_SITE - # and LD_SWITCH_SITE variables. Fortunately, SGI fixed this by 6.2. - if test -n "${x_libraries}" || test -n "${site_runtime_libraries}" ; then + dnl In the IRIX 5.3 ld, only the last -rpath arg has any effect. This is + dnl fundamentaly incompatible with having separate LD_SWITCH_X_SITE + dnl and LD_SWITCH_SITE variables. Fortunately, SGI fixed this by 6.2. + if test -n "$x_libraries" || test -n "$site_runtime_libraries" ; then (echo "WARNING: The IRIX 5 ld ignores all but the last -rpath argument,"; echo " so if you need to specify more than one additional"; echo " runtime library directory, you will have to do so"; @@ -1850,884 +2002,362 @@ fi runtime_arg="-rpath " ;; *-sgi-irix* ) - # Note that IRIX gcc (as of 2.7.2) doesn't accept -rpath, so - # using it can cause trouble. Specifying --use-gcc=no will work - # around this, but the real problem is that configure uses $LDFLAGS - # as arguments to $(CC), instead of using prefix-args like the - # src/Makefile does. + dnl Note that IRIX gcc (as of 2.7.2) does not accept -rpath, so + dnl using it can cause trouble. Specifying --use-gcc=no will work + dnl around this, but the real problem is that configure uses $LDFLAGS + dnl as arguments to $(CC), instead of using prefix-args like the + dnl src/Makefile does. add_runtime_flag=yes; runtime_arg="-rpath " ;; esac - -if test -n "${x_libraries}" ; then - if test "${add_runtime_flag}" = "yes" ; then - LD_SWITCH_X_SITE="-L${x_libraries} ${runtime_arg}${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. -# test -n "${x_libraries}" -a LD_SWITCH_X_SITE_AUX="-R${x_libraries}" -test -n "${x_includes}" && C_SWITCH_X_SITE="-I${x_includes}" - -if test -n "${site_libraries}" ; then - for arg in ${site_libraries} - do - LD_SWITCH_SITE="${LD_SWITCH_SITE} -L${arg}" + +dnl --site-libraries (multiple dirs) +if test -n "$site_libraries"; then + for arg in $site_libraries; do + test -d "$arg" && arg="-L${arg}" + ld_switch_site="$ld_switch_site $arg" done fi -if test -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} ${runtime_arg}${arg}" + +dnl --site-runtime-libraries (multiple dirs) +if test -n "$site_runtime_libraries" ; then + LD_RUN_PATH="`echo $site_runtime_libraries | sed 's/ */:/'`" + export LD_RUN_PATH +fi + +dnl --site-includes (multiple dirs) +if test -n "$site_includes" ; then + for arg in $site_includes; do + test -d "$arg" && arg="-I${arg}" + c_switch_site="$c_switch_site $arg" done fi -if test -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. + + +dnl FSF 19.29 has some bitmapdir stuff here. bitmapdir= -# Avoid forcing the search of /usr/include before fixed include files. -test "$C_SWITCH_X_SITE" = "-I/usr/include" && C_SWITCH_X_SITE=" " - -# Need for check for audio/Xtutil.h. -CPP="${CPP} ${C_SWITCH_X_SITE}" - -case "${window_system}" in +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}" = "hpux9-shr"; 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 test "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 test "${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 test "${system_malloc}" = "yes" ; then - GNU_MALLOC=no - GNU_MALLOC_reason=" - (The GNU allocators don't work with this system configuration.)" -elif test "${use_system_malloc}" = "yes" ; then - GNU_MALLOC=no - GNU_MALLOC_reason=" - (User chose not to use GNU allocators.)" +case "$x_libraries" in *X11R4* ) + test "$opsys" = "hpux9" && opsysfile="s/hpux9-x11r4.h" + test "$opsys" = "hpux9-shr" && opsysfile="s/hpux9shxr4.h" +esac + +AC_DEFINE(LISP_FLOAT_TYPE) dnl Uhconditional + +dnl Used by getloadavg() - does not require root priveleges +AC_CHECK_LIB(kstat, kstat_open) + +dnl Another way to get the load average +AC_CHECK_LIB(kvm, kvm_read) + +AC_CHECK_LIB(pthreads, cma_open) +if test "$ac_cv_lib_pthreads_cma_open" = "yes"; then + case "$opsys" in decosf*) c_switch_site="$c_switch_site -threads";; esac 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. -test "${with_dnet}" != "no" -a \ - "${with_dnet}" != "yes" && { AC_HAVE_LIBRARY(-ldnet, with_dnet="yes") } -IF_YES_AC_DEFINE(with_dnet, HAVE_LIBDNET) - -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) - -dnl Alternative to getloadavg() that doesn't require root priveleges -AC_HAVE_LIBRARY(-lkstat) - -dnl Use -lintl if Mule available. -AC_HAVE_LIBRARY(-lintl, AC_DEFINE(HAVE_LIBINTL)) - -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 -f /etc/XF86Config -o \ - -f /etc/X11/XF86Config -o \ - -f /usr/X11R6/lib/X11/XF86Config; 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_YES_AC_DEFINE(with_xauth, HAVE_XAUTH) - -# -# See if we can find CDE. -# -if test "${window_system}" != "none" -a \ - "${with_cde}" != "no" -a \ - "${with_cde}" != "yes" ; then - internal_cde_lib_found='no' - AC_HAVE_LIBRARY(-lDtSvc, internal_cde_lib_found='yes') - if test "${internal_cde_lib_found}" = "no" -a -f "/usr/dt/lib/libDtSvc.a"; then - internal_cde_lib_found="yes" +AC_MSG_CHECKING(whether the -xildoff compiler flag is required) +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 AC_MSG_RESULT(no); + else AC_MSG_RESULT(yes); ld_switch_site="$ld_switch_site -xildoff" fi - if test "${internal_cde_lib_found}" = "yes" ; then - internal_cde_includes_found='no' - for arg in ${DEFS} /usr/include /usr/dt/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 + else AC_MSG_RESULT(no) fi -IF_YES_AC_DEFINE(with_cde, HAVE_CDE) - -# having CDE implies Tooltalk -if test "${with_cde}" = "yes" -a \ - "${with_tooltalk}" != "no" -a \ - "${with_tooltalk}" != "none" ; then - with_tooltalk='yes' + +dnl Autodetect Xauth +test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no +test -z "$with_xauth" && { AC_CHECK_HEADER(X11/Xauth.h, ,with_xauth=no) } +test -z "$with_xauth" && { AC_CHECK_LIB(Xau, XauGetAuthByAddr,[:],with_xauth=no) } +test -z "$with_xauth" && with_xauth=yes +if test "$with_xauth" = "yes"; then + AC_DEFINE(HAVE_XAUTH) + libs_x="-lXau $libs_x" fi -# having CDE requires Motif -if test "${with_cde}" = "yes" ; then - motif_libs="-lXm -lXt" +dnl Autodetect OffiX +test -z "$with_offix" && { AC_CHECK_HEADER(OffiX/DragAndDrop.h, , with_offix=no) } +test -z "$with_offix" && { AC_CHECK_LIB(Dnd, DndInitialize, [:] , with_offix=no) } +test -z "$with_offix" && with_offix=yes +if test "$with_offix" = "yes"; then + AC_DEFINE(HAVE_OFFIX_DND) + libs_x="-lDnd $libs_x" fi -# -# See if we can find OffiX. -# -if test "${window_system}" != "none" -a \ - "${with_offix}" != "no" -a \ - "${with_offix}" != "yes" ; then - internal_offix_lib_found='no' - AC_HAVE_LIBRARY(-lDnd, internal_offix_lib_found='yes') - if test "${internal_offix_lib_found}" = "yes" ; then - internal_offix_includes_found='no' - for arg in ${DEFS} /usr/include ; do - if test -f `echo "${arg}/OffiX/DragAndDrop.h" | sed 's/^\-I//'` ; then - internal_offix_includes_found='yes' - fi - done - test "${internal_offix_includes_found}" = "yes" && with_offix='yes' - fi -fi -IF_YES_AC_DEFINE(with_offix, HAVE_OFFIX_DND) - -# X window options -if test "${window_system}" != "none" ; then - AC_FIND_X_VERSION - AC_HAVE_HEADERS(X11/Xlocale.h) +dnl Autodetect tooltalk +test "$with_cde" = "yes" && with_tooltalk=yes # CDE requires tooltalk +if test "$with_tooltalk" != "no" ; then + dnl autodetect the location of tt_c.h + dnl tt_c.h might be in Tt or desktop include directories + for dir in "" "Tt/" "desktop/" ; do + AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_path="${dir}tt_c.h" && break) + done + test -z "$tt_c_h_path" && with_tooltalk=no 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 +if test "$with_tooltalk" != "no" ; then + for extra_libs in "" "-lI18N -lce" "-lcxx"; do + AC_CHECK_LIB(tt, tt_message_create, + with_tooltalk=yes tt_libs="-ltt $extra_libs"; break, [:],$extra_libs) done - if test "${internal_eincludes_found}" = "no" ; then - echo "Unable to find Energize editorconn.h header file." >&2 - exit 1 - fi +fi +test -z "$with_tooltalk" && with_tooltalk=no +if test "$with_tooltalk" = "yes"; then + AC_DEFINE(TOOLTALK) + AC_DEFINE_UNQUOTED(TT_C_H_PATH, "$tt_c_h_path") + libs_x="$tt_libs $libs_x" + extra_objs="$extra_objs tooltalk.o" fi -# -# logb and frexp are found in -lm on most systems. -# -AC_HAVE_LIBRARY(-lm) - -# -# see if XPM is hanging around somewhere -# -test "${window_system}" != "none" -a \ - "${with_xpm}" != "no" -a \ - "${with_xpm}" != "yes" && { AC_HAVE_LIBRARY(-lXpm, with_xpm="yes") } - -IF_YES_AC_DEFINE(with_xpm, HAVE_XPM) - -# -# 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 - test "${with_xmu}" != "yes" && { AC_HAVE_LIBRARY(-lXmu, with_xmu="yes") } - # On SunOS4 (and 5!) we must kludge harder to try to detect Xmu - # Upgrade to autoconf 2 and use ac_check_lib - mrb - if test "${with_xmu}" != "yes" ; then - # begin expansion of ac_have_library - ac_save_LIBS="${LIBS}" - LIBS="${LIBS} -lXmu -lXt -lXext -lX11 -lm" - if test ${machine} = sparc -a ${opsys} = linux; then - LIBS="${LIBS} -lICE -lSM" - 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 +dnl Autodetect CDE +test -z "$with_cde" && { AC_CHECK_HEADER(Dt/Dt.h, , with_cde=no) } +test -z "$with_cde" && { AC_CHECK_LIB(DtSvc, DtDndDragStart, [:], with_cde=no) } +test -z "$with_cde" && with_cde=yes +if test "$with_cde" = "yes" ; then + AC_DEFINE(HAVE_CDE) + libs_x="-lDtSvc $libs_x" + with_tooltalk=yes # CDE requires Tooltalk + with_motif=yes # CDE requires Motif +fi + +dnl if Energize specified, make sure we can find its need libraries/headers +if test "$with_energize" = "yes" ; then + AC_DEFINE(ENERGIZE) + AC_CHECK_LIB(energize, main, [ + LIBS="$LIBS -lenergize" + energize_version="3.X" + AC_DEFINE(ENERGIZE_3)]) + if test -z "$energize_version"; then + AC_CHECK_LIB(conn, main, [ + LIBS="$LIBS -lconn" + energize_version="2.X" + AC_DEFINE(ENERGIZE_2)], + [AC_MSG_ERROR(Unable to find Energize library.)]) fi - # Sparc/Linux test - fp - if test "${with_xmu}" != "yes" -a ${machine} = sparc -a ${opsys} = linux; then - # begin expansion of ac_have_library - ac_save_LIBS="${LIBS}" - LIBS="${LIBS} -lXmu -lXt -lXext -lX11 -lm -lICE -lSM" - 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 + AC_CHECK_HEADER(editorconn.h, , + [AC_MSG_ERROR(Unable to find Energize editorconn.h header file.)]) + + test "$energize_version" = "2.X" && AC_DEFINE(ENERGIZE_2) + test "$energize_version" = "3.X" && AC_DEFINE(ENERGIZE_3) +fi + +dnl ------------------ +dnl Graphics libraries +dnl ------------------ + +AC_CHECKING(for graphics libraries) +dnl Built-in GIF support defaults to yes +test -z "$with_gif" && with_gif=yes; +if test "$with_gif" = "yes"; then + AC_DEFINE(HAVE_GIF) + extra_objs="$extra_objs dgif_lib.o gif_err.o gifalloc.o" +fi + +dnl Autodetect Xpm +test -z "$with_xpm" && { AC_CHECK_HEADER(X11/xpm.h, ,with_xpm=no) } +test -z "$with_xpm" && { AC_CHECK_LIB(Xpm, XpmReadFileToData,[:],with_xpm=no) } +test -z "$with_xpm" && with_xpm=yes +if test "$with_xpm" = "yes"; then + AC_DEFINE(HAVE_XPM) + libs_x="-lXpm $libs_x" +fi + +dnl Autodetect XFACE +test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) } +test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) } +test -z "$with_xface" && with_xface=yes +if test "$with_xface" = "yes"; then + AC_DEFINE(HAVE_XFACE) + libs_x="-lcompface $libs_x" fi -IF_YES_AC_DEFINE(with_xmu, HAVE_XMU) - -# -# see if COMPFACE is hanging around somewhere -# -if test "${window_system}" != "none" -a \ - "${with_xface}" != "no" -a \ - "${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 + +dnl autodetect JPEG +test -z "$with_jpeg" && { AC_CHECK_HEADER(jpeglib.h, ,with_jpeg=no) } +test -z "$with_jpeg" && { AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,[:],with_jpeg=no) } +test -z "$with_jpeg" && with_jpeg=yes +if test "$with_jpeg" = "yes"; then + AC_DEFINE(HAVE_JPEG) + libs_x="-ljpeg $libs_x" fi -IF_YES_AC_DEFINE(with_xface, HAVE_XFACE) - -# -# 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 + +dnl autodetect PNG +test -z "$with_png" && { AC_CHECK_HEADER(png.h, , with_png=no) } +test -z "$with_png" && { AC_CHECK_FUNC(pow, , with_png=no) } +if test "$with_png" != "no"; then + for extra_libs in "" "-lz" "-lgz"; do + AC_CHECK_LIB(png, png_read_image, + png_libs="-lpng $extra_libs" with_png=yes; break,[:],$extra_libs) + done +fi +test -z "$with_png" && with_png=no +if test "$with_png" = "yes"; then + AC_DEFINE(HAVE_PNG) + libs_x="$png_libs $libs_x" fi -IF_YES_AC_DEFINE(with_gif, HAVE_GIF) - -dnl # 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" -a \ - "${with_jpeg}" != "yes" ; then - AC_HEADER_CHECK(jpeglib.h, jpeglib_incl="yes", with_jpeg="no") - test "${jpeglib_incl}" = "yes" && { AC_HAVE_LIBRARY(-ljpeg, with_jpeg="yes") } - fi + +dnl autodetect TIFF (not yet implemented) +if test "$with_tiff" = "yes"; then + AC_DEFINE(HAVE_TIFF) + libs_x="-ltiff $libs_x" fi -IF_YES_AC_DEFINE(with_jpeg, HAVE_JPEG) - -dnl ### 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 -test -z "${with_png}" && { AC_HEADER_CHECK(png.h, , with_png="no") } -test -z "${with_png}" && { AC_FUNC_CHECK(pow, , with_png="no") } -if test -z "${with_png}" ; then - AC_HAVE_LIBRARY(-lz, with_png="yes") - test -z "${with_png}" && { AC_HAVE_LIBRARY(-lgz, with_png="gnuz", with_png="no") } - if test "${with_png}" != "no"; then - png_save_libs="${LIBS}" - case "${with_png}" in - yes ) LIBS="${LIBS} -lz" ;; - gnuz ) LIBS="${LIBS} -lgz" ;; - esac - AC_HAVE_LIBRARY(-lpng, , with_png="no") - LIBS="$png_save_libs" - fi -fi -case "${with_png}" in - yes ) AC_DEFINE(HAVE_PNG) ;; - gnuz ) AC_DEFINE(HAVE_PNG) AC_DEFINE(HAVE_PNG_GNUZ) ;; + +dnl Finish ensuring that we have values for the various toolkit items. +dnl Not all toolkits support all widgets +dnl if Motif is available we use it for the dialog boxes. + +case "$with_menubars" in "" | "yes" | "athena" ) + with_menubars="lucid" ;; +esac +case "$with_dialogs" in "" | "yes" | "lucid" ) + if test "$have_motif" = "yes"; then with_dialogs="motif" + elif test "$have_xaw" = "yes"; then with_dialogs="athena" + else with_dialogs=no + fi ;; +esac +case "$with_scrollbars" in "" | "yes" ) + with_scrollbars="lucid" ;; +esac + +all_widgets="$with_menubars $with_scrollbars $with_dialogs $with_toolbars" + +case "$all_widgets" in *athena* ) + AC_DEFINE(LWLIB_USES_ATHENA) + libs_x="-lXaw $libs_x" ;; esac -dnl ### autodetect TIFF (not yet implemented) -IF_YES_AC_DEFINE(with_tiff, HAVE_TIFF) - -# 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 - save_libs="${LIBS}" - 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" motif_libs="-lXm -lXt" -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" motif_libs="-lXm -lXt -lXpm -lXext" -else - :; +case "$all_widgets" in *motif* ) + AC_DEFINE(LWLIB_USES_MOTIF) + need_motif=yes ;; +esac + +case "$with_scrollbars" in athena* ) AC_DEFINE(LWLIB_SCROLLBARS_ATHENA);; esac +case "$with_dialogs" in athena* ) AC_DEFINE(LWLIB_DIALOGS_ATHENA) ;; esac +test "$with_scrollbars" = "athena3d" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA3D) +test "$with_dialogs" = "athena3d" && AC_DEFINE(LWLIB_DIALOGS_ATHENA3D) + +test "$with_menubars" != "no" && AC_DEFINE(HAVE_MENUBARS) +test "$with_scrollbars" != "no" && AC_DEFINE(HAVE_SCROLLBARS) +test "$with_dialogs" != "no" && AC_DEFINE(HAVE_DIALOGS) +test "$with_toolbars" != "no" && AC_DEFINE(HAVE_TOOLBARS) + +test "$with_menubars" = "lucid" && AC_DEFINE(LWLIB_MENUBARS_LUCID) +test "$with_scrollbars" = "lucid" && AC_DEFINE(LWLIB_SCROLLBARS_LUCID) + +test "$with_menubars" = "motif" && AC_DEFINE(LWLIB_MENUBARS_MOTIF) +test "$with_scrollbars" = "motif" && AC_DEFINE(LWLIB_SCROLLBARS_MOTIF) +test "$with_dialogs" = "motif" && AC_DEFINE(LWLIB_DIALOGS_MOTIF) + +test "$with_menubars" != "no" && extra_objs="$extra_objs menubar.o" +test "$with_scrollbars" != "no" && extra_objs="$extra_objs scrollbar.o" +test "$with_dialogs" != "no" && extra_objs="$extra_objs dialog.o" +test "$with_toolbars" != "no" && extra_objs="$extra_objs toolbar.o" +test "$all_widgets" != "no no no no" && extra_objs="$extra_objs gui.o" + +if test "$with_x11" = "yes"; then + test "$with_menubars" != "no" && extra_objs="$extra_objs menubar-x.o" + test "$with_scrollbars" != "no" && extra_objs="$extra_objs scrollbar-x.o" + test "$with_dialogs" != "no" && extra_objs="$extra_objs dialog-x.o" + test "$with_toolbars" != "no" && extra_objs="$extra_objs toolbar-x.o" + test "$all_widgets" != "no no no no" && extra_objs="$extra_objs gui-x.o" fi -# end expansion of ac_have_library - fi - test "${with_dialogs}" = "motif" && AC_VERBOSE(Found Motif) - fi -fi - -# Finish ensuring that we have values for the various toolkit items. - -test "${with_menubars}" = "motif" -o \ - "${with_scrollbars}" = "motif" -o \ - "${with_dialogs}" = "motif" && with_motif="yes" -test "${with_menubars}" = "athena" -o \ - "${with_scrollbars}" = "athena" -o \ - "${with_dialogs}" = "athena" && with_athena="yes" -test "${with_menubars}" = "athena3d" -o \ - "${with_scrollbars}" = "athena3d" -o \ - "${with_dialogs}" = "athena3d" && with_athena="yes" -test "${with_menubars}" = "" && with_menubars="lucid" -test "${with_menubars}" = "athena" && with_menubars="lucid" -test "${with_scrollbars}" = "" && with_scrollbars="lucid" -test "${with_dialogs}" = "" && with_dialogs="athena" -test "${with_dialogs}" = "lucid" && with_dialogs="athena" - -test "${with_menubars}" != "no" && AC_DEFINE(HAVE_MENUBARS) -test "${with_scrollbars}" != "no" && AC_DEFINE(HAVE_SCROLLBARS) -test "${with_dialogs}" != "no" && AC_DEFINE(HAVE_DIALOGS) - -test "${with_menubars}" = "lucid" && AC_DEFINE(LWLIB_MENUBARS_LUCID) -test "${with_menubars}" = "motif" && AC_DEFINE(LWLIB_MENUBARS_MOTIF) -test "${with_scrollbars}" = "lucid" && AC_DEFINE(LWLIB_SCROLLBARS_LUCID) -test "${with_scrollbars}" = "motif" && AC_DEFINE(LWLIB_SCROLLBARS_MOTIF) -test "${with_scrollbars}" = "athena" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA) -if test "${with_scrollbars}" = "athena3d"; then - AC_DEFINE(LWLIB_SCROLLBARS_ATHENA) - AC_DEFINE(LWLIB_SCROLLBARS_ATHENA3D) -fi -test "${with_dialogs}" = "motif" && AC_DEFINE(LWLIB_DIALOGS_MOTIF) -test "${with_dialogs}" = "athena" && AC_DEFINE(LWLIB_DIALOGS_ATHENA) -if test "${with_dialogs}" = "athena3d"; then - AC_DEFINE(LWLIB_DIALOGS_ATHENA) - AC_DEFINE(LWLIB_DIALOGS_ATHENA3D) -fi - -############################################################################ -# # -# Misc other feature tests # -# # -############################################################################ - -# Mule-dependent option processing + +dnl ------------------------ +dnl Misc other feature tests +dnl ------------------------ + +dnl Mule-dependent option processing +test -z "$with_mule" && with_mule=no + if test "$with_mule" = "yes" ; then - # Do we have the XmIm* routines? And if so, do we want to use them? - test "$with_xim" != no && AC_CHECKING(for XIM) - if test -z "$with_xim" -o "$with_xim" = "yes" ; then - xim_save_libs="$LIBS" - LIBS="${motif_libs} ${LIBS}" - AC_FUNC_CHECK(XmImMbLookupString, have_XmIm=yes, have_XmIm=no) - LIBS="$xim_save_libs" - if test "$with_xim" = "yes" -a "$have_XmIm" = "yes"; then with_xim=motif - elif test "$with_xim" = "yes"; then with_xim=xlib - else with_xim=no - fi - fi + AC_DEFINE(MULE) + extra_objs="$extra_objs mule.o mule-ccl.o mule-charset.o mule-coding.o" + + dnl Use -lintl to get internationalized strerror for Mule + AC_CHECK_LIB(intl, strerror) + + AC_CHECKING(for Mule input methods) + dnl Do we have the XmIm* routines? And if so, do we want to use them? + case "$with_xim" in "" | "yes" ) + AC_CHECKING(for XIM) + AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif, with_xim=xlib) + esac if test "$with_xim" != "no" ; then AC_DEFINE(HAVE_XIM) - test "$with_xim" = "xlib" && AC_DEFINE(XIM_XLIB) - test "$with_xim" = "motif" && AC_DEFINE(XIM_MOTIF) + if test "$with_xim" = "xlib"; then + AC_DEFINE(XIM_XLIB) + extra_objs="$extra_objs input-method-xlib.o" fi - # wnn6 implies wnn support - if test "$with_wnn6" = "yes" ; then - with_wnn=yes + if test "$with_xim" = "motif"; then + AC_DEFINE(XIM_MOTIF) + need_motif=yes + extra_objs="$extra_objs input-method-motif.o" fi -else # Other internationalization features depend on Mule - with_mule="no" - for feature in xim canna wnn wnn6 ; do - if eval "test -n \"\$with_$feature\" -a \"\$with_$feature\" != no" ; then - AC_WARN(--with-$feature ignored: Not valid without Mule support) fi - eval "with_$feature=no" - done -fi - -# -# set defaults for finding WNN includes and libs -# -if test "${with_wnn}" = "yes" ; then - for arg in "-I${wnn_includes}" "-I/usr/X11R6/include/wnn" "-I/usr/include/wnn" - do - if test -f `echo "${arg}/wnnerror.h" | sed 's/^\-I//'` ; then - C_SWITCH_SITE="${C_SWITCH_SITE} ${arg}" - wnn_includes=${arg} - break + + dnl Autodetect WNN + test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support + test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/wnnerror.h, ,with_wnn=no) } + test -z "$with_wnn" && { AC_CHECK_LIB(wnn,jl_dic_list,[:],with_wnn=no) } + test -z "$with_wnn" && with_wnn=yes + if test "$with_wnn" = "yes"; then + AC_DEFINE(HAVE_WNN) + libs_x="-lwnn $libs_x" + extra_objs="$extra_objs mule-wnnfns.o" + AC_CHECK_LIB(wnn, jl_fi_dic_list, with_wnn6=yes) + test "$with_wnn6" = "yes" && AC_DEFINE(HAVE_WNN6) fi - done - for arg in "-L${wnn_libraries}" "-L/usr/X11R6/lib" "-L/usr/lib" - do - if test -f `echo "${arg}/libwnn.a" | sed 's/^\-L//'` ; then - LD_SWITCH_SITE="${LD_SWITCH_SITE} ${arg}" - wnn_libraries=${arg} - break + + dnl Autodetect canna + test -z "$with_canna" && { AC_CHECK_HEADER(canna/RK.h, , with_canna=no) } + test -z "$with_canna" && { AC_CHECK_LIB(RKC, RkBgnBun, [:],with_canna=no) } + test -z "$with_canna" && { AC_CHECK_LIB(canna,jrKanjiControl,[:],with_canna=no) } + test -z "$with_canna" && with_canna=yes + if test "$with_canna" = "yes"; then + AC_DEFINE(HAVE_CANNA) + libs_x="-lcanna -lRKC $libs_x" + extra_objs="$extra_objs mule-canna.o" fi +else # "$with_mule" = "no" + for feature in xim canna wnn; do + if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then + AC_MSG_WARN("--with-${feature} ignored: Not valid without Mule support") + fi + eval "with_${feature}=no" done fi -# -# set defaults for finding Canna includes and libs -# -if test "${with_canna}" = "yes" ; then - for arg in "-I${canna_includes}" "-I/usr/X11R6/include" - do - if test -f `echo "${arg}/canna/RK.h" | sed 's/^\-I//'` ; then - C_SWITCH_SITE="${C_SWITCH_SITE} ${arg}" - canna_includes=${arg} - break - fi - done - for arg in "-L${canna_libraries}" "-L/usr/X11R6/lib" - do - if test -f `echo "${arg}/libcanna.a" | sed 's/^\-L//'` ; then - LD_SWITCH_SITE="${LD_SWITCH_SITE} ${arg}" - canna_libraries=${arg} - break - fi - done -fi - -# 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>], + +dnl At this point, we know whether we need the motif lib or not. +test "$need_motif" = "yes" && libs_x="-lXm $libs_x" + +AC_CHECK_FUNCS(acosh asinh atanh cbrt closedir dup2 eaccess fmod fpathconf frexp ftime gethostname getpagesize gettimeofday getcwd 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) + +test "$ac_cv_func_realpath" = "yes" && extra_objs="$extra_objs realpath.o" + +dnl If netdb.h does not declare h_errno, we must declare it by hand. +AC_MSG_CHECKING(whether netdb declares h_errno) +AC_TRY_LINK([#include <netdb.h>], + [return h_errno;], + [AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_H_ERRNO)], + [AC_MSG_RESULT(no)]) + +AC_MSG_CHECKING(for sigsetjmp) +AC_TRY_COMPILE([#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 */ + [AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_SIGSETJMP)], + [AC_MSG_RESULT(no)]) + +AC_MSG_CHECKING(whether localtime caches TZ) +AC_CACHE_VAL(emacs_cv_localtime_cache, +[if test "$ac_cv_func_tzset" = "yes"; then +AC_TRY_RUN([#include <time.h> +#if STDC_HEADERS # include <stdlib.h> #endif extern char **environ; @@ -2738,16 +2368,18 @@ if (! (to[0][0] == 'T' && to[0][1] == 'Z' && to[0][2] == '=')) to++; } +char TZ_GMT0[] = "TZ=GMT0"; +char TZ_PST8[] = "TZ=PST8"; main() { time_t now = time ((time_t *) 0); int hour_GMT0, hour_unset; - if (putenv ("TZ=GMT0") != 0) + 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) + if (putenv (TZ_PST8) != 0) exit (1); if (localtime (&now)->tm_hour == hour_GMT0) exit (1); @@ -2758,14 +2390,19 @@ }], 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 +else + # If we lack tzset, report that localtime does not cache TZ, + # since we can't invalidate the cache if we don't have tzset. + emacs_cv_localtime_cache=no +fi],[:])dnl +AC_MSG_RESULT($emacs_cv_localtime_cache) +if test $emacs_cv_localtime_cache = yes; then AC_DEFINE(LOCALTIME_CACHE) fi -if test "x$HAVE_TIMEVAL" = xyes; then -AC_COMPILE_CHECK(whether gettimeofday can't accept two arguments, -[ +if test "$HAVE_TIMEVAL" = "yes"; then +AC_MSG_CHECKING(whether gettimeofday cannot accept two arguments) +AC_TRY_LINK([ #ifdef TIME_WITH_SYS_TIME #include <sys/time.h> #include <time.h> @@ -2782,279 +2419,434 @@ struct timezone dummy; gettimeofday (&time, &dummy); ], - [AC_VERBOSE(no)], - [AC_VERBOSE(yes) + [AC_MSG_RESULT(no)], + [AC_MSG_RESULT(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 getcwd 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=) -test -n "$found_mmap" && AC_DEFINE(HAVE_MMAP) - -dnl # rel_alloc requires either GNU malloc or system malloc with mmap -dnl # We only turn rel_alloc on by default if mmap is available. -test "${GNU_MALLOC}" != "yes" -a "${found_mmap}" != "true" && rel_alloc=no -test "${rel_alloc}" = "default" -a "${found_mmap}" = "true" && rel_alloc=yes - -# Check for Internet sockets. - -ok_so_far=true -AC_FUNC_CHECK(socket, , ok_so_far=) -test -n "$ok_so_far" && { AC_HEADER_CHECK(netinet/in.h, , ok_so_far=) } -test -n "$ok_so_far" && { AC_HEADER_CHECK(arpa/inet.h, , ok_so_far=) } -if test -n "$ok_so_far"; then + +AC_C_INLINE +test "$ac_cv_c_inline" != "no" && AC_DEFINE(HAVE_INLINE) + + +AC_FUNC_ALLOCA +test -n "$ALLOCA" && extra_objs="$extra_objs $ALLOCA" + +dnl Check whether vfork exists and works correctly. (This does more +dnl than just check for its existence.) If so, it defines HAVE_VFORK_H. +dnl If not, it defines vfork to be fork. +AC_FUNC_VFORK + +dnl Check whether strcoll exists and works correctly. (This does more +dnl than just check for its existence.) If so, it defines HAVE_STRCOLL. +AC_FUNC_STRCOLL + +AC_CHECK_SIZEOF(short) +AC_CHECK_SIZEOF(int) +AC_CHECK_SIZEOF(long) + +AC_FUNC_MMAP + +dnl rel_alloc requires either GNU malloc or system malloc with mmap +dnl We only turn rel_alloc on by default if mmap is available. +test "$GNU_MALLOC" != "yes" -a "$ac_cv_func_mmap_fixed_mapped" != "yes" && rel_alloc=no +test "$rel_alloc" = "default" -a "$ac_cv_func_mmap_fixed_mapped" = "yes" && rel_alloc=yes +test "$rel_alloc" = "yes" && AC_DEFINE(REL_ALLOC) + +dnl Check for Internet sockets. +AC_CHECK_FUNC(socket, + [AC_CHECK_HEADER(netinet/in.h, + [AC_CHECK_HEADER(arpa/inet.h, [ 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=) - test -n "$ok_so_far" && { AC_HEADER_CHECK(sys/ipc.h, , ok_so_far=) } - test -n "$ok_so_far" && { AC_HEADER_CHECK(sys/msg.h, , ok_so_far=) } - test -n "$ok_so_far" && AC_DEFINE(HAVE_SYSVIPC) -fi - -# Check for directory variants - -sysv_system_dir= -nonsystem_dir_library= -AC_HEADER_CHECK(dirent.h, sysv_system_dir=yes, ) -test -z "$sysv_system_dir" && - { AC_HEADER_CHECK(sys/dir.h, , nonsystem_dir_library=yes) } -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 - -dnl # 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, ) -dnl # TERMIOS systems may have termio.h, but not vice-versa, I think. -test -z "$have_termios" && { AC_HEADER_CHECK(termio.h, have_termio=yes, ) } -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), ) - -# AIX export list -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 - -dnl # Set up the CFLAGS for real compilation, so we can substitute it. + AC_MSG_CHECKING("for sun_len member in struct sockaddr_un") + AC_TRY_LINK([ +#include <sys/types.h> +#include <sys/socket.h> +#include <sys/un.h> + ], + [static struct sockaddr_un x; x.sun_len = 1;], + [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOCKADDR_SUN_LEN)], + [AC_MSG_RESULT(no)])])])]) + +dnl Check for SYS V IPC. (Inferior to sockets.) +AC_CHECK_FUNC(msgget, + [AC_CHECK_HEADER(sys/ipc.h, + [AC_CHECK_HEADER(sys/msg.h, + [AC_DEFINE(HAVE_SYSVIPC)])])]) + +dnl Check for directory variants +AC_CHECK_HEADER(dirent.h, [AC_DEFINE(SYSV_SYSTEM_DIR)], + [AC_CHECK_HEADER(sys/dir.h, , [AC_DEFINE(NONSYSTEM_DIR_LIBRARY)])]) + +dnl Check for nlist.h +AC_CHECK_HEADER(nlist.h, AC_DEFINE(NLIST_STRUCT), ) + +dnl AIX export list +for f in "/usr/lpp/X11/bin/smt.exp" "/usr/bin/X11/smt.exp" ; do + if test -r $f; then AC_DEFINE_UNQUOTED(AIX_SMT_EXP, -bI:$f) break; fi +done + +dnl Set up the CFLAGS for real compilation, so we can substitute it. CFLAGS="$REAL_CFLAGS" -dnl # Find out which version of XEmacs this is. -file="${srcdir}/lisp/version.el" +dnl Find out which version of XEmacs this is. +file="$srcdir/lisp/version.el" version=`sed -ne 's/^(defconst emacs-version "\(.*\)".*/\1/p' "$file"` -if test -z "${version}"; then - echo "${progname}: can't find current emacs version in \"$file\"." >&2 +if test -z "$version"; then + echo "$progname: can't find current emacs version in \"$file\"." >&2 exit 1 fi beta=`sed -ne 's/^.*XEmacs Lucid (beta\([[0-9]][[0-9]]*\)).*$/\1/p' "$file"` test -n "$beta" && version="${version}-b${beta}" -dnl # Check for sound of various sorts. - -# the following needs to be fixed for SGI. -if test -z "${native_sound_lib}" ; then - if test -r /usr/demo/SOUND/lib/libaudio.a; then - native_sound_lib=/usr/demo/SOUND/lib/libaudio.a - elif test -r /usr/demo/SOUND/libaudio.a ; then - native_sound_lib=/usr/demo/SOUND/libaudio.a +dnl Check for sound of various sorts. + +dnl Autodetect native sound +AC_CHECKING("for sound support") +case "$with_sound" in + native | both ) with_native_sound=yes;; + nas | no ) with_native_sound=no;; +esac +if test "$with_native_sound" != "no"; then + dnl Autodetect Sun native sound from SUNWaudmo package + if test -d "/usr/demo/SOUND"; then + sound_found="yes" extra_objs="$extra_objs sunplay.o" + if test -d "/usr/demo/SOUND/include" + then sound_cflags="-I/usr/demo/SOUND/include" + else sound_cflags="-I/usr/demo/SOUND" + fi + if test -z "$native_sound_lib" ; then + if test -r "/usr/demo/SOUND/lib/libaudio.a" + then native_sound_lib="/usr/demo/SOUND/lib/libaudio.a" + else native_sound_lib="/usr/demo/SOUND/libaudio.a" + fi + fi else - case "${canonical}" in - *-sgi-* ) AC_HAVE_LIBRARY(-laudio, native_sound_lib="-laudio") ;; - hppa*-hp-hpux* ) AC_HAVE_LIBRARY(-lAlib, native_sound_lib="-lAlib") ;; + case "$canonical" in \ + *-sgi-* ) + AC_CHECK_LIB(audio, ALopenport, native_sound_lib="-laudio") + if test "$native_sound_lib" = "-laudio"; then + sound_found="yes" extra_objs="$extra_objs sgiplay.o" sound_cflags="" + fi ;; + hppa*-hp-hpux* ) + AC_CHECK_LIB(Alib, AOpenAudio, native_sound_lib="-lAlib") + if test "$native_sound_lib" = "-lAlib"; then + sound_found="yes" extra_objs="$extra_objs hpplay.o" + if test "$with_gcc" = "yes" # Kludge city + then sound_cflags="-Dconst= -Dvolatile= -I/usr/audio/examples" + else sound_cflags="+e -I/usr/audio/examples" + fi + fi ;; esac fi + + if test -z "$sound_found"; then + for dir in "machine" "sys" "linux"; do + AC_CHECK_HEADER(${dir}/soundcard.h, + sound_found=yes + extra_objs="$extra_objs linuxplay.o" + [AC_DEFINE_UNQUOTED(SOUNDCARD_H_PATH, "${dir}/soundcard.h")] + break) + done + fi + + test "$sound_found" = "yes" && with_native_sound=yes fi -test -z "${with_sound}" -a -n "${native_sound_lib}" && with_sound="native"; - -#### If the nas library doesn't contain the error jump point, then -#### we force safer behaviour. - -if test "${with_sound}" = "nas" -o \ - "${with_sound}" = "both"; then - AC_HEADER_EGREP(AuXtErrorJump,audio/Xtutil.h, , old_nas=true) -fi - -if test "${with_cde}" = "yes" ; then - if test -f "/usr/dt/include/Dt/Dt.h" ; then - C_SWITCH_X_SITE="${C_SWITCH_X_SITE} -I/usr/dt/include" - fi - if test -f "/usr/dt/lib/libDtSvc.a" ; then - LD_SWITCH_X_SITE="${LD_SWITCH_X_SITE} -L/usr/dt/lib" + +if test -z "$with_sound"; then + if test "$with_native_sound" = "yes" -o -n "$native_sound_lib"; then + with_sound=native fi fi -if test "${with_tooltalk}" = "yes" ; then - for arg in "-I/usr/include/desktop" "-I${OPENWINHOME-/usr/openwin}/include/desktop" "-I/usr/dt/include/Tt" - do - if test -f `echo "${arg}/tt_c.h" | sed 's/^\-I//'` ; then - C_SWITCH_X_SITE="${C_SWITCH_X_SITE} ${arg}" - fi - done - for arg in "-L/usr/lib" "-L${OPENWINHOME-/usr/openwin}/lib" "-L/usr/dt/lib" - do - case "${arg}" in - -L*) if test -f `echo "${arg}/libtt.a" | sed 's/^\-L//'` ; then - dash_r='' - if test "${add_runtime_flag}" = "yes" ; then - dash_r=`echo ${arg} | sed "s/^-L */${runtime_arg}/"` - fi - LD_SWITCH_X_SITE="${LD_SWITCH_X_SITE} ${arg} ${dash_r}" - fi - ;; - esac - done +if test "$with_native_sound" = "yes"; then + AC_DEFINE(HAVE_NATIVE_SOUND) + test -n "$native_sound_lib" && LIBS="$LIBS $native_sound_lib" fi -dnl Check for ncurses. - -if test "${with_tty}" != "no" ; then - AC_HAVE_LIBRARY(-lncurses, have_ncurses=yes, have_ncurses=no) - if test "${have_ncurses}" = "yes" ; then +case "$with_sound" in both | nas ) + AC_DEFINE(HAVE_NAS_SOUND) + extra_objs="$extra_objs nas.o" + LIBS="$LIBS -laudio" + dnl If the nas library does not contain the error jump point, + dnl then we force safer behaviour. + AC_EGREP_HEADER(AuXtErrorJump,audio/Xtutil.h,,[AC_DEFINE(NAS_NO_ERROR_JUMP)]) +esac + + +dnl TTY-dependent options + + +AC_CHECKING("how to do terminal I/O") + +test -z "$with_tty" && with_tty=yes + +if test "$with_tty" = "yes" ; then + AC_DEFINE(HAVE_TTY) + + dnl Check for terminal I/O variants + dnl TERMIOS systems may have termio.h, but not vice-versa, I think. + AC_CHECK_HEADER(termios.h, [AC_DEFINE(HAVE_TERMIOS)], + [AC_CHECK_HEADER(termio.h, [AC_DEFINE(HAVE_TERMIO)])]) + + dnl Autodetect gpm + #### Attn: Bill Perry: Remove next line when GPM support is added + test -z "$with_gpm" && with_gpm=no + + test -z "$with_gpm" && { AC_CHECK_HEADER(gpm.h, , with_gpm=no) } + test -z "$with_gpm" && { AC_CHECK_LIB(gpm, connect_to_gpm, with_gpm=yes, with_gpm=no) } + if test "$with_gpm" = "yes"; then + AC_DEFINE(HAVE_GPM) + extra_objs="$extra_objs gpmevent.o" + LIBS="$LIBS -lgpm" + fi + + dnl Autodetect ncurses. + if test -z "$with_ncurses"; then + AC_CHECK_LIB(ncurses, tparm, with_ncurses=yes, with_ncurses=no) + fi + if test "$with_ncurses" = "yes"; then AC_DEFINE(HAVE_NCURSES) - AC_HEADER_CHECK(ncurses/term.h, have_ncurses_term_h=yes, have_ncurses_term_h=no) - IF_YES_AC_DEFINE(have_ncurses_term_h, HAVE_NCURSES_TERM_H) - AC_HEADER_CHECK(ncurses/curses.h, have_ncurses_curses_h=yes, have_ncurses_curses_h=no) - if test "${have_ncurses_curses_h}" = "no" ; then + AC_CHECK_HEADER(ncurses/curses.h, curses_h_path=ncurses/curses.h) + AC_CHECK_HEADER(ncurses/term.h, term_h_path=ncurses/term.h) + extra_objs="$extra_objs terminfo.o" + LIBS="$LIBS -lncurses" + + if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then dnl Try again, and check for the bogus ncurses/ include bug. dnl (i.e. ncurses/curses.h bogusly includes <unctrl.h> instead of dnl <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 test "${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}" + save_c_switch_site="$c_switch_site" + c_switch_site="$c_switch_site -I/usr/include/ncurses" + AC_CHECK_HEADER(ncurses/curses.h, curses_h_path=ncurses/curses.h) + if test "$ac_cv_header_ncurses_curses_h" = "yes"; + then AC_MSG_WARN("Your system has the bogus ncurses include bug.") + else c_switch_site="$save_c_switch_site" fi fi - IF_YES_AC_DEFINE(have_ncurses_curses_h, HAVE_NCURSES_CURSES_H) + else dnl "$with_ncurses" = "no" + dnl Autodetect terminfo/-ltermlib/-ltermcap/-lcurses + AC_CHECK_LIB(termlib, tgoto, have_libtermlib=yes, have_libtermlib=no) + AC_CHECK_LIB(termcap, tgoto, have_libtermcap=yes, have_libtermcap=no) + AC_CHECK_LIB(curses, tparm, have_libcurses=yes, have_libcurses=no) + + if test "$have_terminfo" = "yes"; then + extra_objs="$extra_objs terminfo.o" + if test -n "$libs_termcap"; then LIBS="$LIBS $libs_termcap" + elif test "$have_libcurses" = "yes"; then LIBS="$LIBS -lcurses" + elif test "$have_libtermlib" = "yes"; then LIBS="$LIBS -ltermlib" + elif test "$have_libtermcap" = "yes"; then LIBS="$LIBS -ltermcap" + fi + else dnl "$have_terminfo" = "no" && "with_ncurses" = "no" + extra_objs="$extra_objs tparam.o" + if test -n "$libs_termcap"; then LIBS="$LIBS $libs_termcap" + elif test "$have_libtermcap" = "yes"; then LIBS="$LIBS -ltermcap" + elif test "$have_libcurses" = "yes"; then LIBS="$LIBS -lcurses" + else extra_objs="$extra_objs termcap.o" + fi + fi fi + AC_DEFINE_UNQUOTED(CURSES_H_PATH, "${curses_h_path-curses.h}") + AC_DEFINE_UNQUOTED(TERM_H_PATH, "${term_h_path-term.h}") +else # "$with_tty" = "no" + for feature in ncurses gpm; do + if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then + AC_MSG_WARN("--with-${feature} ignored: Not valid without TTY support") + fi + eval "with_${feature}=no" + done fi -dnl 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 Database support +dnl <mdiers@logware.de> +dnl We do not 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 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 :) -if test "${with_database_berkdb}" != "no" ; then - AC_HAVE_LIBRARY(-ldb, have_libdb=yes, have_libdb=no) - IF_YES_AC_DEFINE(have_libdb, HAVE_LIBDB) - if test "${with_database_berkdb}" != "yes" ; then - if test "${have_libdb}" = "yes" ; then - with_database_berkdb=yes - else - AC_FUNC_CHECK(dbopen, with_database_berkdb=yes, with_database_berkdb=no) +AC_CHECKING(for database support) + +if test "$with_database_gnudbm" != "no" ; then + AC_CHECK_LIB(gdbm, dbm_open, with_database_gnudbm=yes have_libgdbm=yes) + if test "$with_database_gnudbm" != "yes"; then + AC_CHECK_FUNC(dbm_open, with_database_gnudbm=yes) + fi + if test "$with_database_gnudbm" = "yes" ; then + AC_DEFINE(HAVE_DBM) + test "$have_libgdbm" = "yes" && LIBS="$LIBS -lgdbm" + with_database_dbm=no + else with_database_gnudbm=no + fi +fi + +if test "$with_database_dbm" != "no" ; then + AC_CHECK_FUNC(dbm_open, with_database_dbm=yes need_libdbm=no) + if test "$need_libdbm" != "no"; then + AC_CHECK_LIB(dbm, dbm_open, with_database_dbm=yes need_libdbm=yes) + fi + if test "$with_database_dbm" = "yes" ; then + AC_DEFINE(HAVE_DBM) + test "$need_libdbm" = "yes" && LIBS="$LIBS -ldbm" + else with_database_dbm=no + fi +fi + +if test "$with_database_berkdb" != "no"; then + AC_CHECK_FUNC(dbopen, with_database_berkdb=yes need_libdb=no) + if test "$need_libdb" != "no"; then + AC_CHECK_LIB(db, dbopen, with_database_berkdb=yes need_libdb=yes) fi + if test "$with_database_berkdb" = "yes"; then + for path in "db/db.h" "db.h"; do +AC_TRY_COMPILE([#ifdef HAVE_INTTYPES_H +#define __BIT_TYPES_DEFINED__ +#include <inttypes.h> +typedef uint8_t u_int8_t; +typedef uint16_t u_int16_t; +typedef uint32_t u_int32_t; +#ifdef WE_DONT_NEED_QUADS +typedef uint64_t u_int64_t; +#endif +#endif +#include <$path> +],[], db_h_path="$path"; break) + done + test -z "$db_h_path" && with_database_berkdb=no + fi + if test "$with_database_berkdb" = "yes"; then + AC_DEFINE_UNQUOTED(DB_H_PATH, "$db_h_path") + AC_DEFINE(HAVE_BERKELEY_DB) + test "$need_libdb" = "yes" && LIBS="$LIBS -ldb" + else with_database_berkdb=no fi fi -IF_YES_AC_DEFINE(with_database_berkdb, HAVE_BERKELEY_DB) - -if test "${with_database_gnudbm}" != "no" ; then - AC_HAVE_LIBRARY(-lgdbm, have_libgdbm=yes, have_libgdbm=no) - IF_YES_AC_DEFINE(have_libgdbm, HAVE_LIBGDBM) - test -z "${with_database_gnudbm}" && with_database_gnudbm="${have_libgdbm}" + +if test "$with_database_gnudbm" = "yes" -o \ + "$with_database_dbm" = "yes" -o \ + "$with_database_berkdb" = "yes"; then + AC_DEFINE(HAVE_DATABASE) + extra_objs="$extra_objs database.o" +fi + +dnl Socks support +if test "$with_socks" = "yes"; then + AC_CHECK_LIB(socks, SOCKSinit) + test -n "$ac_cv_lib_socks_SOCKSinit" && AC_DEFINE(HAVE_SOCKS) +fi + +dnl Usage tracking (undocumented and likely unused option) +if test "$usage_tracking" = "yes"; then + AC_DEFINE(USAGE_TRACKING) + LIBS="$LIBS -Bstatic -lut -Bdynamic" fi -if test "${with_database_gnudbm}" = "yes" ; then - AC_DEFINE(HAVE_DBM) - AC_DEFINE(HAVE_GNU_DBM) - with_database_dbm=no + +dnl ------------------------------------- +dnl Compute runtime library path +dnl ------------------------------------- + +if test "$dynamic" = "no"; then add_runtime_path=no +elif test -n "$LD_RUN_PATH"; then add_runtime_path=yes +else case "$canonical" in + *-solaris2.* | *-sgi-irix* ) add_runtime_path=yes ;; + * ) add_runtime_path=no ;; + esac fi -if test "${with_database_dbm}" != "no" ; then - AC_HAVE_LIBRARY(-ldbm, have_libdbm=yes, have_libdbm=no) - IF_YES_AC_DEFINE(have_libdbm, HAVE_LIBDBM) - if test "${with_database_dbm}" != "yes" ; then - if test "${have_libdbm}" = "yes" ; then - with_database_dbm=yes - else - AC_FUNC_CHECK(dbm_open, with_database_dbm=yes, with_database_dbm=no) - fi +if test "$add_runtime_path" = "yes"; then + dnl Try to autodetect runtime library flag (usually -R), + dnl and whether it works (or at least does no harm) + AC_MSG_CHECKING("for runtime libraries flag") + dash_r="" + for try_dash_r in "-R" "-R " "-rpath "; do + xe_check_libs="${try_dash_r}/no/such/file-or-directory" + AC_TRY_LINK(, , dash_r="$try_dash_r") + xe_check_libs="" + test -n "$dash_r" && break + done + if test -n "$dash_r"; + then AC_MSG_RESULT("\"${dash_r}\"") + else AC_MSG_RESULT(NONE) fi fi -IF_YES_AC_DEFINE(with_database_dbm, HAVE_DBM) - - -############################################################################ -# # -# Substitute into Makefile and config.h # -# # -############################################################################ - -dnl what sort of things we'll be editing into Makefile and config.h. + +if test "$add_runtime_path" = "yes" -a -n "$dash_r"; then + dnl Remove runtime paths from current ld switches + ld_switch_site="`echo $ld_switch_site | sed \"s/${dash_r}[[^ ]]*//\"`" + ld_switch_x_site="`echo $ld_switch_x_site | sed \"s/${dash_r}[[^ ]]*//\"`" + dnl PRINT_VAR(ld_switch_site, ld_switch_x_site) + + dnl Fix up Runtime path + dnl If LD_RUN_PATH is set in environment, use that. + dnl In this case, assume user has set the right value. + if test -n "$LD_RUN_PATH"; then + runpath="$LD_RUN_PATH" + else + dnl Add all directories with .so files to runpath + runpath="" + for arg in $ld_switch_site $ld_switch_x_site; do + case "$arg" in -L* ) + dir=`echo $arg | sed 's/^-L//'` + if test -n "`ls ${dir}/*.so 2>/dev/null`"; then + test -n "$runpath" && runpath="${runpath}:" + runpath="${runpath}${dir}" + fi + ;; + esac + done + dnl Sometimes /opt/SUNWdt/lib is the only installed Motif available + case "$canonical" in *-solaris2.* ) + test "$have_motif" = "yes" && runpath="${runpath}:/opt/SUNWdt/lib" ;; + esac + fi + + if test -n "$runpath"; then + ld_switch_site="$ld_switch_site ${dash_r}${runpath}" + test "$extra_verbose" = "yes" && echo "Setting runpath to $runpath" + fi +fi + +dnl -------------------------------- +dnl Compute SUBST-itutable variables +dnl -------------------------------- +dnl We ignore (C|LD)_SWITCH_X_(MACHINE|SYSTEM) +c_switch_general="-DHAVE_CONFIG_H $c_switch_site $c_switch_machine $c_switch_system" +c_switch_window_system="$c_switch_x_site $X_CFLAGS" +c_switch_all="$c_switch_general $c_switch_window_system" +ld_switch_general="$ld_switch_site $ld_switch_machine $ld_switch_system" +ld_switch_window_system="$ld_switch_x_site" +ld_switch_all="$ld_switch_general $ld_switch_window_system" +ld_libs_general="$LIBS $libs_machine $libs_system $libs_standard" +ld_libs_window_system="$X_PRE_LIBS $libs_x $X_EXTRA_LIBS" +ld_libs_all="$ld_libs_window_system $ld_libs_general" + +dnl Compute lists of Makefiles +internal_makefile_list="Makefile" +SUBDIR_MAKEFILES='' +for dir in $MAKE_SUBDIR; do + SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $dir/Makefile" + internal_makefile_list="$internal_makefile_list $dir/Makefile.in" +done +AC_SUBST(MAKE_SUBDIR) +AC_SUBST(SUBDIR_MAKEFILES) + +if test "$extra_verbose" = "yes"; then + echo "" + PRINT_VAR(extra_objs, + c_switch_general, c_switch_window_system, c_switch_all, + ld_switch_general, ld_switch_window_system, ld_switch_all, + ld_libs_general, ld_libs_window_system, ld_libs_all) + echo "" +fi + +dnl ------------------------------------- +dnl Substitute into Makefile and config.h +dnl ------------------------------------- + +dnl what sort of things to edit into Makefile and config.h. dnl configuration here uncanonicalized to avoid exceeding size limits. AC_SUBST(version) @@ -3081,31 +2873,48 @@ 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(extra_objs) + +dnl The following flags combine all the information from: +dnl - command line options (user always gets priority) +dnl - user environment variables +dnl - determined by configure +dnl - the s&m header files (deprecated) AC_SUBST(machfile) AC_SUBST(opsysfile) +AC_SUBST(c_switch_general) +AC_SUBST(c_switch_window_system) +AC_SUBST(c_switch_all) +AC_SUBST(ld_switch_general) +AC_SUBST(ld_switch_window_system) +AC_SUBST(ld_switch_all) +AC_SUBST(ld_libs_general) +AC_SUBST(ld_libs_window_system) +AC_SUBST(ld_libs_all) +AC_SUBST(libsrc_libs) +AC_SUBST(CFLAGS) +AC_SUBST(CPPFLAGS) +AC_SUBST(LDFLAGS) + +AC_SUBST(native_sound_lib) +AC_SUBST(sound_cflags) AC_SUBST(RANLIB) AC_SUBST(dynodump_arch) -AC_DEFINE_UNQUOTED(EMACS_VERSION, "${version}") -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}) +AC_DEFINE_UNQUOTED(EMACS_VERSION, $version) +AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$canonical") +AC_DEFINE_UNQUOTED(config_machfile, "$machfile") +AC_DEFINE_UNQUOTED(config_opsysfile, "$opsysfile") +AC_DEFINE_UNQUOTED(UNEXEC_SRC, $UNEXEC_SRC) + +dnl Following are deprecated + +null_string="" +AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, $null_string) +AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE_AUX, $null_string) +AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE, $null_string) +AC_DEFINE_UNQUOTED(LD_SWITCH_SITE, $null_string) +AC_DEFINE_UNQUOTED(C_SWITCH_SITE, $null_string) dnl Note: as a general rule, *only* define things here that are not dnl autodetected. For things that are autodetected, define them @@ -3113,136 +2922,106 @@ dnl so that the user gets immediate feedback on the results of the dnl autodetection. -test -n "${puresize}" && AC_DEFINE_UNQUOTED(RAW_PURESIZE, ${puresize}) -IF_YES_AC_DEFINE(HAVE_X_WINDOWS,HAVE_X_WINDOWS) -IF_YES_AC_DEFINE(HAVE_XFREE386, HAVE_XFREE386) - -if test "${GNU_MALLOC}" = yes; then AC_DEFINE(GNU_MALLOC) -elif test "${use_system_malloc}" = yes; then AC_DEFINE(USE_SYSTEM_MALLOC) +test -n "$puresize" && AC_DEFINE_UNQUOTED(RAW_PURESIZE, $puresize) + +if test "$GNU_MALLOC" = "yes"; then AC_DEFINE(GNU_MALLOC) +elif test "$use_system_malloc" = "yes"; then AC_DEFINE(USE_SYSTEM_MALLOC) fi -IF_YES_AC_DEFINE(rel_alloc, REL_ALLOC) -IF_YES_AC_DEFINE(LISP_FLOAT_TYPE, LISP_FLOAT_TYPE) -IF_YES_AC_DEFINE(with_motif, LWLIB_USES_MOTIF) -IF_YES_AC_DEFINE(with_athena, LWLIB_USES_ATHENA) -IF_YES_AC_DEFINE(with_toolbars, HAVE_TOOLBARS) -IF_YES_AC_DEFINE(with_tty, HAVE_TTY) -IF_YES_AC_DEFINE(with_tooltalk, TOOLTALK) -IF_YES_AC_DEFINE(with_i18n3, I18N3) -IF_YES_AC_DEFINE(with_mule, MULE) -IF_YES_AC_DEFINE(with_canna, HAVE_CANNA) -IF_YES_AC_DEFINE(with_wnn, HAVE_WNN) -IF_YES_AC_DEFINE(with_wnn6, WNN6) -IF_YES_AC_DEFINE(with_mock, MOCKLISP_SUPPORT) -IF_YES_AC_DEFINE(with_sparcworks,SUNPRO) -IF_YES_AC_DEFINE(usage_tracking, USAGE_TRACKING) -IF_YES_AC_DEFINE(need_dynodump, DYNODUMP) -IF_YES_AC_DEFINE(need_xildoff, NEED_XILDOFF) -IF_YES_AC_DEFINE(with_gcc, USE_GCC) -IF_YES_AC_DEFINE(with_lcc, USE_LCC) -IF_YES_AC_DEFINE(with_socks, HAVE_SOCKS) -IF_YES_AC_DEFINE(with_term, HAVE_TERM) -IF_YES_AC_DEFINE(external_widget,EXTERNAL_WIDGET) -IF_YES_AC_DEFINE(with_gnu_make, USE_GNU_MAKE) -IF_YES_AC_DEFINE(no_doc_file, NO_DOC_FILE) -IF_YES_AC_DEFINE(const_is_losing,CONST_IS_LOSING) -IF_YES_AC_DEFINE(use_assertions, USE_ASSERTIONS) -IF_YES_AC_DEFINE(debug, DEBUG_XEMACS) -IF_YES_AC_DEFINE(quantify, QUANTIFY) -IF_YES_AC_DEFINE(memory_usage_stats, MEMORY_USAGE_STATS) -IF_YES_AC_DEFINE(with_pop, MAIL_USE_POP) -IF_YES_AC_DEFINE(with_kerberos, KERBEROS) -IF_YES_AC_DEFINE(with_hesiod, HESIOD) - -IF_YES_AC_DEFINE(error_check_extents, ERROR_CHECK_EXTENTS) -IF_YES_AC_DEFINE(error_check_typecheck, ERROR_CHECK_TYPECHECK) -IF_YES_AC_DEFINE(error_check_bufpos, ERROR_CHECK_BUFPOS) -IF_YES_AC_DEFINE(error_check_gc, ERROR_CHECK_GC) -IF_YES_AC_DEFINE(error_check_malloc, ERROR_CHECK_MALLOC) - -if test "${with_energize}" = yes; then - AC_DEFINE(ENERGIZE) - test "${energize_version}" = "2.X" && AC_DEFINE(ENERGIZE_2) - test "${energize_version}" = "3.X" && AC_DEFINE(ENERGIZE_3) -fi - -test "${with_sound}" = "native" -o "${with_sound}" = "both" && AC_DEFINE(HAVE_NATIVE_SOUND) -test "${with_sound}" = "nas" -o "${with_sound}" = "both" && AC_DEFINE(HAVE_NAS_SOUND) -test "${old_nas}" = "true" && AC_DEFINE(NAS_NO_ERROR_JUMP) - -test "${use_union_type}" != yes && AC_DEFINE(NO_UNION_TYPE) - -dnl ############################################################################ -dnl # Report on what we decided to do # -dnl ############################################################################ +test "$with_motif" = "yes" && AC_DEFINE(LWLIB_USES_MOTIF) +test "$with_i18n3" = "yes" && AC_DEFINE(I18N3) +test "$with_mocklisp" = "yes" && AC_DEFINE(MOCKLISP_SUPPORT) +test "$with_gcc" = "yes" && AC_DEFINE(USE_GCC) +test "$with_term" = "yes" && AC_DEFINE(HAVE_TERM) +test "$external_widget" = "yes" && AC_DEFINE(EXTERNAL_WIDGET) +test "$with_gnu_make" = "yes" && AC_DEFINE(USE_GNU_MAKE) +test "$no_doc_file" = "yes" && AC_DEFINE(NO_DOC_FILE) +test "$const_is_losing" = "yes" && AC_DEFINE(CONST_IS_LOSING) +test "$use_assertions" = "yes" && AC_DEFINE(USE_ASSERTIONS) +test "$debug" = "yes" && AC_DEFINE(DEBUG_XEMACS) +test "$with_quantify" = "yes" && AC_DEFINE(QUANTIFY) +test "$memory_usage_stats" = "yes" && AC_DEFINE(MEMORY_USAGE_STATS) +test "$with_pop" = "yes" && AC_DEFINE(MAIL_USE_POP) +test "$with_kerberos" = "yes" && AC_DEFINE(KERBEROS) +test "$with_hesiod" = "yes" && AC_DEFINE(HESIOD) + +test "$error_check_extents" = "yes" && AC_DEFINE(ERROR_CHECK_EXTENTS) +test "$error_check_typecheck" = "yes" && AC_DEFINE(ERROR_CHECK_TYPECHECK) +test "$error_check_bufpos" = "yes" && AC_DEFINE(ERROR_CHECK_BUFPOS) +test "$error_check_gc" = "yes" && AC_DEFINE(ERROR_CHECK_GC) +test "$error_check_malloc" = "yes" && AC_DEFINE(ERROR_CHECK_MALLOC) + +test "$use_union_type" != yes && AC_DEFINE(NO_UNION_TYPE) + +dnl ------------------------------- +dnl Report on what we decided to do +dnl ------------------------------- ( -if test -f /etc/osversion; then - # SONY NEWS-OS - echo "osversion: `cat /etc/osversion`" -eles - echo "uname -a: `uname -a`" +dnl /etc/osversion is on SONY NEWS-OS +if test -f /etc/osversion; then dnl SONY NEWS-OS + echo "osversion: `cat /etc/osversion`" +else + echo "uname -a: `uname -a`" fi -echo "" -echo "$0 $quoted_arguments" +echo "" +echo "$0 $quoted_arguments" ) >> Installation -# Start stdout redirection to '| tee -a Installation' + +dnl Start stdout redirection to '| tee -a Installation' ( echo " -Configured for \`${canonical}'. - - Where should the build process find the source code? ${srcdir} - What installation prefix should install use? ${prefix} +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} + \`$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 test -n "$site_includes"; then - echo " Additional header files: ${site_includes}" + Should XEmacs use the relocating allocator for buffers? $rel_alloc + What window system should XEmacs use? ${window_system}" +if test "$with_x11" = "yes"; then + echo " Where do we find X Windows header files? $x_includes" + echo " Where do we find X Windows libraries? $x_libraries" fi - -if test -n "$site_libraries" -a -n "$site_runtime_libraries"; then - echo " Additional libraries: ${site_libraries} ${site_runtime_libraries}" -elif test -n "$site_libraries"; then - echo " Additional libraries: ${site_libraries}" -elif test -n "$site_runtime_libraries"; then - echo " Additional libraries: ${site_runtime_libraries}" +if test -n "$site_includes"; then + echo " Additional header files: $site_includes" +fi +if test -n "$site_libraries"; then + echo " Additional libraries: $site_libraries" +fi +if test -n "$runpath"; then + echo " Runtime library search path: $runpath" fi test "$with_dnet" = yes && echo " Compiling in support for DNET." test "$with_socks" = yes && echo " Compiling in support for SOCKS." test "$with_term" = yes && echo " Compiling in support for TERM." test "$with_xauth" = yes && echo " Compiling in support for XAUTH." -test "$with_xpm" = yes && echo " Compiling in support for XPM." -if test "$with_xmu" != yes -a "$window_system" != none; then +if test "$with_xmu" != yes -a "$with_x11" = yes; then echo " No Xmu; substituting equivalent routines." fi -test "$with_xface" = yes && echo " Compiling in support for X-Face headers." + test "$with_gif" = yes && echo " Compiling in support for GIF image conversion." +test "$with_xpm" = yes && echo " Compiling in support for XPM images." +test "$with_xface" = yes && echo " Compiling in support for X-Face message headers." test "$with_jpeg" = yes && echo " Compiling in support for JPEG image conversion." -if test "$with_png" = yes -o "$with_png" = gnuz; then - echo " Compiling in support for PNG image conversion." -fi -if test "$with_png" = gnuz; then - echo " (Using -lgz instead of -lz.)" -fi +test "$with_png" = yes && echo " Compiling in support for PNG image conversion." test "$with_tiff" = yes && echo " Compiling in support for TIFF image conversion (not implemented)." -test "$with_sound" = nas && echo " Compiling in network sound support." -test "$with_sound" = native && echo " Compiling in native sound support." -test "$with_sound" = both && echo " Compiling in both network and native sound support." -test "$old_nas" = true && echo " nas library lacks error trapping, will play synchronously" +case "$with_sound" in + nas ) echo " Compiling in network sound (NAS) support." ;; + native ) echo " Compiling in native sound support." ;; + both ) echo " Compiling in both network and native sound support." ;; +esac +test "$old_nas" = yes && echo " nas library lacks error trapping, will play synchronously" test "$with_database_berkdb" = yes && echo " Compiling in support for Berkeley DB." test "$with_database_dbm" = yes && echo " Compiling in support for DBM." test "$with_database_gnudbm" = yes && echo " Compiling in support for GNU DBM." -test "$have_ncurses" = yes && echo " Compiling in support for ncurses." -test "$with_socks" = yes && echo " Compiling in support for SOCKS." +test "$with_ncurses" = yes && echo " Compiling in support for ncurses." +test "$with_gpm" = yes && echo " Compiling in support for GPM (General Purpose Mouse)." test "$with_mule" = yes && echo " Compiling in Mule (multi-lingual) support." test "$with_xim" != no && echo " Compiling in XIM (X11R5+ I18N input method) support." @@ -3252,8 +3031,6 @@ if test "$with_wnn" = yes; then echo " Compiling in support for the WNN input method on Mule." test "$with_wnn6" = yes && echo " WNN support for version 6." - echo " Finding WNN includes with: ${wnn_includes}" - echo " Finding WNN libs with: ${wnn_libraries}" fi test "$with_i18n3" = yes && echo " Compiling in I18N support, level 3 (doesn't currently work)." @@ -3261,215 +3038,93 @@ test "$with_tooltalk" = yes && echo " Compiling in support for ToolTalk." test "$with_offix" = yes && echo " Compiling in support for OffiX." test "$with_mocklisp" = yes && echo " Compiling in support for Mocklisp." -test "$with_sparcworks" = yes && echo " Compiling in support for SparcWorks." +test "$with_workshop" = yes && echo " Compiling in support for Sun WorkShop." test "$with_energize" = yes && echo " Compiling in support for Lucid Energize (doesn't currently work)." -test "$with_menubars" = "lucid" && echo " Using the Lucid menubar." -if test "$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 -test "$with_scrollbars" = lucid && echo " Using the Lucid scrollbar." -test "$with_scrollbars" = motif && echo " Using the Motif scrollbar." -test "$with_scrollbars" = athena && echo " Using the Athena scrollbar." -test "$with_scrollbars" = athena3d && echo " Using the Athena-3d scrollbar." -test "$with_dialogs" = motif && echo " Using the Motif dialog boxes." -test "$with_dialogs" = athena && echo " Using the Athena dialog boxes." -test "$with_dialogs" = athena3d && echo " Using the Athena-3d dialog boxes." +case "$with_menubars" in + lucid ) echo " Using the Lucid menubar." ;; + motif ) echo " Using the Motif menubar." + echo " *WARNING* The Motif menubar is currently buggy." + echo " We recommend using the Lucid menubar instead." + echo " Re-run configure with --with-menubars='lucid'." ;; +esac +case "$with_scrollbars" in + lucid ) echo " Using the Lucid scrollbar." ;; + motif ) echo " Using the Motif scrollbar." ;; + athena ) echo " Using the Athena scrollbar." ;; + athena3d ) echo " Using the Athena-3d scrollbar." ;; +esac +case "$with_dialogs" in + motif ) echo " Using the Motif dialog boxes." ;; + athena ) echo " Using the Athena dialog boxes." ;; + athena3d ) echo " Using the Athena-3d dialog boxes." ;; +esac test "$with_pop" = yes && echo " Using POP for mail access" test "$with_kerberos" = yes && echo " Using Kerberos for POP authentication" test "$with_hesiod" = yes && echo " Using Hesiod to get POP server host" -test "${use_union_type}" = yes && echo " Using the union type for Lisp_Objects." -test "${debug}" = yes && echo " Compiling in extra code for debugging." -test "${memory_usage_stats}" = yes && echo " Compiling in code for checking XEmacs memory usage." -test "$usage_tracking" = yes && echo " Compiling with usage tracking active (Sun internal)." +test "$use_union_type" = yes && echo " Using the union type for Lisp_Objects." +test "$debug" = yes && echo " Compiling in extra code for debugging." +test "$memory_usage_stats" = yes && echo " Compiling in code for checking XEmacs memory usage." +test "$usage_tracking" = yes && echo " Compiling with usage tracking active (Sun internal)." echo "" ) | tee -a Installation echo 'The above configure report is appended to "Installation" file.' echo "" -dnl ############################################################################ -dnl # Now generate! # -dnl ############################################################################ +dnl ----------------------------------- +dnl Now generate config.h and Makefiles +dnl ----------------------------------- dnl 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 -# 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 test ! -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` - -# Mule utilitity programs - currently disabled -if test "${with_mule_util}" = "yes"; then -lib_src_mule_makefile_command='echo "creating lib-src/mule/Makefile"; - topsrcdir='"${topsrcdir}"'; -( cd ./lib-src/mule; - 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_mule_makefile_command` -fi # Mule - -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` -if test "${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', 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 -if test "${with_mule_util}" = "yes"; then - echo $lib_src_mule_makefile_command >>config.new -fi -echo $dynodump_makefile_command >>config.new -echo $man_makefile_command >>config.new -if test "${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" -chmod a+w $MFS -touch $MFS -chmod 444 $MFS +test -n "$prefix" && + prefix=`echo "$prefix" | sed 's,\([[^/]]\)/*$,\1,'` +test -n "$exec_prefix" && + exec_prefix=`echo "$exec_prefix" | sed 's,\([[^/]]\)/*$,\1,'` + +dnl Build Makefile.in's from Makefile.in.in's +dnl except ./Makefile from $srcdir/Makefile.in + +AC_OUTPUT($internal_makefile_list,[ +for dir in $MAKE_SUBDIR; do + echo creating $dir/Makefile + ( set -e + cd $dir + rm -f junk.c + sed -e 's/^# Generated.*//' -e 's%/\*\*/#.*%%' < Makefile.in > junk.c; + $CPP -I. -I${top_srcdir}/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 + ) + test "$?" != 0 && exit "$?" # For debugging +done +], +[CPP="$CPP" + CPPFLAGS="$CPPFLAGS" + top_srcdir="$srcdir" + MAKE_SUBDIR="$MAKE_SUBDIR" +]) if test ! -f src/gdbinit && test -f $topsrcdir/src/gdbinit; then - echo creating src/gdbinit - echo source $topsrcdir/src/gdbinit > src/gdbinit + echo "creating src/gdbinit" + echo "source $topsrcdir/src/gdbinit" > src/gdbinit fi -exit 0 - - -# Local Variables: -# eval: (modify-syntax-entry ?\" "\"") -# End: +if test "$sunpro_c" = "yes"; then dnl create useful .sbinit file + cat < EOF > .sbinit +# For use with Sun WorkShop's Source browser. +# See sbquery(1) and sbinit(4) for more information +import src +import lwlib +import lib-src +import dynodump +EOF +fi