AKA What I did on my Holidays.
This is a rewrite of configure.in (now called configure.ac) to work with
autoconf 2.59. It isn't ready for prime-time but is feature complete and I'm
interested in how it behaves in configurations other than mine.
Configure.in has been rebuilt from the ground up and tries to follow the 2.59
conventions wherever possible. I did, however, use the SuSe patch as one
starting point so thanks a lot to the SuSe guys!
Note: This patch requires config.sub and config.guess from automake 1.9. I
have not included them to save space but please copy them over before running
the new configure.
The most significant change is with the command line arguments. The only
custom command line arguments allowed in 2.59 are --with-X for using external
packages and --enable-X for compiling in optional internal features. I have
renamed the options to conform to this pattern. This results in changes such
as --with-mule now being --enable-mule.
The full translation of command line arguments are:
Old | New
------------------------------------------
General options:
----------------
--help Unchanged
--verbose Unchanged
--extra-verbose Removed
Compilation options:
--------------------
--compiler --with-compiler
--xemacs-compiler --with-xemacs-compiler
--with-gcc Unchanged
--cflags --with-cflags
--cflags-warning --with-cflags-warning
--cpp --with-cpp
--cppflags --with-cppflags
--libs --with-libs
--ldflags --with-ldflags
--site-includes --with-site-includes
--site-libraries --with-site-libraries
--site-prefixes --with-site-prefixes
--site-runtime-libraries --with-site-runtime-libraries
--dynamic --with-dynamic
--srcdir Unchanged
Installation options:
---------------------
--prefix Unchanged
--with-prefix Unchanged
--with-netinstall Unchanged
--bindir Unchanged
--datadir Unchanged
--statedir Unchanged
--libdir Unchanged
--infodir Unchanged
--mandir Unchanged
--lispdir --with-lispdir
--sitelispdir Removed
--etcdir --with-etcdir
--lockdir Removed
--archlibdir --with-archlibdir
--docdir --with-docdir
--moduledir --with-moduledir
Run-time path-searching options:
--------------------------------
--with-site-lisp Unchanged
--with-site-modules Unchanged
--package-prefix --with-package-prefix
--package-path --with-package-path
--infopath --with-infopath
Window-system options:
----------------------
--with-gtk Unchanged
--with-gnome Unchanged
--with-x11 Unchanged
--x-includes Unchanged
--x-libraries Unchanged
--with-msw Unchanged
--with-toolbars --enable-toolbars
--with-wmcommand Unchanged
--with-athena Unchanged
--with-menubars --enable-menubars
--with-scrollbars --enable-scrollbars
--with-dialogs --enable-dialogs
--with-widgets --enable-widgets
--with-dragndrop Unchanged
--with-cde Unchanged
--with-offix Unchanged
--with-xmu Unchanged
--external-widget --enable-external-widget
TTY (character terminal) options:
---------------------------------
--with-tty Unchanged
--with-ncurses Unchanged
--with-gpm Unchanged
Image options:
--------------
--with-xpm Unchanged
--with-png Unchanged
--with-jpeg Unchanged
--with-tiff Unchanged
--with-xface Unchanged
--with-gif Unchanged
Sound options:
--------------
--with-sound --enable-sound
--native-sound-lib=LIB --with-native-sound-lib
Internationalization options:
-----------------------------
--with-mule --enable-mule
--with-xim Unchanged
--with-canna Unchanged
--with-wnn Unchanged
--with-wnn6 Unchanged
--with-xfs Unchanged
File-related options:
---------------------
--with-default-eol-detection --enable-default-eol-detection
--with-clash-detection --enable-clash-detection
Database options:
-----------------
--with-database --enable-database
--with-ldap Unchanged
--with-postgresql Unchanged
Mail options:
-------------
--mail-locking=TYPE --with-mail-locking
--with-pop Unchanged
--with-kerberos Unchanged
--with-hesiod Unchanged
Networking options:
-------------------
--with-tooltalk Unchanged
--with-socks Unchanged
--with-dnet Unchanged
--with-ipv6-cname Unchanged
Memory allocation options:
--------------------------
--rel-alloc --with-rel-alloc
--with-dlmalloc Unchanged
--with-system-malloc Unchanged
--with-debug-malloc Unchanged
Emacs Lisp options:
-------------------
--use-number-lib --enable-bignum
Debugging options:
------------------
--debug --enable-debug
--error-checking --enable-error-checking
--memory-usage-stats --enable-memory-usage-stats
--quick-build --enable-quick-build
--use-union-type --enable-union-type
--with-quantify Unchanged
--with-purify Unchanged
Developer options:
------------------
--with-workshop Unchanged
--pdump --enable-pdump
--use-kkcc --enable-kkcc
--with-modules --enable-modules
The output files produced by this new configure should be almost identical to
those produced by the old. This can be tested with the attached regression
test script. This script runs the two versions of configure with the supplied
list of command line arguments and reports any differences. Please add your
favorite configuration command lines to the list before running the test. The
script is run as:
$ regressiontest.pl /absolute/path/to/2.13/configure \
/absolute/path/to/2.59/configure >diffs.txt
The only differences should be:
- those related to changes in the command line arguments
- the change of SYS_SIGLIST_DECLARED to HAVE_DECL_SYS_SIGLIST (because the old
form has been removed), and
- The removal of trailing comments in src/config.h. Applying the attached
patch config-h-213.patch to the 2.13 work area will remove these. This
patch makes no functional changes to the configuration and will cut the size
of diffs.txt by about 60%.
At this stage please review this patch for the accuracy of the generated
configuration files and the command line arguments. I shall improve the
documentation and formatting before posting the final patch.
Thanks,
Malcolm
ChangeLog addition:
2005-01-04 Malcolm Purvis <malcolmp(a)xemacs.org>
* aclocal.m4: Changes to support autoconf 2.59
* config.guess:
* config.sub: Upgraded to the version in from automake 1.9
* configure.ac: Rewritten for autoconf 2.59 support.
lib-src/ChangeLog addition:
2005-01-04 Malcolm Purvis <malcolmp(a)xemacs.org>
* config.values.sh (FileContents): Different regex for autoconf
2.59.
src/ChangeLog addition:
2005-01-04 Malcolm Purvis <malcolmp(a)xemacs.org>
* config.h.in: Remove trailing comments, which autoconf 2.59 does
not like. Use autoconf 2.59's HAVE_DECL_SYS_SIGLIST instead of
SYS_SIGLIST_DECLARED.
* syssignal.h: Use autoconf 2.59's HAVE_DECL_SYS_SIGLIST instead of
SYS_SIGLIST_DECLARED.
xemacs-autoconf-2.5 source patch:
Diff command: cvs -q diff -u
Files affected: src/syssignal.h src/config.h.in lib-src/config.values.sh
lib-src/config.values.in version.sh configure.ac configure config.sub config.guess
aclocal.m4
Index: aclocal.m4
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/aclocal.m4,v
retrieving revision 1.11
diff -u -r1.11 aclocal.m4
--- aclocal.m4 2004/05/14 15:35:29 1.11
+++ aclocal.m4 2005/01/04 00:05:40
@@ -39,8 +39,8 @@
dll_post=
dll_ldo="-o"
ld_dynamic_link_flags=
-xehost=$canonical
-xealias=$internal_configuration
+xehost=$ac_cv_build
+xealias=$ac_cv_build_alias
AC_CHECKING([how to build dynamic libraries for ${xehost}])
# Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts.
@@ -49,11 +49,9 @@
*-*-linux*) xehost=`echo $xehost | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
esac
-changequote(<<, >>)dnl
-xehost_cpu=`echo $xehost | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-xehost_vendor=`echo $xehost | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-xehost_os=`echo $xehost | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-changequote([, ])dnl
+xehost_cpu=`echo $xehost | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`
+xehost_vendor=`echo $xehost | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`
+xehost_os=`echo $xehost | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`
case "$xehost_os" in
aix3*)
@@ -71,7 +69,7 @@
if test "$GCC" = "yes"; then
XEGCC=yes
else
- AC_MSG_CHECKING(checking whether we are using GNU C)
+ AC_MSG_CHECKING([whether we are using GNU C])
AC_EGREP_CPP(yes,[
#ifdef __GNUC__
yes;
@@ -80,7 +78,7 @@
AC_MSG_RESULT([${XEGCC}])
fi
-AC_MSG_CHECKING(how to produce PIC code)
+AC_MSG_CHECKING([how to produce PIC code])
wl=
can_build_shared=yes
@@ -245,7 +243,7 @@
cc_produces_so=no
xldf=
xcldf=
-AC_MSG_CHECKING(if C compiler can produce shared libraries)
+AC_MSG_CHECKING([if C compiler can produce shared libraries])
if test "$XEGCC" = yes -o "$__ICC" = yes; then
case "$xehost_os" in
*darwin*)
@@ -318,7 +316,7 @@
ac_prog=ld
if test "$XEGCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING(for ld used by GCC)
+ AC_MSG_CHECKING([for ld used by GCC])
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in
# Accept absolute paths.
@@ -343,7 +341,7 @@
;;
esac
else
- AC_MSG_CHECKING(for GNU ld)
+ AC_MSG_CHECKING([for GNU ld])
fi
if test -z "$LTLD"; then
@@ -383,7 +381,7 @@
ld_dynamic_link_flags=
# Check to see if it really is or isn't GNU ld.
-AC_MSG_CHECKING(if the linker is GNU ld)
+AC_MSG_CHECKING([if the linker is GNU ld])
# I'd rather use --version here, but apparently some GNU ld's only accept -v.
if $LTLD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
xe_gnu_ld=yes
@@ -418,7 +416,7 @@
else
# OK - only NOW do we futz about with ld.
# See if the linker supports building shared libraries.
- AC_MSG_CHECKING(whether the linker supports shared libraries)
+ AC_MSG_CHECKING([whether the linker supports shared libraries])
dll_ld=$CC
dll_ldflags=$LDFLAGS
ld_shlibs=yes
Index: configure.ac
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/configure.ac,v
retrieving revision 1.1
diff -u -r1.1 configure.ac
--- configure.ac 2001/09/25 10:20:11 1.1
+++ configure.ac 2005/01/04 00:07:16
@@ -1,6 +1,5636 @@
-AC_FATAL([
+dnl XEmacs config script for autoconf 2.5.
+dnl -------------------------------------------------------------------------
+dnl Overrides of standard autoconf macros.
-#### Autoconf 2.5x is not yet supported by XEmacs.
-#### Our configure script is known *not* to work with these versions of
-#### Autoconf. Please continue using Autoconf 2.13 for now.
+# AC_LANG(C)
+# ----------
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+m4_define([AC_LANG(C)],
+[ac_ext=c
+xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system
$c_switch_x_site $X_CFLAGS'
+xe_ldflags='$LDFLAGS $ld_switch_site $ld_switch_machine $ld_switch_system
$ld_switch_x_site $ld_switch_run'
+xe_libs='$ld_call_shared $xe_check_libs $X_EXTRA_LIBS $libs_x $libs_gtk $X_PRE_LIBS
$LIBS $libs_machine $libs_system $libs_standard'
+ac_cpp='$CPP '"$xe_cppflags"
+ac_compile='$CC -c $CFLAGS'"$xe_cppflags"' conftest.$ac_ext
>&AS_MESSAGE_LOG_FD'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS '"$xe_cppflags
$xe_ldflags"' conftest.$ac_ext '"$xe_libs"'
>&AS_MESSAGE_LOG_FD'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
])
+
+dnl -------------------------------------------------------------------------
+dnl Autoconf startup.
+
+AC_PREREQ(2.59)dnl
+AC_INIT(src/lisp.h)dnl
+
+dnl -------------------------------------------------------------------------
+dnl Local copyright notices.
+
+AC_COPYRIGHT(
+[#### Configuration script for XEmacs. Largely divergent from FSF.
+#### Guess values for system-dependent variables and create Makefiles.
+#### Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 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, 2002, 2003, 2004 Ben Wing.
+#### Copyright (C) 2000, 2001 Martin Buchholz.
+#### Copyright (C) 1998, 1999 J. Kean Johnston.
+#### Copyright (C) 2005 Malcolm Purvis
+
+### Don't edit this script!
+### This script was automatically generated by the `autoconf' program
+### from the file `./configure.in'.
+### To rebuild it, execute the command
+### autoconf
+### in the this directory. You must have autoconf version 2.13 or later.
+### Note: this script has not yet been ported to autoconf version 2.5x.
+
+### This file is part of XEmacs.
+
+### XEmacs is free software; you can redistribute it and/or modify it
+### under the terms of the GNU General Public License as published by
+### the Free Software Foundation; either version 2, or (at your
+### option) any later version.
+
+### XEmacs is distributed in the hope that it will be useful, but
+### WITHOUT ANY WARRANTY; without even the implied warranty of
+### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+### General Public License for more details.
+
+### You should have received a copy of the GNU General Public License
+### along with XEmacs; see the file COPYING. If not, write to the Free
+### Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+### 02111-1307, USA.
+
+### 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.
+])
+
+dnl -------------------------------------------------------------------------
+dnl Local macros
+
+define([USAGE_ERROR],
+[(echo "$progname: Usage error:"
+echo " " $1
+echo " Use \`$progname --help' to show usage.") >&2 && exit
1])
+
+dnl PRINT_VAR(var var ...) prints values of shell variables
+define([PRINT_VAR],[for var in patsubst([$1],[[
+]+],[ ]); do eval "echo \"$var = '\$$var'\""; done])
+
+dnl XE_ADD_OBJS(foo.o ...)
+define([XE_ADD_OBJS],
+[extra_objs="$extra_objs [$1]" && dnl
+ if test "$extra_verbose" = "yes"; then
+ echo " xemacs will be linked with \"[$1]\""
+ fi])dnl XE_ADD_OBJS
+
+dnl XE_APPEND(value, varname)
+define([XE_APPEND],
+[[$2]="$[$2] [$1]" && dnl
+ if test "$extra_verbose" = "yes"; then echo " Appending
\"[$1]\" to \$[$2]"; fi])
+
+dnl XE_PREPEND(value, varname)
+define([XE_PREPEND],
+[[$2]="[$1] $[$2]" && dnl
+ if test "$extra_verbose" = "yes"; then echo " Prepending
\"[$1]\" to \$[$2]"; fi])
+
+dnl XE_DIE(message)
+define([XE_DIE], [{ echo "Error:" $1 >&2; exit 1; }])
+
+dnl XE_CHECK_FEATURE_DEPENDENCY(feature1, feature2)
+define([XE_CHECK_FEATURE_DEPENDENCY],
+[if test "$with_$1 $with_$2" = "yes no"; then
+ USAGE_ERROR("--with-$1 requires --with-$2")
+elif test "$with_$2" = "no" ; then with_$1=no
+elif test "$with_$1" = "yes"; then with_$2=yes
+fi
+])
+
+dnl XE_STRIP_4TH_COMPONENT(var)
+dnl Changes i986-pc-linux-gnu to i986-pc-linux, as God (not RMS) intended.
+define([XE_STRIP_4TH_COMPONENT],
+[$1=`echo "$$1" | sed
'[s/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/]'`])
+
+dnl Do our best to deal with automounter brokenness
+dnl CANONICALIZE_PATH(varname)
+define([CANONICALIZE_PATH],
+[if test -d "/net"; then
+ if test -d "/tmp_mnt/net"; then tdir="tmp_mnt/net"; else
tdir="tmp_mnt"; fi
+ $1=`echo "[$]$1" | \
+ sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e
"s|^/amd/|/net/|"`
+fi])dnl
+
+dnl XE_PROTECT_LINKER_FLAGS(shell_var)
+define([XE_PROTECT_LINKER_FLAGS], [
+if test "$GCC" = "yes"; then
+ set x $[$1]; shift; [$1]=""
+ while test -n "[$]1"; do
+ case [$]1 in
+ -L | -l | -u ) [$1]="$[$1] [$]1 [$]2"; shift ;;
+ -L* | -l* | -u* | -Wl* | -pg ) [$1]="$[$1] [$]1" ;;
+ -Xlinker* ) ;;
+ * ) [$1]="$[$1] -Xlinker [$]1" ;;
+ esac
+ shift
+ done
+fi])dnl
+
+dnl Allow use of either ":" or spaces for lists of directories
+define(COLON_TO_SPACE,
+ [case "$[$1]" in *:* [)] [$1]="`echo '' $[$1] | sed -e 's/^
//' -e 's/:/ /g'`";; esac])dnl
+
+dnl XE_ADD_RUNPATH_DIR(directory)
+define([XE_ADD_RUNPATH_DIR],[{
+xe_runpath_dir=$1
+dnl PRINT_VAR(ld_switch_site ld_switch_x_site runpath xe_runpath_dir LD_RUN_PATH
xe_ldflags)
+ test "$xe_runpath_dir" != "/lib" -a \
+ "$xe_runpath_dir" != "/usr/lib" -a \
+ -n "`ls ${xe_runpath_dir}/*.s[[ol]] 2>/dev/null`" && \
+ eval "$xe_add_unique_runpath_dir"
+}])dnl
+
+dnl XE_COMPUTE_RUNPATH()
+define([XE_COMPUTE_RUNPATH],[
+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 -e 's:^ ::' -e
"s/$dash_r[[^ ]]*//g"`
+ ld_switch_x_site=`echo '' $ld_switch_x_site | sed -e 's:^ ::' -e
"s/$dash_r[[^ ]]*//g"`
+ 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.
+ runpath="" runpath_dirs=""
+ if test -n "$LD_RUN_PATH"; then
+ runpath="$LD_RUN_PATH"
+ elif test "$GCC" = "yes"; then
+ dnl Compute runpath from gcc's -v output
+ ld_switch_run_save="$ld_switch_run"; ld_switch_run=""
+ echo "int main(int argc, char *argv[[]]) {return 0;}" > conftest.c
+ xe_runpath_link='${CC-cc} -o conftest -v $CFLAGS
'"$xe_ldflags"' conftest.$ac_ext 2>&1 1>/dev/null'
+ for arg in `eval "$xe_runpath_link" | grep ' -L'`; do
+ case "$arg" in P,* | -L* | -R* )
+ for dir in `echo '' "$arg" | sed -e 's:^ ::' -e
's/^..//' -e 'y/:/ /'`; do
+ XE_ADD_RUNPATH_DIR("$dir")
+ done ;;
+ esac
+ done
+ ld_switch_run="$ld_switch_run_save"
+ rm -f conftest*
+ else
+ dnl Add all directories with .so files to runpath
+ for arg in $ld_switch_site $ld_switch_x_site; do
+ case "$arg" in -L*) XE_ADD_RUNPATH_DIR(`echo '' "$arg"
| sed -e 's:^ ::' -e 's/^-L//'`);; esac
+ done
+ dnl Sometimes /opt/SUNWdt/lib is the only installed Motif available
+ if test "$opsys $need_motif" = "sol2 yes"; then
+ xe_runpath_dir="/opt/SUNWdt/lib";
+ eval "$xe_add_unique_runpath_dir";
+ fi
+ fi dnl Compute $runpath
+
+ if test -n "$runpath"; then
+ ld_switch_run="${dash_r}${runpath}"
+ XE_PROTECT_LINKER_FLAGS(ld_switch_run)
+ test "$extra_verbose" = "yes" && echo "Setting
runpath to $runpath"
+ fi
+fi
+])dnl
+
+dnl The construct foo=`echo $w1 $w2 $w3` fails on some systems if $w1 = -e or -n
+dnl So we use the following instead.
+dnl XE_SPACE(var, words)
+define([XE_SPACE],[
+T=""
+for W in $2; do if test -z "$T"; then T="$W"; else T="$T
$W"; fi; done
+$1="$T"
+])dnl XE_SPACE
+
+dnl -------------------------------------------------------------------------
+XE_APPEND(lib-src, MAKE_SUBDIR)
+XE_APPEND(lib-src, INSTALL_ARCH_DEP_SUBDIR)
+with_dragndrop_default="no"
+dnl -------------------------------------------------------------------------
+dnl Command line argument processing.
+
+AC_ARG_WITH([prefix],
+ AC_HELP_STRING([--with-prefix=no],[Don't compile the value of --prefix into the
executable.]),
+ [true], [with_prefix=yes])
+AC_ARG_WITH([site-lisp],
+ AC_HELP_STRING([--with-site-lisp=no],[Allow for a site-lisp directory in the XEmacs
hierarchy searched before the installation packages.]),
+ [true], [with_site_lisp=no])
+AC_ARG_WITH([site-modules],
+ AC_HELP_STRING([--with-site-modules],[Disable site-modules directory in the XEmacs
hierarchy, which is searched before the installation modules.]),
+ [], [])
+AC_ARG_WITH([gtk],
+ AC_HELP_STRING([--with-gtk],[Support GTK on the X Window System. (EXPERIMENTAL)]),
+ [true], [with_gtk=no])
+AC_ARG_WITH([gnome],
+ AC_HELP_STRING([--with-gnome],[Support GNOME on the X Window System. (EXPERIMENTAL)]),
+ [true], [with_gnome=no])
+AC_ARG_WITH([msw],
+ AC_HELP_STRING([--with-msw],[Support MS Windows as a window system (only under Cygwin
and MinGW). `--with-msw=no' may be needed on *nix systems with Wine installed.]),
+ [], [])
+AC_ARG_WITH([gcc],
+ AC_HELP_STRING([--with-gcc],[Use GCC to compile XEmacs.]),
+ [], [])
+AC_ARG_WITH([dynamic],
+ AC_HELP_STRING([--with-dynamic],[Link dynamically if supported by system. 'No'
forces static linking.]),
+ [], [])
+AC_ARG_WITH([ncurses],
+ AC_HELP_STRING([--with-ncurses],[Use the ncurses library for tty support.]),
+ [], [])
+AC_ARG_WITH([dnet],
+ AC_HELP_STRING([--with-dnet],[Compile with support for DECnet.]),
+ [], [])
+AC_ARG_WITH([socks],
+ AC_HELP_STRING([--with-socks],[Compile with support for SOCKS (an Internet proxy).]),
+ [], [])
+AC_ARG_WITH([dragndrop],
+ AC_HELP_STRING([--with-dragndrop],[Compile in the generic drag and drop API. This is
automatically added if one of the drag and drop
+ protocols is found (currently CDE, OffiX, MSWindows,
+ and GTK).
+ *WARNING* The Drag'n'drop support is under development
+ and is considered experimental.]),
+ [], [])
+AC_ARG_WITH([cde],
+ AC_HELP_STRING([--with-cde],[Compile in support for CDE drag and drop.]),
+ [], [])
+AC_ARG_WITH([offix],
+ AC_HELP_STRING([--with-offix],[Compile in support for OffiX drag and drop.
+ *WARNING* If you compile in OffiX, you may not be
+ able to use multiple X displays success-
+ fully. If the two servers are from
+ different vendors, the results may be
+ unpredictable.]),
+ [], [])
+AC_ARG_WITH([gpm],
+ AC_HELP_STRING([--with-gpm],[Compile in GPM mouse support for ttys.]),
+ [], [])
+AC_ARG_WITH([xpm],
+ AC_HELP_STRING([--with-xpm],[Compile with support for XPM images. PRACTICALLY
+ REQUIRED. Although this library is nonstandard and
+ a real hassle to build, many basic things (e.g.
+ toolbars) depend on it, and you will run into
+ many problems without it.]),
+ [], [])
+AC_ARG_WITH([xface],
+ AC_HELP_STRING([--with-xface],[Compile with support for X-Face mail headers.
+ Requires the compface package. Of doubtful
+ usefulness.]),
+ [], [])
+AC_ARG_WITH([gif],
+ AC_HELP_STRING([--with-gif],[Compile without the (builtin) support for GIF images.]),
+ [], [])
+AC_ARG_WITH([jpeg],
+ AC_HELP_STRING([--with-jpeg],[Compile with support for JPEG images. Useful if
+ you are using a mail, news reader, or web browser
+ in XEmacs, so that JPEG images can be displayed.]),
+ [], [])
+AC_ARG_WITH([png],
+ AC_HELP_STRING([--with-png],[Compile with support for PNG images. Recommended
+ because the images on the About page are not viewable
+ without it.]),
+ [], [])
+AC_ARG_WITH([tiff],
+ AC_HELP_STRING([--with-tiff],[Compile with support for TIFF images. Possibly
+ useful, for the same reason as JPEG images.]),
+ [], [])
+AC_ARG_WITH([zlib],
+ AC_HELP_STRING([--with-zlib],[]),
+ [], [])
+AC_ARG_WITH([wmcommand],
+ AC_HELP_STRING([--with-wmcommand],[Compile without realized leader window which will
+ keep the WM_COMMAND property.]),
+ [], [])
+AC_ARG_WITH([xmu],
+ AC_HELP_STRING([--with-xmu],[For those unfortunates whose vendors don't ship
Xmu.]),
+ [], [])
+AC_ARG_WITH([purify],
+ AC_HELP_STRING([--with-purify],[Add support for memory debugging using Purify.]),
+ [], [])
+AC_ARG_WITH([quantify],
+ AC_HELP_STRING([--with-quantify],[Add support for performance debugging using
Quantify.]),
+ [], [])
+AC_ARG_ENABLE([toolbars],
+ AC_HELP_STRING([--with-toolbars],[Don't compile with any toolbar support.]),
+ [], [])
+AC_ARG_WITH([tty],
+ AC_HELP_STRING([--with-tty],[Don't support ttys.]),
+ [], [])
+AC_ARG_WITH([xfs],
+ AC_HELP_STRING([--with-xfs],[Compile with XFontSet support for internationalized
+ menubar. Incompatible with `--with-xim=motif'.
+ `--enable-menubars=lucid' (the default) is desirable.]),
+ [], [])
+AC_ARG_ENABLE([mule],
+ AC_HELP_STRING([--enable-mule],[Compile with Mule (MUlti-Lingual Emacs) support,
+ needed to support non-Latin-1 (including Asian)
+ languages.]),
+ [], [])
+AC_ARG_ENABLE([default-eol-detection],
+ AC_HELP_STRING([--enable-default-eol-detection],[Turns on by default auto-detection of
end-of-line type
+ when reading a file. Applies to those platforms where
+ auto-detection is off by default (non-Mule Unix). Has
+ no effect otherwise.]),
+ [], [])
+AC_ARG_WITH([canna],
+ AC_HELP_STRING([--with-canna],[Compile with support for Canna (a Japanese input method
+ used in conjunction with Mule support).]),
+ [], [])
+AC_ARG_WITH([wnn],
+ AC_HELP_STRING([--with-wnn],[Compile with support for Wnn (a multi-language input
+ method used in conjunction with Mule support).]),
+ [], [])
+AC_ARG_WITH([wnn6],
+ AC_HELP_STRING([--with-wnn6],[Compile with support for the commercial package Wnn6.]),
+ [], [])
+AC_ARG_WITH([workshop],
+ AC_HELP_STRING([--with-workshop],[Support the Sun WorkShop (formerly Sparcworks)
+ development environment.]),
+ [], [])
+AC_ARG_WITH([sparcworks],
+ AC_HELP_STRING([--with-sparcworks],[Alias for --with-workshop]),
+ [], [])
+AC_ARG_WITH([tooltalk],
+ AC_HELP_STRING([--with-tooltalk],[Support the ToolTalk IPC protocol.]),
+ [], [])
+AC_ARG_WITH([ldap],
+ AC_HELP_STRING([--with-ldap],[Compile with support for the LDAP protocol.]),
+ [], [])
+AC_ARG_WITH([postgresql],
+ AC_HELP_STRING([--with-postgresql],[Compile with support for the PostgreSQL RDBMS.]),
+ [], [])
+AC_ARG_WITH([pop],
+ AC_HELP_STRING([--with-pop],[Support POP for mail retrieval.]),
+ [], [])
+AC_ARG_WITH([kerberos],
+ AC_HELP_STRING([--with-kerberos],[Support Kerberos-authenticated POP.]),
+ [], [])
+AC_ARG_WITH([hesiod],
+ AC_HELP_STRING([--with-hesiod],[Support Hesiod to get the POP server host.]),
+ [], [])
+AC_ARG_WITH([infodock],
+ AC_HELP_STRING([--with-infodock],[]),
+ [], [])
+AC_ARG_WITH([native-sound-lib],
+ AC_HELP_STRING([--with-native-sound-lib],[]),
+ [], [])
+AC_ARG_WITH([netinstall],
+ AC_HELP_STRING([--with-netinstall],[Compile in support for installation over the
internet.
+ Only functional on the MS Windows platforms.]),
+ [], [with_netinstall="no"])
+AC_ARG_WITH([ipv6-cname],
+ AC_HELP_STRING([--with-ipv6-cname],[Try IPv6 information first when canonicalizing host
names. This option has no effect unless system supports getaddrinfo(3) and
getnameinfo(3).]),
+ [], [with_ipv6_cname="no"])
+AC_ARG_WITH([site-includes],
+ AC_HELP_STRING([--with-site-includes],[]),
+ [], [])
+AC_ARG_WITH([site-libraries],
+ AC_HELP_STRING([--with-site-libraries],[]),
+ [], [])
+AC_ARG_WITH([site-prefixes],
+ AC_HELP_STRING([--with-site-prefixes],[]),
+ [], [])
+AC_ARG_WITH([statedir],
+ AC_HELP_STRING([--with-statedir],[]),
+ [], [with_statedir='${prefix}/lib'])
+AC_ARG_WITH([lispdir],
+ AC_HELP_STRING([--with-lispdir],[]),
+ [AC_DEFINE(LISPDIR_USER_DEFINED)],
[with_lispdir='${datadir}/${instvardir}/lisp'])
+AC_ARG_WITH([archlibdir],
+ AC_HELP_STRING([--with-archlibdir],[]),
+ [AC_DEFINE(ARCHLIBDIR_USER_DEFINED)],
[with_archlibdir='${libdir}/${instvardir}/${configuration}'])
+AC_ARG_WITH([moduledir],
+ AC_HELP_STRING([--with-moduledir],[]),
+ [AC_DEFINE(MODULEDIR_USER_DEFINED)],
[with_moduledir='${libdir}/${instvardir}/${configuration}/modules'])
+AC_ARG_WITH([etcdir],
+ AC_HELP_STRING([--with-etcdir],[]),
+ [AC_DEFINE(ETCDIR_USER_DEFINED)], [with_etcdir='${datadir}/${instvardir}/etc'])
+AC_ARG_WITH([infopath],
+ AC_HELP_STRING([--with-infopath],[]),
+ [AC_DEFINE(INFOPATH_USER_DEFINED)], [])
+AC_ARG_WITH([docdir],
+ AC_HELP_STRING([--with-docdir],[]),
+ [AC_DEFINE(DOCDIR_USER_DEFINED)], [with_docdir='${archlibdir}'])
+AC_ARG_WITH([site-runtime-libraries],
+ AC_HELP_STRING([--with-site-runtime-libraries],[]),
+ [], [])
+AC_ARG_WITH([package-prefix],
+ AC_HELP_STRING([--with-package-prefix],[]),
+ [AC_DEFINE(PACKAGE_PATH_USER_DEFINED)], [])
+AC_ARG_WITH([package-path],
+ AC_HELP_STRING([--with-package-path],[]),
+ [AC_DEFINE(PACKAGE_PATH_USER_DEFINED)], [])
+AC_ARG_ENABLE([external-widget],
+ AC_HELP_STRING([--enable-external-widget],[]),
+ [], [])
+AC_ARG_ENABLE([kkcc],
+ AC_HELP_STRING([--enable-kkcc],[]),
+ [], [])
+AC_ARG_ENABLE([union-type],
+ AC_HELP_STRING([--enable-union-type],[]),
+ [], [])
+AC_ARG_ENABLE([pdump],
+ AC_HELP_STRING([--enable-pdump],[]),
+ [], [])
+AC_ARG_ENABLE([debug],
+ AC_HELP_STRING([--enable-debug],[]),
+ [], [])
+AC_ARG_ENABLE([assertions],
+ AC_HELP_STRING([--enable-assertions],[]),
+ [], [])
+AC_ARG_ENABLE([memory-usage-stats],
+ AC_HELP_STRING([--enable-memory-usage-stats],[]),
+ [], [])
+AC_ARG_ENABLE([clash-detection],
+ AC_HELP_STRING([--enable-clash-detection],[Disable use of lock files to detect multiple
edits
+ of the same file.]),
+ [], [])
+AC_ARG_ENABLE([modules],
+ AC_HELP_STRING([--enable-modules],[Compile in experimental support for dynamically
+ loaded libraries (Dynamic Shared Objects).]),
+ [], [])
+AC_ARG_ENABLE([quick-build],
+ AC_HELP_STRING([--enable-quick-build],[Speed up the build cycle by leaving out steps
where
+ XEmacs will still work (more or less) without them.
+ Potentially dangerous if you don't know what you're
+ doing. This (1) doesn't garbage-collect after loading
+ each file during dumping, (2) doesn't
+ automatically rebuild the DOC file (remove it by hand
+ to get it rebuilt), (3) Removes config.h, lisp.h and
+ associated files from the dependency lists, so changes
+ to these files don't automatically cause all .c files
+ to be rebuilt.]),
+ [], [])
+
+AC_ARG_WITH([compiler],
+ AC_HELP_STRING([--with-compiler],[C compiler to use]),
+ [], [])
+
+AC_ARG_WITH([xemacs-compiler],
+ AC_HELP_STRING([--with-xemacs-compiler],[compiler to use to compile just the xemacs
executable.
+ If you want to compile XEmacs as C++, use e.g.
+ `--xemacs-compiler=g++'. This turns on a lot of
+ additional error-checking.]),
+ [], [])
+
+AC_ARG_WITH([cflags],
+ AC_HELP_STRING([--with-cflags],[Compiler flags (such as -O); setting this overrides
+ all default compiler flags except those that control
+ warnings.]),
+ [], [])
+
+AC_ARG_WITH([cflags-warning],
+ AC_HELP_STRING([--with-cflags-warning],[Override compiler flags used to control
warnings.
+ Normally, don't set this, as XEmacs already turns on
+ the maximum safe warning level.]),
+ [], [])
+
+AC_ARG_WITH([cpp],
+ AC_HELP_STRING([--with-cpp],[C preprocessor to use (e.g. /usr/ccs/lib/cpp or cc -E)]),
+ [CPP="$with_cpp"], [])
+
+AC_ARG_WITH([cppflags],
+ AC_HELP_STRING([--with-cppflags],[C preprocessor flags (e.g. -I/foo or -Dfoo=bar)]),
+ [CPPFLAGS="$with_cppflags"], [])
+
+AC_ARG_WITH([libs],
+ AC_HELP_STRING([--with-libs],[Additional libraries (e.g. -lfoo)]),
+ [LIBS="$with_libs"], [])
+
+AC_ARG_WITH([ldflags],
+ AC_HELP_STRING([--with-ldflags],[Additional linker flags (e.g. -L/foo)]),
+ [LDFLAGS="$with_ldflags"], [])
+
+AC_ARG_WITH([rel-alloc],
+ AC_HELP_STRING([--with-rel-alloc],[]),
+ [], [with_rel_alloc='default'])
+
+AC_ARG_WITH([dlmalloc],
+ AC_HELP_STRING([--with-dlmalloc],[]),
+ [], [with_dlmalloc='default'])
+
+AC_ARG_WITH([debug-malloc],
+ AC_HELP_STRING([--with-debug-malloc],[]),
+ [], [])
+
+AC_ARG_WITH([system-malloc],
+ AC_HELP_STRING([--with-system-malloc],[]),
+ [], [with_system_malloc='default'])
+
+#Enable code.
+
+AC_ARG_ENABLE([database],
+ AC_HELP_STRING([--enable-database],[Compile with database support. Valid types are
+ `no' or a comma-separated list of one or more
+ of `berkdb' and either `dbm' or `gnudbm'.]),
+ [
+with_database_berkdb=no
+with_database_dbm=no
+with_database_gdbm=no
+for x in `echo "$enable_database" | sed -e 's/,/ /g'` ; 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 | gdbm) with_database_gdbm=yes ;;
+ * ) USAGE_ERROR(["The \`--$optname' option value
+must be either \`no' or a comma-separated list
+of one or more of \`berkdb' and either \`dbm' or \`gnudbm'."]) ;;
+ esac
+done
+if test "$with_database_dbm" = "yes" -a
"$with_database_gdbm" = "yes"; then
+ USAGE_ERROR("Only one of \`dbm' and \`gnudbm' may be specified
+with the \`--$optname' option.")
+fi
+], [])
+
+AC_ARG_ENABLE([sound],
+ AC_HELP_STRING([--enable-sound],[Compile with sound support.
+ Valid types are `native', `nas' and `esd'.
+ Prefix a type with 'no' to disable.
+ The first type can be `none' or `all'. `none' means
+ `nonative,nonas,noesd'. `all' means
`native,nas,esd'.
+ Later options override earlier ones for the same TYPE.
+ The default is to autodetect all sound support except
+ for ESD which defaults to off.]),
+ [
+dnl values is a subset of all,native,nas,esd
+dnl or their negatives: none,nonative,nonas,noesd
+for x in `echo "$enable_sound" | sed -e 's/,/ /g'` ; do
+ case "$x" in
+ dnl all and none are only permitted as the first in the list.
+ n | no | non | none ) new_sdefault=no ;;
+ a | al | all | both ) new_sdefault=yes ;;
+
+ native ) with_native_sound=yes ;;
+ nonative ) with_native_sound=no ;;
+
+ nas ) with_nas_sound=yes ;;
+ nonas ) with_nas_sound=no ;;
+
+ esd ) with_esd_sound=yes ;;
+ noesd ) with_esd_sound=no ;;
+
+ * ) bogus_sound=yes ;;
+ esac
+ if test "$bogus_sound" -o \
+ \( -n "$new_sdefault" -a -n "$sound_notfirst" \) ; then
+ types="\`all', \`none', \`(no)native', \`no(nas)',
\`(no)esd'."
+ USAGE_ERROR(["Valid types for the \`--$optname' option are:
+$types.
+Option \`all' or \`none' must be first in the list.
+The default is to autodetect native and NAS sound support."])
+ elif test -n "$new_sdefault" ; then
+ with_native_sound=$new_sdefault
+ with_nas_sound=$new_sdefault
+ with_esd_sound=$new_sdefault
+ new_sdefault= # reset this
+ fi
+ sound_notfirst=true
+done
+], [with_esd_sound=no])
+
+AC_ARG_WITH([athena],
+ AC_HELP_STRING([--with-athena],[Use TYPE Athena widgets (xaw, 3d, next, 95, or xpm).]),
+[case "$with_athena" in
+ xa | xaw ) val=xaw ;;
+ 3 | 3d | xaw3d ) val=3d ;;
+ dnl No `n' for next, someone may try `no'
+ ne | nex | next | naxtaw) val=next ;;
+ dnl Have not tested the next two...
+ 9 | 95 | xaw95 ) val=95 ;;
+ xp | xpm | xawxpm ) val=xpm ;;
+ * ) USAGE_ERROR(["The \`--with-athena' option must have one of these values:
+ \`xaw', \`3d', \`next', \`95', or \`xpm'."]) ;;
+ esac
+eval "$with_athena=\"$val\""
+]
+)dnl
+
+AC_ARG_WITH([xim],
+ AC_HELP_STRING([--with-xim],[]),
+ [
+case "$with_xim" 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 "$with_xim=\"$val\""
+], [])
+
+AC_ARG_WITH([mail-locking],
+ AC_HELP_STRING([--with-mail-locking],[Specify the locking to be used by movemail to
prevent
+ concurrent updates of mail spool files. Valid types
+ are `lockf', `flock', `dot', `locking' or
`mmdf'.]),
+ [
+case "$with_mail_locking" in
+ lockf ) val=lockf ;;
+ flock ) val=flock ;;
+ file | dot ) val=file ;;
+ locking ) val=locking ;;
+ mmdf ) val=mmdf ;;
+ pop ) val=pop ;;
+ * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
+ \`lockf', \`flock', \`file', \`dot', \`locking', \`mmdf', or
\`pop'."]) ;;
+esac
+eval "$with_mail_locking=\"$val\""
+], [])
+
+AC_ARG_ENABLE([bignum],
+ AC_HELP_STRING([--enable-bignum=TYPE],[Compile in support for bignums, ratios, or
bigfloats
+ using library support. TYPE must be one of "gmp"
+ (for GNU MP), "mp" (for BSD MP), or "no"
(disabled).]),
+ [
+case "$enable_bignum" in
+ gmp ) val=gmp ;;
+ mp ) val=mp ;;
+ no|non|none ) val=no ;;
+ * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
+\`gmp', \`mp', or \`no'."]) ;;
+esac
+eval "$enable_bignum=\"$val\""
+], [enable_bignum="no"])
+
+AC_ARG_ENABLE([error-checking],
+ AC_HELP_STRING([--enable-error-checking],[Compile with internal error-checking added.
+ Causes noticeable loss of speed. Valid types
+ are extents, bufpos, malloc, gc, typecheck.]),
+ [
+dnl value can be all, none, and/or a list of categories to check.
+dnl Example: --enable-error-checking=all,noextents,nocharbpos
+dnl Example: --enable-error-checking=none,malloc,gc
+
+for x in `echo "$enable_error_checking" | sed -e 's/,/ /g'` ; 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 ;;
+
+ extents ) error_check_extents=yes ;;
+ noextents ) error_check_extents=no ;;
+
+ types ) error_check_types=yes ;;
+ notypes ) error_check_types=no ;;
+
+ text ) error_check_text=yes ;;
+ notext ) error_check_text=no ;;
+
+ gc ) error_check_gc=yes ;;
+ nogc ) error_check_gc=no ;;
+
+ malloc ) error_check_malloc=yes ;;
+ nomalloc ) error_check_malloc=no ;;
+
+ byte_code ) error_check_byte_code=yes ;;
+ nobyte_code ) error_check_byte_code=no ;;
+
+ glyphs ) error_check_glyphs=yes ;;
+ noglyphs ) error_check_glyphs=no ;;
+
+ display ) error_check_display=yes ;;
+ nodisplay ) error_check_display=no ;;
+
+ structures ) error_check_structures=yes ;;
+ nostructures ) error_check_structures=no ;;
+
+ * ) bogus_error_check=yes ;;
+ esac
+
+ if test "$bogus_error_check" -o \
+ \( -n "$new_default" -a -n "$echeck_notfirst" \) ; then
+ if test "$error_check_default" = yes ; then
+ types="\`all' (default), \`none', \`noextents', \`notypes',
\`notext', \`nogc', \`nomalloc', \`noglyphs', \`nobyte-code',
\`nodisplay', \`nostructures'."
+ else
+ types="\`all', \`none' (default), \`extents', \`types',
\`text', \`gc', \`malloc', \`glyphs', \`byte-code', \`display',
\`structures'."
+ fi
+ USAGE_ERROR(["Valid types for the \`--$optname' option are:
+$types."])
+ elif test -n "$new_default" ; then
+ error_check_extents=$new_default
+ error_check_types=$new_default
+ error_check_text=$new_default
+ error_check_gc=$new_default
+ error_check_malloc=$new_default
+ error_check_byte_code=$new_default
+ error_check_glyphs=$new_default
+ error_check_display=$new_default
+ error_check_structures=$new_default
+ new_default= # reset this
+ fi
+ echeck_notfirst=true
+ done
+], [])
+
+AC_ARG_ENABLE([menubars],
+ AC_HELP_STRING([--enable-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.
+ Lucid menubars are the default.]),
+ [
+case "$enable_menubars" in
+ l | lu | luc | luci | lucid ) val=lucid ;;
+ mo | mot | moti | motif ) val=motif ;;
+ a | at | ath | athe | athen | athena ) val=athena ;;
+ n | no | non | none ) val=no ;;
+ y | ye | yes ) val=yes ;;
+ g | gt | gtk ) val=gtk ;;
+ ms | msw ) val=msw ;;
+ * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
+ \`gtk', \`lucid', \`motif', \`athena', \`yes', or
\`no'."]) ;;
+esac
+eval "$enable_menubars=\"$val\""
+], [])
+
+AC_ARG_ENABLE([scrollbars],
+ AC_HELP_STRING([--enable-scrollbars=TYPE],[Use TYPE scrollbars (lucid, motif, athena, or
no).
+ Lucid scrollbars are the default.]),
+ [
+case "$enable_scrollbars" in
+ l | lu | luc | luci | lucid ) val=lucid ;;
+ mo | mot | moti | motif ) val=motif ;;
+ a | at | ath | athe | athen | athena ) val=athena ;;
+ n | no | non | none ) val=no ;;
+ y | ye | yes ) val=yes ;;
+ g | gt | gtk ) val=gtk ;;
+ ms | msw ) val=msw ;;
+ * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
+ \`gtk', \`lucid', \`motif', \`athena', \`yes', or
\`no'."]) ;;
+esac
+eval "$enable_scrollbars=\"$val\""
+], [])
+
+AC_ARG_ENABLE([dialogs],
+ AC_HELP_STRING([--enable-dialogs=TYPE],[Use TYPE dialog boxes (lucid, motif, athena, or
no).
+ There are no true Lucid dialogs; Motif dialogs will be
+ used if Motif can be found, else Athena is used.]),
+ [
+case "$enable_dialogs" in
+ l | lu | luc | luci | lucid ) val=lucid ;;
+ mo | mot | moti | motif ) val=motif ;;
+ a | at | ath | athe | athen | athena ) val=athena ;;
+ n | no | non | none ) val=no ;;
+ y | ye | yes ) val=yes ;;
+ g | gt | gtk ) val=gtk ;;
+ ms | msw ) val=msw ;;
+ * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
+ \`gtk', \`lucid', \`motif', \`athena', \`yes', or
\`no'."]) ;;
+esac
+eval "$enable_dialogs=\"$val\""
+], [])
+
+AC_ARG_ENABLE([widgets],
+ AC_HELP_STRING([--enable-widgets],[Use TYPE native widgets (lucid, motif, athena, or
no).
+ Other widget types are currently unsupported.
+ There are no true Lucid widgets; Motif widgets will be
+ used if Motif can be found, else Athena is used.]),
+ [
+case "$enable_widgets" in
+ l | lu | luc | luci | lucid ) val=lucid ;;
+ mo | mot | moti | motif ) val=motif ;;
+ a | at | ath | athe | athen | athena ) val=athena ;;
+ n | no | non | none ) val=no ;;
+ y | ye | yes ) val=yes ;;
+ g | gt | gtk ) val=gtk ;;
+ ms | msw ) val=msw ;;
+ * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
+ \`gtk', \`lucid', \`motif', \`athena', \`yes', or
\`no'."]) ;;
+esac
+eval "$enable_widgets=\"$val\""
+], [])
+
+dnl -------------------------------------------------------------------------
+dnl Final command line argument checks.
+
+dnl --with-quantify or --with-purify imply --with-system-malloc
+if test "$with_purify" = "yes" -o "$with_quantify" =
"yes"; then
+ test "$with_system_malloc" = "default" &&
with_system_malloc=yes
+fi
+
+dnl CDE requires tooltalk
+XE_CHECK_FEATURE_DEPENDENCY(cde, tooltalk)
+
+dnl -------------------------------------------------------------------------
+dnl Local paths
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+if test "x$exec_prefix" = xNONE
+then
+ exec_prefix='${prefix}'
+else
+ AC_DEFINE(EXEC_PREFIX_USER_DEFINED)
+fi
+if test "x$datadir" != 'x${prefix}/share'
+then
+ AC_DEFINE(INFODIR_USER_DEFINED)
+ AC_DEFINE(LISPDIR_USER_DEFINED)
+ AC_DEFINE(MODULEDIR_USER_DEFINED)
+ AC_DEFINE(ETCDIR_USER_DEFINED)
+ AC_DEFINE(DOCDIR_USER_DEFINED)
+ AC_DEFINE(ARCHLIBDIR_USER_DEFINED)
+else
+ datadir='${prefix}/lib'
+fi
+if test "x$libdir" != 'x${exec_prefix}/lib'
+then
+ AC_DEFINE(ARCHLIBDIR_USER_DEFINED)
+fi
+if test "x$mandir" = 'x${prefix}/man'
+then
+ mandir='${prefix}/man/man1'
+fi
+if test "x$infodir" != 'x${prefix}/info'
+then
+ AC_DEFINE(INFODIR_USER_DEFINED)
+else
+ infodir='${datadir}/${instvardir}/info'
+fi
+
+with_sitelispdir='${datadir}/${inststaticdir}/site-lisp'
+inststaticdir='${PROGNAME}'
+instvardir='${PROGNAME}-${version}'
+sitemoduledir='${libdir}/${inststaticdir}/site-modules'
+
+AC_SUBST(inststaticdir)
+AC_SUBST(statedir,$with_statedir)
+
+dnl -------------------------------------------------------------------------
+AC_CONFIG_AUX_DIR_DEFAULT
+AC_CANONICAL_BUILD
+dnl -------------------------------------------------------------------------
+
+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 tests; do
+ if test ! -d "$dir" ; then
+ echo Making symbolic link to "$srcdir/$dir"
+ ${LN_S} "$srcdir/$dir" "$dir"
+ fi
+done
+
+dnl Calculate canonical name for blddir (i.e. current directory).
+dnl PWD may already be the preferable absolute name for ".",
+dnl but we can't trust it - it is sometimes inaccurate.
+absolute_pwd="`pwd`";
+if test -n "$PWD" -a "`cd $PWD && pwd`" =
"$absolute_pwd"
+then blddir="$PWD"
+else blddir="$absolute_pwd"; CANONICALIZE_PATH(blddir)
+fi
+AC_SUBST(blddir)
+
+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
+ /* ) ;;
+ . ) srcdir="$blddir" ;;
+ * ) srcdir="`cd $srcdir && pwd`"; CANONICALIZE_PATH(srcdir) ;;
+esac
+
+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
+ extrasub='/^VPATH[[ ]]*=/c\
+vpath %.c $(srcdir)\
+vpath %.h $(srcdir)\
+vpath %.y $(srcdir)\
+vpath %.l $(srcdir)\
+vpath %.s $(srcdir)\
+vpath %.in $(srcdir)'
+fi
+
+dnl ----------------------------------------
+dnl Find out which version of XEmacs this is
+dnl ----------------------------------------
+. "$srcdir/version.sh" || exit 1;
+dnl Must do the following first to determine verbosity for AC_DEFINE
+if test -n "$emacs_is_beta"; then beta=yes; else beta=no; fi
+: "${extra_verbose=$beta}"
+version="${emacs_major_version}.${emacs_minor_version}"
+AC_DEFINE_UNQUOTED(EMACS_MAJOR_VERSION, $emacs_major_version)
+AC_DEFINE_UNQUOTED(EMACS_MINOR_VERSION, $emacs_minor_version)
+if test -n "$emacs_beta_version" ; then
+ if test "$beta" = "yes"; then
+ version="${version}-b${emacs_beta_version}"
+ AC_DEFINE_UNQUOTED(EMACS_BETA_VERSION, $emacs_beta_version)
+ else
+ version="${version}.${emacs_beta_version}"
+ AC_DEFINE_UNQUOTED(EMACS_PATCH_LEVEL, $emacs_beta_version)
+ fi
+fi
+AC_DEFINE_UNQUOTED(XEMACS_CODENAME, "$xemacs_codename")
+if test "$xemacs_extra_name" != ""; then
+ AC_DEFINE_UNQUOTED(XEMACS_EXTRA_NAME, "$xemacs_extra_name")
+fi
+AC_DEFINE_UNQUOTED(EMACS_VERSION, "$version")
+
+if test "$with_infodock" = "yes"; then
+ if test ! -f ../../ID-INSTALL; then
+ echo "Cannot build InfoDock without InfoDock sources"
+ with_infodock=no
+ fi
+fi
+
+if test "$with_infodock" = "yes"; then
+ dnl InfoDock version numbers. XEmacs will use the same style of numbering
+ dnl after the release of XEmacs 21.0.
+ AC_DEFINE_UNQUOTED(INFODOCK_MAJOR_VERSION, $infodock_major_version)
+ AC_DEFINE_UNQUOTED(INFODOCK_MINOR_VERSION, $infodock_minor_version)
+ AC_DEFINE_UNQUOTED(INFODOCK_BUILD_VERSION, $infodock_build_version)
+ version=${infodock_major_version}.${infodock_minor_version}.${infodock_build_version}
+ PROGNAME=infodock
+ CPPFLAGS="$CPPFLAGS -DINFODOCK"
+else
+ PROGNAME=xemacs
+fi
+
+AC_DEFINE_UNQUOTED(EMACS_PROGNAME, "$PROGNAME")
+
+dnl ----------------------------------
+dnl Error checking and debugging flags
+dnl ----------------------------------
+dnl Error checking default to "yes" in beta versions, to "no" in
releases.
+dnl Same goes for --enable-debug and --extra-verbosity.
+if test -n "$emacs_is_beta"; then beta=yes; else beta=no; fi
+test "${error_check_extents=$beta}" = yes &&
AC_DEFINE(ERROR_CHECK_EXTENTS)
+test "${error_check_types=$beta}" = yes &&
AC_DEFINE(ERROR_CHECK_TYPES)
+test "${error_check_text=$beta}" = yes &&
AC_DEFINE(ERROR_CHECK_TEXT)
+test "${error_check_gc=$beta}" = yes &&
AC_DEFINE(ERROR_CHECK_GC)
+test "${error_check_malloc=$beta}" = yes &&
AC_DEFINE(ERROR_CHECK_MALLOC)
+test "${error_check_byte_code=$beta}" = yes &&
AC_DEFINE(ERROR_CHECK_BYTE_CODE)
+test "${error_check_glyphs=$beta}" = yes &&
AC_DEFINE(ERROR_CHECK_GLYPHS)
+test "${error_check_display=$beta}" = yes &&
AC_DEFINE(ERROR_CHECK_DISPLAY)
+test "${error_check_structures=$beta}" = yes &&
AC_DEFINE(ERROR_CHECK_STRUCTURES)
+dnl enable_debug=yes must be set when error checking is present. This should be
+dnl fixed up.
+dnl enable_debug implies other options
+if test "${enable_debug:=$beta}" = "yes"; then
+ enable_assertions=yes
+ enable_memory_usage_stats=yes
+ AC_DEFINE(DEBUG_XEMACS)
+fi
+test "$enable_assertions" = "yes" &&
AC_DEFINE(USE_ASSERTIONS)
+test "$enable_memory_usage_stats" = "yes" &&
AC_DEFINE(MEMORY_USAGE_STATS)
+
+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.
+XE_STRIP_4TH_COMPONENT(ac_cv_build_alias)
+XE_STRIP_4TH_COMPONENT(ac_cv_build)
+AC_SUBST(configuration, $ac_cv_build)
+
+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=''
+
+dnl Straightforward machine determination
+case "$ac_cv_build" in
+ sparc-*-* ) machine=sparc ;;
+ alpha*-*-* ) machine=alpha ;;
+ vax-*-* ) machine=vax ;;
+ mips-dec-* ) machine=pmax ;;
+ mips-sgi-irix6* ) machine=iris6d ;;
+ mips-sgi-* ) machine=iris4d ;;
+ mips*-linux ) machine=mips ;;
+ 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 ;;
+ arm* ) machine=arm ;;
+ ns32k-* ) machine=ns32000 ;;
+esac
+
+dnl Straightforward OS determination
+case "$ac_cv_build" in
+ *-*-linux* ) opsys=linux ;;
+ *-*-netbsd* ) opsys=netbsd ;;
+ *-*-openbsd* ) opsys=openbsd ;;
+ *-*-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-osf[[4-9]]* ) 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.0* ) opsys=aix4 ;;
+ *-*-aix4.1* ) opsys=aix4-1 ;;
+ *-*-aix[[4-9]]* ) opsys=aix4-2 ;;
+
+ 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
+ for prog in "/usr/ccs/lib/cpp" "/lib/cpp"; do
+ if test -f "$prog"; then NON_GNU_CPP="$prog"; break; fi
+ done
+ fi
+ opsys=usg5-4-2 ;;
+ *-sysv4* | *-sysvr4* ) opsys=usg5-4 ;;
+ *-*-mach_bsd4.3* ) opsys=mach-bsd4-3 ;;
+esac
+
+case "$ac_cv_build" in
+
+ dnl NetBSD ports
+ *-*-netbsd* )
+ case "ac_cv_build" in
+ i[[3-9]]86-*-netbsd*) machine=intel386 ;;
+ hp300-*-netbsd* | amiga-*-netbsd* | sun3-*-netbsd* | mac68k-*-netbsd* |
da30-*-netbsd* | m68k-*-netbsd* )
+ dnl Yes, this is somewhat bogus.
+ machine=hp9000s300 ;;
+ pc532-*-netbsd* | ns32k-*-netbsd* ) machine=ns32000 ;;
+ pmax-*-netbsd* | mips-*-netbsd* ) machine=pmax ;;
+ esac
+ ;;
+
+ dnl OpenBSD ports
+ *-*-openbsd* )
+ case "${ac_cv_build}" in
+ i386-*-openbsd*) machine=intel386 ;;
+ m68k-*-openbsd*) machine=hp9000s300 ;;
+ mipsel-*-openbsd*) machine=pmax ;;
+ esac
+ ;;
+
+ dnl Acorn RISCiX:
+ arm-acorn-riscix1.1* ) machine=acorn opsys=riscix1-1 ;;
+ arm-acorn-riscix1.2* | arm-acorn-riscix ) machine=acorn opsys=riscix1-2 ;;
+
+ dnl Alliant machines
+ fx80-alliant-* ) machine=alliant4 opsys=bsd4-2 ;;
+ i860-alliant-* ) machine=alliant-2800 opsys=bsd4-3 ;;
+
+ dnl Altos 3068
+ m68*-altos-sysv* ) machine=altos opsys=usg5-2 ;;
+
+ dnl Amdahl UTS
+ 580-amdahl-sysv* ) machine=amdahl opsys=usg5-2-2 ;;
+
+ dnl Apollo, Domain/OS
+ m68*-apollo-* ) machine=apollo opsys=bsd4-3 ;;
+
+ dnl AT&T 3b2, 3b5, 3b15, 3b20
+ we32k-att-sysv* ) machine=att3b opsys=usg5-2-2 ;;
+
+ dnl AT&T 3b1 - The Mighty Unix PC!
+ m68*-att-sysv* ) machine=7300 opsys=usg5-2-2 ;;
+
+ 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
+
+ dnl CCI 5/32, 6/32 -- see "Tahoe".
+
+ dnl Celerity
+ celerity-celerity-bsd* ) machine=celerity opsys=bsd4-2 ;;
+
+ dnl Convex
+ *-convex-bsd* | *-convex-convexos* )
+ machine=convex opsys=bsd4-3
+ NON_GNU_CPP="cc -E -P"
+ ;;
+
+ dnl Cubix QBx/386
+ i[[3-9]]86-cubix-sysv* ) machine=intel386 opsys=usg5-3 ;;
+
+ dnl Darwin, a.k.a. MacOS X (based on Mach and Freebsd)
+ *-*-darwin*)
+ opsys=darwin
+ ;;
+
+ 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* ) 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* )
+ dnl jbotte(a)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 ;;
+
+ dnl Dual machines
+ m68*-dual-sysv* ) machine=dual opsys=usg5-2 ;;
+ m68*-dual-uniplus* ) machine=dual opsys=unipl5-2 ;;
+
+ dnl Encore machines
+ ns16k-encore-bsd* ) machine=ns16000 opsys=umax ;;
+
+ 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 ;;
+
+ 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* )
+ 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"
+ ;;
+ dnl Harris ecx or gcx running CX/UX (Series 1200, Series 3000)
+ m68k-harris-cxux* ) machine=nh3000 opsys=cxux ;;
+ 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 ;;
+
+ dnl HP 9000 series 200 or 300
+ m68*-hp-bsd* ) machine=hp9000s300 opsys=bsd4-3 ;;
+
+ dnl HP-UX
+ *-hp-hpux* )
+ dnl Figure out machine and opsys orthogonally
+ case "$ac_cv_build" in
+ m68* ) machine=hp9000s300 ;;
+ hppa* ) machine=hp800 ;;
+ esac
+
+ case "$ac_cv_build" in
+ *-hp-hpux7* ) opsys=hpux ;;
+ *-hp-hpux8* ) opsys=hpux8 ;;
+ *-hp-hpux9* ) opsys=hpux9 ;;
+ *-hp-hpux10* ) opsys=hpux10 ;;
+ *-hp-hpux11* ) opsys=hpux11 ;;
+ * ) opsys=hpux ;;
+ esac
+
+ dnl HP has a broken "strcat"
+ case "$opsys" in hpux9 | hpux10 ) XE_ADD_OBJS(strcat.o) ;; esac
+
+ if test "$opsys" = "hpux10" -o "$opsys" =
"hpux11"; then \
+ ansi_flag="-Ae"; else ansi_flag="-Aa"; fi
+ NON_GNU_CC="cc $ansi_flag" NON_GNU_CPP="cc $ansi_flag -E"
+
+ case "$ac_cv_build" in *-hp-hpux*shr* ) opsys="${opsys}-shr" ;;
esac
+ ;;
+
+ dnl Orion machines
+ orion-orion-bsd* ) machine=orion opsys=bsd4-2 ;;
+ clipper-orion-bsd* ) machine=orion105 opsys=bsd4-2 ;;
+
+ 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 ;;
+ 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 ;;
+
+ dnl Intel 386 machines where we do care about the manufacturer
+ i[[3-9]]86-intsys-sysv* ) machine=is386 opsys=usg5-2-2 ;;
+
+ dnl Prime EXL
+ i[[3-9]]86-prime-sysv* ) machine=i386 opsys=usg5-3 ;;
+
+ dnl Sequent Symmetry running Dynix
+ i[[3-9]]86-sequent-bsd* ) machine=symmetry opsys=bsd4-3 ;;
+
+ 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 ;;
+
+ dnl Intel Paragon OSF/1
+ i860-intel-osf1* ) machine=paragon opsys=osf1 NON_GNU_CPP=/usr/mach/lib/cpp ;;
+
+ 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 ;;
+
+ dnl Megatest machines
+ m68*-megatest-bsd* ) machine=mega68 opsys=bsd4-2 ;;
+
+ 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 "$ac_cv_build" in
+ mips-mips-riscos4* ) opsys=bsd4-3 ;;
+ mips-mips-riscos5* ) opsys=riscos5 ;;
+ esac
+ ;;
+ mips-mips-bsd* ) machine=mips opsys=bsd4-3 ;;
+ mips-mips-* ) machine=mips opsys=usg5-2-2 ;;
+
+ dnl NeXT
+ m68*-next-* | m68k-*-nextstep* ) machine=m68k opsys=nextstep ;;
+
+ dnl The complete machine from National Semiconductor
+ ns32k-ns-genix* ) machine=ns32000 opsys=usg5-2 ;;
+
+ 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 ;;
+
+ dnl Nixdorf Targon 31
+ m68*-nixdorf-sysv* ) machine=targon31 opsys=usg5-2-2 ;;
+
+ dnl Nu (TI or LMI)
+ m68*-nu-sysv* ) machine=nu opsys=usg5-2 ;;
+
+ dnl Plexus
+ m68*-plexus-sysv* ) machine=plexus opsys=usg5-2 ;;
+
+ dnl Pyramid machines
+ pyramid-pyramid-bsd* ) machine=pyramid opsys=bsd4-2 ;;
+
+ dnl Sequent Balance
+ ns32k-sequent-bsd4.2* ) machine=sequent opsys=bsd4-2 ;;
+ ns32k-sequent-bsd4.3* ) machine=sequent opsys=bsd4-3 ;;
+
+ 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
+ ;;
+
+ dnl NEC
+ mips-nec-sysv*)
+ machine=mips-nec
+ NON_GNU_CC=/usr/ccs/bin/cc
+ NON_GNU_CPP=/usr/ccs/lib/cpp
+ ;;
+
+ 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 ;;
+ dnl Iris 4D
+ mips-sgi-irix3.* ) opsys=irix3-3 ;;
+ mips-sgi-irix4.* ) opsys=irix4-0 ;;
+ mips-sgi-irix6* ) opsys=irix6-0 ;;
+ 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 ;;
+
+ dnl Suns
+ *-*-solaris* | *-*-sunos* | *-sun-mach* | *-sun-bsd* )
+ dnl Hardware type
+ case "$ac_cv_build" in
+ m68*-sunos1* ) machine=sun1 ;;
+ m68*-sunos2* ) machine=sun2 ;;
+ m68* ) machine=sun3 ;;
+ i*86*-sun-sunos[[34]]* ) machine=sun386 ;;
+ i*86-*-* ) machine=intel386 ;;
+ rs6000* ) machine=rs6000 ;;
+ esac
+
+ dnl Make $canonical even more so.
+ case "$ac_cv_build" in *-sunos5*)
+ ac_cv_build=`echo $ac_cv_build | sed -e s/sunos5/solaris2/`;;
+ esac
+
+ dnl On SunOS 4, use /usr/lib/cpp, sans dynodump, /bin/ranlib
+ dnl On SunOS 5, use cc -E, need dynodump, RANLIB not needed
+ dnl But, SunOS 5.6 no longer needs dynodump because it has a similar
+ dnl function integrated.
+ case "$ac_cv_build" 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=':' ;;
+ esac
+
+ case "$ac_cv_build" in
+ *-solaris* )
+ opsys=sol2
+ os_release_major=`uname -r | sed -e
's/^\([[0-9]]\{1,\}\)\.\([[0-9]]\{1,\}\).*/\1/'`
+ os_release_minor=`uname -r | sed -e
's/^\([[0-9]]\{1,\}\)\.\([[0-9]]\{1,\}\).*/\2/'`
+ case "$os_release_minor" in [[0-9]])
+ os_release_minor="0${os_release_minor}";;
+ esac
+ os_release="${os_release_major}${os_release_minor}"
+ AC_DEFINE_UNQUOTED(OS_RELEASE, $os_release) ;;
+
+ dnl The last Sun386 ran 4.0.
+ i*86-*-sunos4* ) opsys=sunos4-0 ;;
+ *-sunos4.0* ) opsys=sunos4-0 ;;
+ *-sunos4.1.2* ) opsys=sunos4-1-2 ;;
+ *-sunos4.1.3* ) opsys=sunos4-1-3 ;;
+ *-sunos4.1.[[4-9]]* ) opsys=sunos4-1-4 ;;
+ *-sunos4* | *-sunos ) opsys=sunos4-1 ;;
+ *-mach* ) opsys=mach-bsd4-3 ;;
+ * ) opsys=bsd4-2 ;;
+ esac
+
+ case "$ac_cv_build" in *-sunos4*shr* ) opsys="${opsys}-shr" ;;
esac
+
+ dnl Watch out for a compiler guaranteed not to work.
+ test "$opsys $CC" = "sol2 /usr/ucb/cc" &&
CC=""
+ ;;
+
+ dnl Tadpole 68k
+ m68*-tadpole-sysv* ) machine=tad68k opsys=usg5-3 ;;
+
+ dnl Tahoe machines
+ tahoe-tahoe-bsd4.2* ) machine=tahoe opsys=bsd4-2 ;;
+ tahoe-tahoe-bsd4.3* ) machine=tahoe opsys=bsd4-3 ;;
+
+ dnl Tandem Integrity S2
+ mips-tandem-sysv* ) machine=tandem-s2 opsys=usg5-3 ;;
+
+ dnl Tektronix XD88
+ m88k-tektronix-sysv3* ) machine=tekxd88 opsys=usg5-3 ;;
+
+ dnl Tektronix 16000 box (6130?)
+ ns16k-tektronix-bsd* ) machine=ns16000 opsys=bsd4-2 ;;
+ dnl Tektronix 4300
+ dnl src/m/tek4300.h hints that this is a m68k machine.
+ m68*-tektronix-bsd* ) machine=tek4300 opsys=bsd4-3 ;;
+
+ dnl Titan P2 or P3
+ titan-titan-sysv* ) machine=titan opsys=usg5-3 ;;
+
+ dnl Ustation E30 (SS5E)
+ m68*-unisys-uniplus* ) machine=ustation opsystem=unipl5-2 ;;
+
+ dnl Vaxen.
+ vax-dec-* )
+ case "$ac_cv_build" in
+ *-sysv[[01]]* | *-sysvr[[01]]* ) opsys=usg5-0 ;;
+ *-sysv2* | *-sysvr2* ) opsys=usg5-2 ;;
+ *-mach* ) opsys=mach-bsd4-3 ;;
+ esac
+ ;;
+
+ dnl Whitechapel MG1
+ ns16k-whitechapel-* ) machine=mg1 ;;
+
+ dnl Wicat
+ m68*-wicat-sysv* ) machine=wicat opsys=usg5-2 ;;
+
+ dnl Intel 386 machines where we do not care about the manufacturer
+ i[[3-9]]86-*-* )
+ machine=intel386
+ case "$ac_cv_build" in
+ *-isc1.* | *-isc2.[[01]]* ) opsys=386-ix ;;
+ *-isc2.2* ) opsys=isc2-2 ;;
+ *-isc4.0* ) opsys=isc4-0 ;;
+ *-isc4.* ) opsys=isc4-1
+ GCC_TEST_OPTIONS=-posix
+ NON_GCC_TEST_OPTIONS=-Xp
+ ;;
+ *-isc* ) opsys=isc3-0 ;;
+ *-esix5* ) opsys=esix5r4 NON_GNU_CPP=/usr/lib/cpp ;;
+ *-esix* ) opsys=esix ;;
+ *-mach* ) opsys=mach-bsd4-3 ;;
+ *-xenix* ) opsys=xenix ;;
+ *-sco3.2v4* ) opsys=sco4 NON_GNU_CPP=/lib/cpp ;;
+ *-bsd386* | *-bsdi1* ) opsys=bsd386 ;;
+ *-bsdi4* ) opsys=bsdos4 ;;
+ *-bsdi3* ) opsys=bsdos3 ;;
+ *-bsdi2.1* ) opsys=bsdos2-1 ;;
+ *-bsdi2* ) opsys=bsdos2 ;;
+ *-sco3.2v5* ) opsys=sco5 ;;
+ *-sysv5* ) opsys=sco7 ;;
+ *-386bsd* ) opsys=386bsd ;;
+ *-freebsd* ) opsys=freebsd ;;
+ *-nextstep* ) opsys=nextstep ;;
+ *-pc-cygwin* ) opsys=cygwin32 ;;
+ *-pc-mingw* ) opsys=mingw32 ;
+ test -z "$with_tty" && with_tty="no";;
+ dnl Otherwise, we fall through to the generic opsys code at the bottom.
+ esac
+ ;;
+
+ dnl Linux/68k
+ m68k-*-linux* ) machine=m68k opsys=linux ;;
+
+esac
+
+dnl Initialize machine from $canonical if not in our database above.
+test -z "$machine" && machine=`echo $ac_cv_build | sed
's/-.*$//'`
+
+dnl Initialize opsys from `uname -s` if not in our database above.
+test -z "$opsys" && opsys=`uname -s | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz`
+
+dnl Use configure-time autodetection if s&m not available
+if test -r "${srcdir}/src/m/${machine}.h"; then
+ machfile="m/${machine}.h"
+ AC_DEFINE_UNQUOTED(config_machfile, "$machfile")
+else
+ echo "XEmacs has no builtin knowledge of \`$machine' machines."
+ echo "Using configure-time autodetection only."
+fi
+
+if test -r "${srcdir}/src/s/${opsys}.h"; then
+ opsysfile="s/${opsys}.h"
+ AC_DEFINE_UNQUOTED(config_opsysfile, "$opsysfile")
+else
+ echo "XEmacs has no builtin knowledge of \`$opsys' operating systems."
+ echo "Using configure-time autodetection only."
+fi
+
+
+dnl --------------------------------------------------------------
+dnl $opsys detection complete; defaults depending on $opsys follow
+dnl --------------------------------------------------------------
+
+if test -z "$enable_pdump"; then
+ case "$opsys" in
+ linux* ) enable_pdump=yes ;; dnl glibc 2.3.1 seems to hose unexec
+ darwin ) enable_pdump=yes ;; dnl No "native" working dumper
available
+ cygwin* ) enable_pdump=yes ;; dnl unexec is broken
+ * ) enable_pdump=no ;;
+ esac
+fi
+
+if test -z "$with_dynamic"; then
+ case "$opsys" in
+ hpux* | sunos4* ) with_dynamic=no ;;
+ *) with_dynamic=yes ;;
+ esac
+fi
+if test "$with_dynamic" = "yes"; then
+ case "$opsys" in
+ hpux* | sunos4* | sco5 ) opsys="${opsys}-shr" ;;
+ decosf* ) ld_call_shared="-call_shared" ;;
+ darwin ) AC_DEFINE(DLSYM_NEEDS_UNDERSCORE) ;;
+ esac
+else dnl "$with_dynamic" = "no"
+ case "$opsys" in
+ sol2 )
+ echo "Static linking is not supported on Solaris 2."
+ echo "Rerun configure without specifying --without-dynamic."
+ exit 1 ;;
+ linux ) ld_call_shared="-Bstatic" ;;
+ decosf* ) ld_call_shared="-non_shared" ;;
+ esac
+fi
+
+dnl Tools configuration
+case "$opsys" in
+ aix* ) NON_GNU_CC=xlc ;; dnl Use xlc by default on AIX
+ darwin ) RANLIB="ranlib -c" ;; dnl Avoid link error in lwlib-config.c
+esac
+
+stack_trace_eye_catcher=`echo ${PROGNAME}_${version}_${ac_cv_build} | sed
'y/.-/__/'`
+AC_DEFINE_UNQUOTED(STACK_TRACE_EYE_CATCHER, $stack_trace_eye_catcher)
+
+dnl --------------------------------------------------
+dnl Determine the compiler, set up for feature testing
+dnl --------------------------------------------------
+
+dnl Sun Development environment support
+test "$with_sparcworks" = "yes" && with_workshop=yes #
compatibility alias
+XE_CHECK_FEATURE_DEPENDENCY(workshop, tooltalk)
+if test "$with_workshop" = "yes"; then
+ AC_DEFINE(SUNPRO)
+fi
+
+if test "$enable_clash_detection" != "no"; then
+ AC_DEFINE(CLASH_DETECTION)
+fi
+
+dnl Choose a compiler from (in order)
+dnl --compiler, env var CC, with_gcc=no && ${NON_GNU_CC:-cc}, AC_PROG_CC
+test -n "$with_compiler" && CC="$with_compiler"
+if test "$with_gcc" = "no"; then dnl Try to find a non-gcc compiler
+ case "$CC" in "" | *gcc* ) CC="${NON_GNU_CC-cc}" ;; esac
+fi
+
+dnl If we don't set CFLAGS here, AC_PROG_CC will set it.
+dnl But we know better what's good for us, so we do our own
+dnl computation of real CFLAGS later.
+dnl --with_cflags overrides environment variable CFLAGS
+test "${with_cflags-unset}" != unset &&
CFLAGS="$with_cflags"
+if test "${CFLAGS-unset}" != unset
+ then cflags_specified=yes;
+ else cflags_specified=no;
+fi
+
+if test "${with_cflags_warning-unset}" != unset
+ then cflags_warning_specified=yes;
+ else cflags_warning_specified=no;
+fi
+
+xe_save_CFLAGS="$CFLAGS"
+
+AC_AIX dnl Defines _ALL_SOURCE on AIX.
+
+AC_PROG_CC dnl Autoconf has its own magic for compiler autodetection
+
+dnl Retry using random guesswork if AC_PROG_CC got it wrong...
+if test "$with_gcc" = "no" -a "$GCC" = "yes";
then
+ CC=${NON_GNU_CC-cc}
+ AC_PROG_CC
+elif test "$with_gcc" = "yes" -a "$GCC" != "yes"
; then
+ CC=gcc
+ AC_PROG_CC
+fi
+CFLAGS="$xe_save_CFLAGS"
+
+dnl Determine GCC version.
+if test "$GCC" = "yes"; then
+AC_RUN_IFELSE([AC_LANG_SOURCE([int main () {
+#if __GNUC__ >= 3
+return 11;
+#else
+return 0;
+#endif
+}])], [:],
+[case "$?" in
+ 11) echo "You appear to be using GCC version 3 or above."; __GCC3=yes ;;
+esac])
+fi
+
+dnl Support for using a different compiler for xemacs itself.
+dnl Useful for building XEmacs with a C++ compiler.
+dnl For example, `configure --compiler=gcc --xemacs-compiler=g++
+
+dnl The compiler used to build xemacs, as opposed to the compiler
+dnl used by configure and lib-src, is determined from the following
+dnl sources, in order of priority:
+dnl o --xemacs-compiler configure flag
+dnl o XEMACS_CC environment variable
+dnl o same as the regular compiler, (determined previously)
+
+dnl We don't do AC_PROG_CC for XEMACS_CC; if we can't trust these people....
+test -n "$with_xemacs_compiler" &&
XEMACS_CC="$with_xemacs_compiler"
+: ${XEMACS_CC:="$CC"}
+
+dnl Figure out what C preprocessor to use.
+
+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=
+
+test -n "$NON_GNU_CPP" -a "$GCC" != "yes" -a -z
"$CPP" && CPP="$NON_GNU_CPP"
+
+AC_PROG_CPP
+
+dnl --------------------------------------------------------------------
+dnl Compiler feature macros
+dnl --------------------------------------------------------------------
+
+dnl We want feature macros defined here *and* in config.h.in, so that
+dnl the compilation environment at configure time and compile time agree.
+
+AC_MSG_CHECKING(for GNU libc)
+AC_TRY_COMPILE([#include <features.h>],[
+#if ! (defined __GLIBC__ || defined __GNU_LIBRARY__)
+#error Not a GNU libc system :-(
+******* ======= ******** &&&&&&&&
+#endif
+], have_glibc=yes, have_glibc=no)
+AC_MSG_RESULT($have_glibc)
+dnl I'm tired of pop being broken with GLIBC -slb
+dnl Well. then why not fix fucking pop?
+test "$have_glibc" = "yes" && AC_DEFINE(_GNU_SOURCE)
+
+dnl We'd like to use vendor extensions, where available.
+dnl We'd like to use functions from the latest Unix98 standards.
+dnl See
http://www.opengroup.org/onlinepubs/007908799/xsh/compilation.html
+case "$opsys" in
+ sol2)
+ AC_DEFINE(__EXTENSIONS__)
+ dnl Solaris 2 before 2.5 had some bugs with feature test macro interaction.
+ if test "$os_release" -ge 505; then
+ AC_DEFINE(_XOPEN_SOURCE,500)
+ AC_DEFINE(_XOPEN_SOURCE_EXTENDED)
+ fi ;;
+ linux)
+ AC_DEFINE(_POSIX_C_SOURCE,199506L)
+ dnl #### should this be 600?
+ AC_DEFINE(_XOPEN_SOURCE,500)
+ AC_DEFINE(_XOPEN_SOURCE_EXTENDED)
+ ;;
+ freebsd4*)
+ AC_DEFINE(_POSIX_C_SOURCE,199506L)
+ dnl #### Do we want these too? Apparently yes for _XOPEN_SOURCE=500.
+ AC_DEFINE(_XOPEN_SOURCE,500)
+ dnl AC_DEFINE(_XOPEN_SOURCE_EXTENDED)
+ ;;
+esac
+
+dnl Identify compilers to enable compiler-specific hacks.
+dnl Add support for other compilers HERE!
+dnl GCC is already identified elsewhere.
+AC_RUN_IFELSE([AC_LANG_SOURCE([int main () {
+#if defined __SUNPRO_C
+return 11;
+#elif defined __DECC
+return 12;
+#elif defined __USLC__ && defined __SCO_VERSION__
+return 13;
+#elif defined __INTEL_COMPILER
+return 14;
+#else
+return 0;
+#endif
+}])], [],
+[case "$?" in
+ 11) echo "You appear to be using the SunPro C compiler." ; __SUNPRO_C=yes ;;
+ 12) echo "You appear to be using the DEC C compiler." ; __DECC=yes ;;
+ 13) echo "You appear to be using the SCO C compiler." ; __USLC__=yes ;;
+ 14) echo "You appear to be using the Intel C++ compiler."; __ICC=yes
+ dnl Newer versions of icc claim to be GCC
+ GCC=no ;;
+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 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]ifelse([$3],,, [ "$3"])
+[#]endif
+configure___ [$2]=[$1]
+])dnl CPP_to_sh
+
+dnl CPP_boolean_to_sh(CPP_SYMBOL, SH_VAR)
+define([CPP_boolean_to_sh],
+[[#]ifdef [$1]
+configure___ [$2]=yes
+[#]else
+configure___ [$2]=no
+[#]endif
+])dnl CPP_boolean_to_sh
+
+cat > $tempcname < confdefs.h
+cat >> $tempcname <<EOF
+#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
+#define OS_RELEASE $os_release
+
+#ifdef config_opsysfile
+#include "$srcdir/src/$opsysfile"
+#endif
+
+#ifdef config_machfile
+#include "$srcdir/src/$machfile"
+#endif
+
+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(OBJECTS_MACHINE, objects_machine)
+CPP_to_sh(OBJECTS_SYSTEM, objects_system)
+
+CPP_to_sh(C_SWITCH_MACHINE, c_switch_machine)
+CPP_to_sh(C_SWITCH_SYSTEM, c_switch_system)
+
+CPP_to_sh(LD_SWITCH_MACHINE, ld_switch_machine)
+CPP_to_sh(LD_SWITCH_SYSTEM, ld_switch_system)
+
+CPP_to_sh(UNEXEC, unexec)
+
+CPP_to_sh(SYSTEM_TYPE, system_type)
+
+CPP_to_sh(LD_SWITCH_SHARED, ld_switch_shared, -c)
+
+#define ORDINARY_LD "\$(CC) \$(CFLAGS)"
+configure___ ordinary_ld=ORDINARY_LD
+
+#ifdef ORDINARY_LINK
+#define LD ORDINARY_LD
+#else /* no ORDINARY LINK */
+#ifdef COFF_ENCAPSULATE
+#define LD "\$(CC) -nostdlib"
+#else /* not COFF_ENCAPSULATE */
+#ifdef LINKER
+#define LD LINKER
+#else /* ! defined (LINKER) */
+#define LD "ld"
+#endif /* ! defined (LINKER) */
+#endif /* ! defined (COFF_ENCAPSULATE) */
+#endif /* not ORDINARY_LINK */
+configure___ ld=LD
+
+CPP_to_sh(LIB_GCC, lib_gcc)
+CPP_to_sh(LD_TEXT_START_ADDR, ld_text_start_addr)
+
+#if ! defined (ORDINARY_LINK) && !defined (START_FILES)
+#ifdef NO_REMAP
+#ifdef COFF_ENCAPSULATE
+#define START_FILES "pre-crt0.o /usr/local/lib/gcc-crt0.o"
+#else /* ! defined (COFF_ENCAPSULATE) */
+#define START_FILES "pre-crt0.o /lib/crt0.o"
+#endif /* ! defined (COFF_ENCAPSULATE) */
+#else /* ! defined (NO_REMAP) */
+#define START_FILES "ecrt0.o"
+#endif /* ! defined (NO_REMAP) */
+#endif /* no ORDINARY_LINK */
+#ifndef START_FILES
+#define START_FILES
+#endif
+configure___ start_files=START_FILES
+
+CPP_boolean_to_sh(ORDINARY_LINK, ordinary_link)
+CPP_boolean_to_sh(SYSTEM_MALLOC, system_malloc)
+CPP_boolean_to_sh(TERMINFO, have_terminfo)
+dnl The MAIL_USE_xxx variables come from the s&m headers
+CPP_boolean_to_sh(MAIL_USE_FLOCK, mail_use_flock)
+CPP_boolean_to_sh(MAIL_USE_LOCKF, mail_use_lockf)
+CPP_boolean_to_sh(MAIL_USE_LOCKING, mail_use_locking)
+CPP_boolean_to_sh(HAVE_WIN32_PROCESSES, win32_processes)
+EOF
+
+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 $CPPFLAGS"`
+define(TAB, [ ])dnl
+eval `$CPP -Isrc $tempcname \
+ | sed -n -e "s/[[ TAB]]*=[[ TAB\"]]*/='/" -e "s/[[
TAB\"]]*\$/'/" -e "s/^configure___//p"`
+
+rm $tempcname
+
+dnl s&m files shouldn't be required to define anything, or even to exist.
+dnl So we default SYSTEM_TYPE to the obvious documented standard, `uname -s`,
+dnl appropriately emacsulated.
+test -z "$system_type" && \
+ AC_DEFINE_UNQUOTED(SYSTEM_TYPE,"`uname -s | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz`")
+
+dnl If the s&m files don't define a system-specific dumper, simply use pdump.
+dnl Sometime in the future, we'll remove all definitions of UNEXEC
+dnl from all the s&m files.
+test -z "$unexec" && enable_pdump=yes
+
+if test "$enable_pdump" = "yes"; then
+ ordinary_link="yes"
+ ld="${ordinary_ld}"
+ start_files=
+ libs_standard=
+ unexec=
+ lib_gcc=
+fi
+
+dnl For debugging...
+dnl test "$extra_verbose" = "yes" && \
+ PRINT_VAR(libs_machine libs_system libs_termcap libs_standard
+ objects_machine objects_system c_switch_machine c_switch_system
+ ld_switch_machine ld_switch_system unexec ld_switch_shared
+ ld lib_gcc ld_text_start_addr start_files ordinary_link
+ have_terminfo mail_use_flock mail_use_lockf) && echo ""
+
+dnl Pick up mingw include path
+dnl We only cope with headers in mingw, not mingw32: no previous version of
+dnl XEmacs supported mingw and cygnus have made this incompatible change
+dnl so we just go with the flow.
+case "$opsys" in mingw* | cygwin*)
+ cygwin_include=`eval "gcc -print-file-name=libc.a"` ;
+ cygwin_include=`eval "dirname $cygwin_include"` ;
+ cygwin_include="-I$cygwin_include/../include" ;
+ extra_includes="$cygwin_include/mingw $cygwin_include" ;
+ case "$opsys" in mingw*)
+ XE_APPEND($extra_includes, c_switch_system) ;;
+ esac
+ ;;
+esac
+
+dnl Non-ordinary link usually requires -lc
+test "$ordinary_link" = "no" -a -z "$libs_standard"
&& libs_standard="-lc"
+
+dnl -----------------------
+dnl Compiler-specific hacks
+dnl -----------------------
+
+dnl DEC C `-std1' means ANSI C mode
+test "$__DECC" = "yes" && XE_APPEND(-std1, c_switch_site)
+
+dnl Some versions of SCO native compiler need -Kalloca
+if test "$__USLC__" = yes; then
+ AC_MSG_CHECKING(for whether the -Kalloca compiler flag is needed)
+ need_kalloca=no
+ AC_TRY_LINK([], [void *x = alloca(4);], [:], [
+ xe_save_c_switch_system="$c_switch_system"
+ c_switch_system="$c_switch_system -Kalloca"
+ AC_TRY_LINK([], [void *x = alloca(4);], [ need_kalloca=yes ])
+ c_switch_system="$xe_save_c_switch_system"])
+ AC_MSG_RESULT($need_kalloca)
+ test "$need_kalloca" = "yes" &&
XE_APPEND(-Kalloca,c_switch_system)
+fi
+
+dnl If we're specifying XEMACS_CC, it'd better be in the same family
+dnl as CC or the following flag calculations are bogus.
+dnl #### We may want to actually error and abort here, but I am not sure.
+if test "$CC" != "$XEMACS_CC"; then
+ if test "$XEMACS_CC" = "g++" -a "$GCC" !=
"yes"; then
+ AC_MSG_WARN([CC and g++ are mismatched; XE_CFLAGS may be wrong])
+ xemacs_cc_cc_mismatch=yes
+ elif test -n "$GCC" -a "$XEMACS_CC" != "g++"; then
+ AC_MSG_WARN([gcc and XEMACS_CC are mismatched; XE_CFLAGS may be wrong])
+ xemacs_cc_cc_mismatch=yes
+ dnl #### Add other detectable mismatches here.
+ else
+ xemacs_cc_cc_mismatch=no
+ fi
+fi
+
+dnl #### This may need to be overhauled so that all of XEMACS_CC's flags
+dnl are handled separately, not just the xe_cflags_warning stuff.
+
+AC_MSG_CHECKING([for preferred CFLAGS])
+
+dnl Use either command line flag, environment var, or autodetection
+if test "$cflags_specified" = "no"; then
+ dnl Following values of CFLAGS are known to work well.
+ dnl Should we take debugging options into consideration?
+ if test "$GCC" = "yes"; then
+ CFLAGS="-g -O3"
+ elif test "$__SUNPRO_C" = "yes"; then
+ case "$opsys" in
+ sol2 ) CFLAGS="-xO4" ;;
+ sunos4* ) CFLAGS="-xO2" ;;
+ esac
+ elif test "$__DECC" = "yes"; then
+ CFLAGS="-O3"
+ elif test "$CC" = "xlc"; then
+ CFLAGS="-g -O3 -qstrict -qnoansialias -qlibansi -qro -qmaxmem=20000"
+ elif test "$__ICC" = "yes"; then
+ CFLAGS="-g -O3 -Ob2"
+ dnl ### Add optimal CFLAGS support for other compilers HERE!
+ else
+ CFLAGS="-O" ;dnl The only POSIX-approved flag
+ fi
+fi
+AC_MSG_RESULT([${CFLAGS}])
+
+dnl Calculate warning flags. We separate the flags for warnings from
+dnl the other flags because we want to force the warnings to be seen
+dnl by everyone who doesn't specifically override them.
+
+AC_MSG_CHECKING([for preferred warning flags for XEMACS_CC])
+
+dnl If this stays nil, it will be set to cflags_warning before use.
+xe_cflags_warning=""
+
+if test "$cflags_warning_specified" = "no"; then
+ dnl Following warning flags are known to work well.
+ if test "$__SUNPRO_C" = "yes"; then
+ case "$opsys" in
+ sol2 ) with_cflags_warning="-v" ;;
+ esac
+ elif test "$CC" = "xlc"; then
+ with_cflags_warning="-qinfo"
+ elif test "$GCC" = "yes"; then
+ with_cflags_warning="-Wall -Wno-switch -Wmissing-prototypes"
+ dnl This is not very useful, as it issues warnings that may appear
+ dnl or disappear rather randomly, cannot easily be fixed, and are
+ dnl not a big deal. If you want it, add it yourself.
+ dnl with_cflags_warning="$with_cflags_warning -Winline"
+
+ dnl Yuck, bad compares have been worth at least 3 crashes!
+ dnl Warnings about char subscripts are pretty pointless, though,
+ dnl and we use them in various places.
+ with_cflags_warning="$with_cflags_warning -Wsign-compare
-Wno-char-subscripts"
+ with_cflags_warning="$with_cflags_warning -Wundef -Wstrict-prototypes"
+ test "$__GCC3" = "yes" &&
with_cflags_warning="$with_cflags_warning -Wpacked"
+ dnl glibc is intentionally not `-Wpointer-arith'-clean.
+ dnl Ulrich Drepper has rejected patches to fix the glibc header files.
+ test "$have_glibc" != "yes" && \
+ with_cflags_warning="$with_cflags_warning -Wpointer-arith"
+ dnl Warning flags that may differ for gcc and g++ (xemacs_compiler)
+ dnl With g++, -Wshadow produces five zillion utterly random warnings --
+ dnl a local var named `buffer' conflicts with `struct buffer' for
+ dnl example. Even with gcc, -Wshadow is questionable because of its
+ dnl complaints about parameters with the same names as global functions.
+ dnl There is no -Wmissing-declarations under g++.
+ dnl But gcc warns about -Weffc++ in C compiles.
+ dnl With g++, there is no effective way to use -Wunused-parameter without
+ dnl some very ugly code changes.
+ if test "$with_xemacs_compiler" = "g++"; then
+ xe_cflags_warning="$with_cflags_warning -Weffc++"
+ elif test "$__GCC3" = "yes"; then
+ xe_cflags_warning="$with_cflags_warning -Wunused-parameter"
+ fi
+ with_cflags_warning="$with_cflags_warning -Wshadow -Wmissing-declarations"
+ dnl **** If more gcc/g++ flags are added, from here on must handle
+ dnl **** with_cflags_warning and xe_cflags_warning in parallel
+ elif test "$__ICC" = "yes"; then
+ with_cflags_warning="-Wall -w1 -we147"
+ dnl ### Add optimal with_cflags_warning support for other compilers HERE!
+ fi
+fi
+test -z "$xe_cflags_warning" &&
xe_cflags_warning="$with_cflags_warning"
+AC_MSG_RESULT([${xe_cflags_warning}])
+
+AC_MSG_CHECKING([for preferred warning flags for CC])
+AC_MSG_RESULT([${with_cflags_warning}])
+
+dnl Now combine all C flags. Put the warning flags first so that
+dnl user-specified flags will override.
+dnl Do XE_CFLAGS before adding warning flags to CFLAGS.
+dnl Flags for XEMACS_CC:
+XE_CFLAGS="$xe_cflags_warning $CFLAGS"
+dnl Flags for CC:
+CFLAGS="$with_cflags_warning $CFLAGS"
+
+dnl Search for GCC specific build problems we know about
+if test "$GCC" = "yes"; then
+AC_MSG_CHECKING(for buggy gcc versions)
+GCC_VERSION=`$CC --version`
+case `uname -s`:`uname -m`:$GCC_VERSION in
+ dnl egcs 2.90.21 (egcs-1.00 release)
+ dnl egcs 2.90.29 (egcs-1.0.3 release)
+ *:sun4*:2.8.1|*:sun4*:egcs-2.90.*)
+ dnl Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures
+ dnl without also using `-fno-schedule-insns'.
+ case "$CFLAGS" in
+ *-O2*|*-O3*)
+ case "$CFLAGS" in
+ *-fno-schedule-insns*) ;;
+ *)
+ AC_MSG_RESULT(yes)
+ AC_MSG_WARN([Don't use -O2 with gcc 2.8.1 and egcs 1.0 under
SPARC architectures])
+ AC_MSG_WARN([without also using -fno-schedule-insns.])
+ AC_MSG_ERROR([Aborting due to known problem])
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ dnl egcs-2.91.57 (egcs-1.1 release)
+ dnl egcs-2.91.66 (egcs-1.1.2 release)
+ Linux:alpha:egcs-2.91.*)
+ AC_MSG_RESULT(yes)
+ AC_MSG_WARN([There have been reports of egcs-1.1 not compiling XEmacs correctly
on])
+ AC_MSG_WARN([Alpha Linux. There have also been reports that egcs-1.0.3a is
O.K.])
+ AC_MSG_ERROR([Aborting due to known problem])
+ ;;
+ *:i*86*:2.7.2*)
+ case "$CFLAGS" in
+ *-O2*|*-O3*)
+ case "$GCC_VERSION" in
+ 2.7.2)
+ case "$CFLAGS" in
+ *-fno-strength-reduce*) ;;
+ *)
+ AC_MSG_RESULT(yes)
+ AC_MSG_WARN([Don't use -O2 with gcc 2.7.2 under
Intel/XXX without also using])
+ AC_MSG_WARN([-fno-strength-reduce.])
+ AC_MSG_ERROR([Aborting due to known problem])
+ ;;
+ esac
+ ;;
+ esac
+ case "$CFLAGS" in
+ *-fno-caller-saves*) ;;
+ *)
+ AC_MSG_RESULT(yes)
+ AC_MSG_WARN([Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using])
+ AC_MSG_WARN([-fno-caller-saves.])
+ AC_MSG_ERROR([Aborting due to known problem])
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+esac
+AC_MSG_RESULT(no)
+fi
+
+dnl GNU ld now defaults to combreloc, which screws up unexec, but not pdump.
+dnl Note that it's OK if the GNU style long option causes non-GNU ld to barf
+dnl a usage message, that's often good enough. Please report it, though.
+dnl #### Should make this Solaris-friendly.
+dnl Link with -z nocombreloc for now.
+if test "$enable_pdump" != "yes"; then
+ AC_MSG_CHECKING(for \"-z nocombreloc\" linker flag)
+ case "`ld --help 2>&1`" in
+ *-z\ nocombreloc* ) AC_MSG_RESULT(yes)
+ XE_PREPEND(-z nocombreloc, ld_switch_site) ;;
+ *) AC_MSG_RESULT(no) ;;
+ esac
+fi
+
+dnl Inform compiler that certain flags are meant for the linker
+XE_PROTECT_LINKER_FLAGS(ld_switch_system)
+XE_PROTECT_LINKER_FLAGS(ld_switch_machine)
+XE_PROTECT_LINKER_FLAGS(ld_switch_site)
+XE_PROTECT_LINKER_FLAGS(LDFLAGS)
+XE_PROTECT_LINKER_FLAGS(ld_call_shared)
+
+dnl Add s&m-determined objects (including unexec) to link line
+test -n "$objects_machine" && XE_ADD_OBJS($objects_machine)
+test -n "$objects_system" && XE_ADD_OBJS($objects_system)
+test -n "$unexec" && test ! "$enable_pdump" =
"yes" && XE_ADD_OBJS($unexec)
+test "$enable_pdump" = "yes" && XE_ADD_OBJS(dumper.o)
+
+dnl Dynodump (Solaris 2.x, x<6)
+AC_MSG_CHECKING(for dynodump)
+if test "$unexec" != "unexsol2.o"; then
+ AC_MSG_RESULT(no)
+else
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(DYNODUMP)
+ XE_APPEND(dynodump, MAKE_SUBDIR)
+ XE_APPEND(dynodump, SRC_SUBDIR_DEPS)
+ case "$machine" in
+ sparc ) dynodump_arch=sparc ;;
+ *86* ) dynodump_arch=i386 ;;
+ powerpc ) dynodump_arch=ppc ;;
+ esac
+ dnl Dynodump requires the system linker
+ test "$GCC" = "yes" && XE_APPEND(-fno-gnu-linker,
ld_switch_site)
+fi
+
+dnl Feed s&m crud to src/Makefile
+
+dnl Linux/powerpc needs the following magic for some reason
+dnl [Not needed with YellowDog 2.3 and causes link problems with YellowDog 3.0,
+dnl the two most popular PowerPC distributions.]
+dnl test "$machine$opsys" = "powerpclinux" &&
start_flags="-T $srcdir/src/ppc.ldscript"
+
+AC_LANG(C)
+if test "$unexec" = "unexaix.o"; then
+dnl AIX needs various hacks to make static linking work.
+ if test "$with_dynamic" = "no"; then
+ start_flags="-Wl,-bnso,-bnodelcsect"
+ test "$GCC" = "yes" && start_flags="-B/bin/
${start_flags}"
+ for f in "/lib/syscalls.exp" "/lib/threads.exp"; do
+ if test -r "$f"; then start_flags="${start_flags},-bI:${f}"; fi
+ done
+ for f in "/usr/lpp/X11/bin/smt.exp" "/usr/bin/X11/smt.exp"; do
+ if test -r "$f"; then start_flags="${start_flags},-bI:${f}";
break; fi
+ done
+ AC_CHECK_LIB([c], [terminateAndUnload], [XE_APPEND(-lC, libs_system)])
+ fi
+elif test -n "$ld_text_start_addr"; then
+ start_flags="-T $ld_text_start_addr -e __start"
+fi
+AC_SUBST(start_flags)
+
+AC_SUBST(ld_switch_shared)
+AC_SUBST(start_files)
+if test "$ordinary_link" = "no" -a "$GCC" =
"yes"; then
+ test -z "$linker" && linker='$(CC) -nostdlib'
+ test -z "$lib_gcc" && lib_gcc='`$(CC)
-print-libgcc-file-name`'
+fi
+test "$GCC" != "yes" && lib_gcc=
+AC_SUBST(ld)
+AC_SUBST(lib_gcc)
+
+dnl ---------------------------------------------------------------
+dnl Get version information for:
+dnl C compiler, libc
+dnl #### should do CC compiler, too, if different from XEMACS_CC
+dnl ---------------------------------------------------------------
+
+compiler_version=""
+gcc_compiler_specs=""
+libc_version=""
+
+AC_MSG_CHECKING([for compiler version information])
+
+dnl First try portable compilers, then crack system secrets
+dnl #### Is this code correct if $XEMACS_CC != $CC? XEMACS_CC hasn't been
+dnl run through the AC_PROG_CC mill.
+dnl Would anybody really build libsrc with GCC and XEmacs with non-GCC?
+if test "$GCC" = "yes"; then
+ compiler_version=`$XEMACS_CC --version | head -1`
+ gcc_compiler_specs=`$XEMACS_CC -v 2>&1 | sed 's/.* \([[^ ]]\)/\1/' |
head -1`
+else case "$XEMACS_CC" in
+ dnl The Intel cc compiler
+ ic*)
+ compiler_version=`icc -V 2>&1 | head -1`
+ ;;
+ dnl non-gcc machine-specific magic - contributions welcome
+ *) case "$ac_cv_build" in
+ *-*-aix* )
+ dnl Yes, it's this ugly for AIX...
+ realcc=`which $XEMACS_CC`
+ dnl Might be a symlink created by replaceCset command
+ if test -L $realcc ; then
+ ccdir=`dirname $realcc`
+ ccprog=`/bin/ls -l $realcc | sed 's/.* \([[^ ]]\)/\1/'`
+ dnl This doesn't handle ../../xlc type stuff, but I've not seen one...
+ case $ccprog in
+ */*) realcc=$ccprog;;
+ *) realcc=$ccdir/$ccprog;;
+ esac
+ fi
+ lpp=`lslpp -wqc $realcc | cut -f2 -d:`
+ if test ! -z "$lpp" ; then
+ lppstr=`lslpp -Lqc $lpp`
+ lpplev=`echo "$lppstr" | cut -f3 -d:`
+ lppdesc=`echo "$lppstr" | cut -f8 -d:`
+ fi
+ if test ! -z "$lpplev" ; then
+ compiler_version="$lpp $lpplev - $lppdesc"
+ fi
+ ;;
+
+ *-*-solaris*)
+ compiler_version=`$XEMACS_CC -V 2>&1 | head -1`
+ ;;
+
+ alpha*-dec-osf*)
+ compiler_version=`$XEMACS_CC -V | tr '\n' ' '`
+ ;;
+
+ mips-sgi-irix*)
+ compiler_version=`$XEMACS_CC -version`
+ ;;
+ esac
+ esac
+fi
+
+dnl Awww, shucks.
+if test -z "$compiler_version"; then
+ compiler_version="detection failed (please report this)"
+fi
+
+AC_MSG_CHECKING(for standard C library version information)
+
+case "$ac_cv_build" in
+ *-*-linux*)
+ dnl #### who would ever _not_ be running the distro's libc?
+ dnl Maybe it would be better to get/augment this info with ldd?
+ if test -f /etc/redhat-release ; then
+ libc_version=`rpm -q glibc`
+ elif test -f /etc/debian_version ; then
+ libc_version=`dpkg-query --showformat='${version}' --show libc6`
+ libc_version="GNU libc $libc_version (Debian)"
+ dnl need SuSE et al checks here...
+ fi
+ dnl #### Tested on Debian, does this actually work elsewhere? ;-)
+ if test -z "$libc_version"; then
+ libc_version=`ls /lib/libc-*.so | sed -e 's,/lib/libc-\(.*\)\.so,\1,'`
+ fi
+ ;;
+
+ *-*-aix*)
+ libc_version="bos.rte.libc `lslpp -Lqc bos.rte.libc | cut -f3 -d:`"
+ ;;
+
+ *-*-solaris*)
+ libc=`pkginfo -l SUNWcsl | grep VERSION: | awk '{print $2}'`
+ libc_version="SUNWcsl $libc"
+
+ ;;
+
+ mips-sgi-irix*)
+ libc_version="IRIX libc `uname -sRm`"
+ ;;
+
+ alpha*-dec-osf*)
+ dnl Another ugly case
+ (cd /usr/.smdb.;
+ libc_version=` grep -h libc.so *.inv | awk '$9 == "f" {print $12}' |
tr '\n' ','`
+ )
+ ;;
+esac
+
+dnl Awww, shucks.
+if test -z "libc_version"; then
+ libc_version="detection failed (please report this)"
+fi
+
+dnl ---------------------------------------------------------------
+dnl Add site and system specific flags to compile and link commands
+dnl ---------------------------------------------------------------
+
+dnl --with-site-libraries (multiple dirs)
+COLON_TO_SPACE(with_site_libraries)
+if test -n "$with_site_libraries"; then
+ for arg in $with_site_libraries; do
+ case "$arg" in
+ -* ) ;;
+ * ) test -d "$arg" || \
+ XE_DIE("Invalid site library \`$arg': no such directory")
+ arg="-L${arg}" ;;
+ esac
+ XE_APPEND($arg, ld_switch_site)
+ done
+fi
+
+dnl --with-site-includes (multiple dirs)
+COLON_TO_SPACE(with_site_includes)
+if test -n "$with_site_includes"; then
+ for arg in $with_site_includes; do
+ case "$arg" in
+ -* ) ;;
+ * ) test -d "$arg" || \
+ XE_DIE("Invalid site include \`$arg': no such directory")
+ arg="-I${arg}" ;;
+ esac
+ XE_APPEND($arg, c_switch_site)
+ done
+fi
+
+dnl --with-site-prefixes (multiple dirs)
+dnl --with-site-prefixes=dir1:dir2 is a convenient shorthand for
+dnl --with-site-libraries=dir1/lib:dir2/lib
--with-site-includes=dir1/include:dir2/include
+dnl Site prefixes take precedence over the standard places, but not over
+dnl with-site-includes and with-site-libraries.
+COLON_TO_SPACE(with_site_prefixes)
+if test -n "$with_site_prefixes"; then
+ for dir in $with_site_prefixes; do
+ lib_dir="${dir}/lib"
+ inc_dir="${dir}/include"
+ if test ! -d "$dir"; then
+ XE_DIE("Invalid site prefix \`$dir': no such directory")
+ elif test ! -d "$lib_dir"; then
+ XE_DIE("Invalid site prefix \`$dir': no such directory
\`$lib_dir'")
+ else
+ if test -d "$inc_dir"; then
+ XE_APPEND("-I$inc_dir", c_switch_site)
+ fi
+ XE_APPEND("-L$lib_dir", ld_switch_site)
+ fi
+ done
+fi
+
+dnl GNU software installs by default into /usr/local/{include,lib}
+dnl if test -d "/usr/local/include" -a -d "/usr/local/lib"; then
+dnl XE_APPEND("-L/usr/local/lib", ld_switch_site)
+dnl XE_APPEND("-I/usr/local/include", c_switch_site)
+dnl fi
+
+dnl Extra system-specific library directories - please add to list
+for dir in "/usr/ccs/lib"; do
+ test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_system)
+done
+
+dnl --with-site-runtime-libraries (multiple dirs)
+COLON_TO_SPACE(with_site_runtime_libraries)
+if test -n "$with_site_runtime_libraries"; then
+ LD_RUN_PATH="`echo $with_site_runtime_libraries | sed -e 's/
*/:/g'`"
+ export LD_RUN_PATH
+fi
+
+dnl Linux systems have dynamic runtime library directories listed in
+dnl /etc/ld.so.conf. Since those are used at run time, it seems pretty
+dnl safe to use them at link time, and less controversial than forcing
+dnl the run-time to use the link-time libraries. This also helps avoid
+dnl mismatches between the link-time and run-time libraries.
+
+dnl #### Unfortunately, there are horrible libc4 and libc5 libraries
+dnl listed in /etc/ld.so.conf on some systems, and including them on
+dnl the link path leads to linking in utterly broken libc's.
+dnl There are many clever ways of approaching this problem,
+dnl but finding one that actually works...
+
+dnl if test -z "$LD_RUN_PATH" -a -r "/etc/ld.so.conf"; then
+dnl for dir in `cat /etc/ld.so.conf`; do
+dnl test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_system)
+dnl done
+dnl add_runtime_path=no
+dnl fi
+
+dnl -------------------------------------
+dnl Compute runtime library path
+dnl -------------------------------------
+
+if test -n "$add_runtime_path"; then :;
+elif test "$with_dynamic" = "no"; then add_runtime_path=no
+elif test -n "$LD_RUN_PATH"; then add_runtime_path=yes
+else case "$opsys" in
+ sol2 | irix* | *bsd* | decosf* ) add_runtime_path=yes ;;
+ * ) add_runtime_path=no ;;
+ esac
+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")
+ case "$opsys" in
+ sol2 ) dash_r="-R" ;;
+ decosf* | linux* | irix*) dash_r="-rpath " ;;
+ *)
+ dash_r=""
+ for try_dash_r in "-R" "-R " "-rpath "; do
+ xe_check_libs="${try_dash_r}/no/such/file-or-directory"
+ XE_PROTECT_LINKER_FLAGS(xe_check_libs)
+ AC_TRY_LINK(, , dash_r="$try_dash_r")
+ xe_check_libs=""
+ test -n "$dash_r" && break
+ done ;;
+ esac
+ if test -n "$dash_r";
+ then AC_MSG_RESULT("\"${dash_r}\"")
+ else AC_MSG_RESULT(NONE)
+ fi
+fi
+
+xe_add_unique_runpath_dir='
+ xe_add_p=yes
+ for xe_dir in $runpath_dirs; do dnl Uniquify
+ test "$xe_dir" = "$xe_runpath_dir" && xe_add_p=no
+ done
+ if test "$xe_add_p" = "yes"; then
+ test -n "$runpath" && runpath="${runpath}:"
+ runpath="${runpath}${xe_runpath_dir}"
+ runpath_dirs="$runpath_dirs $xe_runpath_dir"
+ fi'
+
+XE_COMPUTE_RUNPATH()
+
+dnl -----------------------------------
+dnl Do some misc autoconf-special tests
+dnl -----------------------------------
+
+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 "$with_dlmalloc" != "no"; then
+ doug_lea_malloc=yes
+else
+ doug_lea_malloc=no
+fi
+after_morecore_hook_exists=yes
+AC_CHECK_FUNC(malloc_set_state, ,doug_lea_malloc=no)
+AC_MSG_CHECKING(whether __after_morecore_hook exists)
+AC_TRY_LINK([extern void (* __after_morecore_hook)();],[__after_morecore_hook = 0],
+ [AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)
+ after_morecore_hook_exists=no])
+if test "$system_malloc" = "yes" ; then
+ GNU_MALLOC=no
+ GNU_MALLOC_reason="
+ - The GNU allocators don't work with this system configuration."
+elif test "$with_system_malloc" = "yes" ; then
+ GNU_MALLOC=no
+ GNU_MALLOC_reason="
+ - User chose not to use GNU allocators."
+elif test "$with_debug_malloc" = "yes" ; then
+ GNU_MALLOC=no
+ GNU_MALLOC_reason="
+ - User chose to use Debugging Malloc."
+fi
+
+if test "$doug_lea_malloc" = "yes" -a "$GNU_MALLOC" =
"yes" ; then
+ GNU_MALLOC_reason="
+ - Using Doug Lea's new malloc from the GNU C Library."
+ AC_DEFINE(DOUG_LEA_MALLOC)
+ if test "$after_morecore_hook_exists" = "no" ; then
+ GNU_MALLOC_reason="
+ - Using Doug Lea's new malloc from the Linux C Library."
+ AC_DEFINE(_NO_MALLOC_WARNING_)
+ fi
+fi
+
+dnl #### mcheck is broken in all versions of Linux libc and glibc.
+dnl Try this again when 2.1 hits the streets.
+dnl Avoid using free-hook.c if support exists for malloc debugging in libc
+dnl have_libmcheck=no
+dnl if test "$error_check_malloc" = "yes" -a \
+dnl "$have_glibc" = "yes" -a \
+dnl "$doug_lea_malloc" = "yes"; then
+dnl AC_CHECK_HEADERS(mcheck.h)
+dnl AC_CHECK_LIB(mcheck, mcheck, have_libmcheck=yes, have_libmcheck=no)
+dnl fi
+
+dnl if test "$have_libmcheck" = "yes"; then
+dnl AC_DEFINE(HAVE_LIBMCHECK)
+dnl libmcheck=-lmcheck
+dnl AC_SUBST(libmcheck)
+dnl fi
+
+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
+AC_PROG_YACC
+
+dnl checks for header files
+AC_CHECK_HEADERS(dnl
+ a.out.h dnl
+ elf.h dnl
+ cygwin/version.h dnl
+ fcntl.h dnl
+ inttypes.h dnl
+ libgen.h dnl
+ locale.h dnl
+ wchar.h dnl
+ mach/mach.h dnl
+ sys/param.h dnl
+ sys/pstat.h dnl
+ sys/resource.h dnl
+ sys/time.h dnl
+ sys/timeb.h dnl
+ sys/times.h dnl
+ sys/un.h dnl
+ sys/vlimit.h dnl
+ ulimit.h dnl
+ unistd.h dnl
+)
+AC_HEADER_SYS_WAIT
+AC_HEADER_STDC
+AC_HEADER_TIME
+AC_CHECK_DECLS([sys_siglist],,,
+[#include <signal.h>
+/* NetBSD declares sys_siglist in unistd.h. */
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+])
+
+
+dnl ----------------------------------------------------------------
+dnl Checking for utime() or utimes().
+dnl We prefer utime, since it is more standard.
+dnl Some systems have utime.h but do not declare the struct anyplace,
+dnl so we use a more sophisticated test for utime than AC_CHECK_FUNCS.
+dnl ----------------------------------------------------------------
+AC_MSG_CHECKING(for utime)
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <utime.h>],
+[struct utimbuf x; x.actime = x.modtime = 0; utime ("/", &x);],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_UTIME)],
+ [AC_MSG_RESULT(no)
+ dnl We don't have utime(); how about utimes()?
+ AC_CHECK_FUNCS(utimes)])
+
+
+dnl checks for typedefs
+AC_TYPE_SIGNAL
+AC_TYPE_SIZE_T
+AC_TYPE_PID_T
+AC_TYPE_UID_T
+AC_TYPE_MODE_T
+AC_TYPE_OFF_T
+AC_CHECK_TYPE(ssize_t, int)
+
+dnl not AC_CHECK_TYPE; lisp.h does hairy conditional typedef
+if test "$ac_cv_header_inttypes_h" != "yes"; then
+AC_MSG_CHECKING(for intptr_t in sys/types.h)
+AC_TRY_COMPILE([#include <sys/types.h>
+intptr_t x;
+],[],[AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_INTPTR_T_IN_SYS_TYPES_H,1)],
+ [AC_MSG_RESULT(no)])
+fi
+
+dnl check for Unix98 socklen_t
+AC_MSG_CHECKING(for socklen_t)
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/socket.h>
+socklen_t x;
+],[],[AC_MSG_RESULT(yes)],[
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/socket.h>
+int accept (int, struct sockaddr *, size_t *);
+],[],[
+AC_MSG_RESULT(size_t)
+AC_DEFINE(socklen_t,size_t)], [
+AC_MSG_RESULT(int)
+AC_DEFINE(socklen_t,int)])])
+
+AC_MSG_CHECKING(for struct timeval)
+AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
+#include <sys/time.h>
+#include <time.h>
+#else
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#else
+#include <time.h>
+#endif
+#endif], [static struct timeval x; x.tv_sec = x.tv_usec;],
+ [AC_MSG_RESULT(yes)
+ HAVE_TIMEVAL=yes
+ AC_DEFINE(HAVE_TIMEVAL)],
+ [AC_MSG_RESULT(no)
+ HAVE_TIMEVAL=no])
+
+dnl checks for structure members
+AC_STRUCT_TM
+AC_STRUCT_TIMEZONE
+
+dnl checks for compiler characteristics
+AC_C_CONST
+
+dnl check for Make feature
+AC_PROG_MAKE_SET
+
+dnl check byte order
+AC_C_BIGENDIAN
+
+dnl define SIZEOF_TYPE
+AC_CHECK_SIZEOF(short)
+if test "$ac_cv_sizeof_short" = 0; then
+ echo ""
+ echo "*** PANIC *** Configure tests are not working - compiler is broken."
+ echo "*** PANIC *** Please examine config.log for compilation errors."
+ exit 1
+fi
+AC_CHECK_SIZEOF(int)
+AC_CHECK_SIZEOF(long)
+AC_CHECK_SIZEOF(long long)
+AC_CHECK_SIZEOF(void *)
+AC_CHECK_SIZEOF(double)
+
+dnl check for long file names
+AC_SYS_LONG_FILE_NAMES
+
+dnl -lm is required for floating point support, among other things
+AC_CHECK_FUNC(sin, ,AC_CHECK_LIB(m, sin))
+
+AC_TRY_LINK([#include <math.h>],
+ [return atanh(1.0) + asinh(1.0) + acosh(1.0); ],
+ AC_DEFINE(HAVE_INVERSE_HYPERBOLIC))
+
+dnl See if mkstemp is available
+AC_CHECK_FUNCS(mkstemp)
+
+dnl Determine type of mail locking from configure args and s&m headers
+AC_CHECKING(type of mail spool file locking)
+AC_CHECK_FUNCS(lockf flock)
+dnl The mail_use_xxx variables are set according to the s&m headers.
+test -z "$with_mail_locking" -a "$mail_use_flock" = "yes"
&& with_mail_locking=flock
+test -z "$with_mail_locking" -a "$mail_use_lockf" = "yes"
&& with_mail_locking=lockf
+test -z "$with_mail_locking" -a "$mail_use_locking" = "yes"
&& with_mail_locking=locking
+if test -z "$with_mail_locking"; then
+ case "$opsys" in cygwin* | mingw*)
+ with_mail_locking=pop ;;
+ esac
+fi
+
+if test "$with_mail_locking" = "lockf"; then
AC_DEFINE(MAIL_LOCK_LOCKF)
+elif test "$with_mail_locking" = "flock"; then
AC_DEFINE(MAIL_LOCK_FLOCK)
+elif test "$with_mail_locking" = "locking"; then
AC_DEFINE(MAIL_LOCK_LOCKING)
+elif test "$with_mail_locking" = "pop"; then
+ with_pop=yes
+ with_mail_locking=
+elif test "$with_mail_locking" = "mmdf"; then
AC_DEFINE(MAIL_LOCK_MMDF)
+else with_mail_locking="file"; AC_DEFINE(MAIL_LOCK_DOT)
+fi
+test "$with_mail_locking" = "lockf" -a "$ac_cv_func_lockf"
!= "yes" && \
+ XE_DIE("lockf mail locking requested but not available.")
+test "$with_mail_locking" = "flock" -a "$ac_cv_func_flock"
!= "yes" && \
+ XE_DIE("flock mail locking requested but not available.")
+test "$with_mail_locking" = "locking" -a
"$ac_cv_func_locking" != "yes" && \
+ XE_DIE("locking mail locking requested but not available.")
+
+case "$opsys" in decosf*)
+ AC_CHECK_LIB(pthreads, cma_open)
+ test "$ac_cv_lib_pthreads_cma_open" = "yes" && \
+ c_switch_site="$c_switch_site -threads" ;;
+esac
+
+dnl ----------------------------------------------------------------
+dnl Miscellaneous flags
+dnl ----------------------------------------------------------------
+
+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); XE_APPEND(-xildoff, ld_switch_site)
+ fi
+ else AC_MSG_RESULT(no)
+fi
+
+dnl Link with "-z ignore" on Solaris if supported
+if test "$opsys" = "sol2"; then
+ if test "$os_release" -ge 506; then
+ AC_MSG_CHECKING(for \"-z ignore\" linker flag)
+ case "`ld -h 2>&1`" in
+ *-z\ ignore\|record* ) AC_MSG_RESULT(yes)
+ XE_PREPEND(-z ignore, ld_switch_site) ;;
+ *) AC_MSG_RESULT(no) ;;
+ esac
+ fi
+fi
+
+dnl ----------------------
+dnl Choose a window system
+dnl ----------------------
+
+AC_CHECKING("for specified window system")
+
+dnl Autodetection of Gdk libraries and includes
+dnl -------------------------------------------
+dnl On some systems (FreeBSD springs to mind), they use
+dnl versions on the utility routines, so instead of gtk-config
+dnl you must use gtk12-config, etc, etc.
+
+GNOME_CONFIG=no
+GTK_CONFIG=no
+
+if test "$with_gnome" != "no"; then
+ AC_MSG_CHECKING(for GNOME configuration script)
+ for possible in gnome-config
+ do
+ possible_version=`${possible} --version 2> /dev/null`
+ if test "x${possible_version}" != "x"; then
+ GNOME_CONFIG="${possible}"
+ with_gnome=yes
+ with_gtk=yes
+ break
+ fi
+ done
+ AC_MSG_RESULT([${GNOME_CONFIG}])
+fi
+
+if test "${GNOME_CONFIG}" != "no"; then
+ GNOME_LIBS=`${GNOME_CONFIG} --libs gnomeui`
+ GNOME_CFLAGS=`${GNOME_CONFIG} --cflags gnomeui`
+ AC_DEFINE(HAVE_GNOME)
+ XE_APPEND(${GNOME_LIBS}, libs_gtk)
+ XE_APPEND(${GNOME_CFLAGS}, c_switch_gtk)
+fi
+
+if test "$with_gtk" != "no";then
+ AC_MSG_CHECKING(for GTK configuration script)
+ for possible in gtk12-config gtk14-config gtk-config
+ do
+ possible_version=`${possible} --version 2> /dev/null`
+ if test "x${possible_version}" != "x"; then
+ GTK_CONFIG="${possible}"
+ case "${possible_version}" in
+ 1.0.*) AC_MSG_WARN([GTK 1.2 is required, please upgrade your version of GTK.]);
with_gtk=no;;
+ 1.3.*) AC_MSG_WARN([GTK 1.3 is not supported right now]); with_gtk=no;;
+ 1.2.*)
+ with_gtk=yes
+ break
+ ;;
+ *) AC_MSG_WARN([Found unsupported version of GTK: $possible_version]);;
+ esac
+ fi
+ done
+ AC_MSG_RESULT([${GTK_CONFIG}])
+fi
+
+if test "${GTK_CONFIG}" != "no"; then
+ AC_MSG_CHECKING(gtk version)
+ GTK_VERSION=`${GTK_CONFIG} --version`
+ AC_MSG_RESULT(${GTK_VERSION})
+
+ AC_MSG_CHECKING(gtk libs)
+ GTK_LIBS=`${GTK_CONFIG} --libs`
+ XE_APPEND(${GTK_LIBS}, libs_gtk)
+ AC_MSG_RESULT(${GTK_LIBS})
+
+ AC_MSG_CHECKING(gtk cflags)
+ GTK_CFLAGS=`${GTK_CONFIG} --cflags`
+ if test "$GCC" = "yes"; then
+ GTK_CFLAGS="${GTK_CFLAGS} -Wno-shadow"
+ fi
+ XE_APPEND(${GTK_CFLAGS}, c_switch_gtk)
+ AC_MSG_RESULT(${GTK_CFLAGS})
+
+ AC_CHECK_LIB(gdk_imlib, main, XE_PREPEND(-lgdk_imlib, libs_gtk))
+ AC_CHECK_LIB(Imlib, Imlib_init, XE_APPEND(-lImlib, libs_gtk))
+ AC_CHECK_FUNCS(gdk_imlib_init)
+
+ AC_DEFINE(HAVE_XPM)
+ AC_DEFINE(HAVE_GTK)
+ AC_SUBST(GTK_CONFIG)
+
+ window_system=gtk
+ with_gtk=yes
+ if test "$with_x11" != "no"; then
+ AC_MSG_WARN([Configuring GTK, forcing with_x11 to no])
+ with_x11=no
+ fi
+
+ for feature in scrollbars toolbars menubars dialogs widgets
+ do
+ eval "feature_value=\${enable_${feature}}"
+ case "${feature_value}" in
+ yes|no|gtk|"" )
+ ;;
+ * )
+ feature_conflict_with_gtk=yes
+ AC_MSG_WARN([--enable-${feature}=${feature_value} is incompatible with --with-gtk])
;;
+ esac
+ done
+ if test "${feature_conflict_with_gtk}" = "yes"; then
+ XE_DIE(["One or more GUI toolkit features conflict with GTK"])
+ fi
+
+ test "${enable_scrollbars}" != "no" &&
enable_scrollbars=gtk
+ test "${enable_toolbars}" != "no" &&
enable_toolbars=gtk
+ test "${enable_menubars}" != "no" &&
enable_menubars=gtk
+ test "${enable_dialogs}" != "no" && enable_dialogs=gtk
+ test "${enable_widgets}" != "no" && enable_widgets=gtk
+
+ dnl Check for libglade support (it rocks)
+ OLD_CFLAGS="${CFLAGS}"
+ OLD_CPPFLAGS="${CPPFLAGS}"
+ OLD_LDFLAGS="${LDFLAGS}"
+ CFLAGS="${GTK_CFLAGS} ${CFLAGS}"
+ CPPFLAGS="${GTK_CFLAGS} ${CFLAGS}"
+ LDFLAGS="${LDFLAGS} ${GTK_LIBS}"
+ AC_CHECK_HEADERS(glade/glade.h glade.h)
+ AC_CHECK_LIB(xml, main, XE_PREPEND(-lxml, libs_gtk))
+ AC_CHECK_LIB(glade, main, XE_PREPEND(-lglade, libs_gtk))
+ AC_CHECK_LIB(glade-gnome, main, XE_PREPEND(-lglade-gnome, libs_gtk))
+ AC_EGREP_HEADER([char \*txtdomain;], [glade/glade-xml.h],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(LIBGLADE_XML_TXTDOMAIN,1)],
+ [AC_MSG_RESULT(no)])
+ CFLAGS="${OLD_CFLAGS}"
+ CPPFLAGS="${OLD_CPPFLAGS}"
+ LDFLAGS="${OLD_LDFLAGS}"
+fi
+
+dnl We may eventually prefer gtk/gdk over vanilla X11...
+
+if test "$with_x11" != "no"; then
+ dnl User-specified --x-includes or --x-libraries implies --with-x11.
+ test "$x_includes $x_libraries" != "NONE NONE" && \
+ window_system=x11 with_x11=yes
+
+ dnl Autodetection of X11 libraries and includes
+ dnl -------------------------------------------
+ dnl AC_PATH_XTRA thinks it can find our X headers and includes, but
+ dnl it often gets it wrong, so we only use it as a last resort.
+
+ dnl $OPENWINHOME implies --x-includes and --x-libraries
+ dnl Not (yet) handled by autoconf2
+ if test "$x_includes $x_libraries" = "NONE NONE" \
+ -a -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
+
+ if test "$x_includes" = "NONE"; then
+ dnl AC_PATH_XTRA often guesses /usr/include, when some other
+ dnl include directory is a MUCH better guess (Linux, HP-UX 10.20).
+ dnl This is a workaround for idiot (esp. HP) system vendors, who
+ dnl provide a /usr/include/X11, but DON'T FULLY POPULATE IT.
+ for dir in "/usr/X11" "/usr/X11R6"; do
+ if test -d "$dir/include/X11"; then x_includes="$dir/include";
break; fi
+ done
+ fi
+
+ if test "$x_libraries" = "NONE"; then
+ for dir in "/usr/X11/lib" "/usr/X11R6/lib"
"/usr/lib/X11R6"; do
+ if test -r "$dir/libX11.a"; then x_libraries="$dir"; break; fi
+ done
+ fi
+
+ 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
+
+dnl #### wmperry:: !x11 != NONE
+dnl case "$with_x11" in
+dnl yes ) window_system=x11 HAVE_X_WINDOWS=yes ;;
+dnl no ) window_system=none HAVE_X_WINDOWS=no ;;
+dnl esac
+
+if test "$with_x11" = "yes"; then
+ AC_DEFINE(HAVE_X_WINDOWS)
+ XE_APPEND(lwlib, MAKE_SUBDIR)
+ XE_APPEND(lwlib, SRC_SUBDIR_DEPS)
+
+ dnl Look for Motif, but only if not found in $x_includes and $x_libraries
+ AC_CHECK_HEADER(Xm/Xm.h, [AC_CHECK_LIB(Xm, XmStringFree, got_motif=yes)])
+
+ if test "$got_motif" != "yes"; then
+ 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/Motif2.1" \
+ "/usr/lib/Motif1.2" "/usr/lib/Motif1.1"; do
+ inc_dir=`echo $lib_dir | sed -e '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"
+ XE_PREPEND(-L${lib_dir}, X_LIBS) ;;
+ esac
+ case "$x_includes" in "$inc_dir"* ) ;; *)
+ x_includes="$inc_dir $x_includes"
+ XE_PREPEND(-I${inc_dir}, X_CFLAGS) ;;
+ esac
+ break; dnl only need ONE Motif implementation!
+ fi
+ done
+ fi
+
+ 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"
+ XE_APPEND(-L${lib_dir}, X_LIBS)
+ esac
+ case "$x_includes" in "$inc_dir"* ) ;; *)
+ x_includes="$x_includes $inc_dir"
+ XE_APPEND(-I${inc_dir}, X_CFLAGS)
+ esac
+ break; dnl Only need ONE X11 implementation !
+ fi
+ done
+
+ dnl Avoid version mismatch for shared library libXm.so on osf4
+ case "$opsys" in
+ decosf*) if test "$GCC" = yes -a -d /usr/shlib; then XE_APPEND(-L/usr/shlib,
X_LIBS); fi ;;
+ esac
+
+ ld_switch_x_site="$X_LIBS"
+
+ XE_COMPUTE_RUNPATH()
+
+ 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 Set up bitmaps search path.
+ dnl The original suggestion was to unconditionally to append X11/bitmaps
+ dnl to each element of $x_includes, I'm pretty sure this is the wrong
+ dnl thing to do. We test for bitmaps and X11/bitmaps directories on each
+ dnl element and add them to BITMAPDIR if they exist.
+ bitmapdirs=
+ if test "$x_includes" != NONE; then
+ for i in $x_includes; do
+ if test -d "$i/bitmaps"; then
+ bitmapdirs="$i/bitmaps:$bitmapdirs"
+ fi
+ if test -d "$i/X11/bitmaps"; then
+ bitmapdirs="$i/X11/bitmaps:$bitmapdirs"
+ fi
+ done
+ bitmapdirs=`echo "$bitmapdirs" | sed s/.$//`
+ fi
+ test ! -z "$bitmapdirs" && AC_DEFINE_UNQUOTED(BITMAPDIR,
"$bitmapdirs")
+
+ dnl Autodetect defines extracted from X config by xmkmf, e.g. NARROWPROTO
+ AC_CHECKING(for X defines extracted by xmkmf)
+ rm -fr conftestdir
+ if mkdir conftestdir; then
+ cd conftestdir
+ cat > Imakefile <<'EOF'
+xetest:
+ @echo ${PROTO_DEFINES} ${STD_DEFINES}
+EOF
+ if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
+ # GNU make sometimes prints "make[1]: Entering...", which would confuse
us.
+ xmkmf_defines=`${MAKE-make} xetest 2>/dev/null | grep -v make`
+ fi
+ cd ..
+ rm -fr conftestdir
+ for word in $xmkmf_defines; do
+ case "$word" in
+ -D__STDC__*) ;;
+ -D* )
+ sym=`echo '' $word | sed -e 's:^ *-D::' -e 's:=.*::'`
+ case "$word" in
+ -D*=* ) val=`echo '' $word | sed -e 's:^.*=::'` ;;
+ * ) val=1 ;;
+ esac
+dnl Avoid re-AC_DEFINE-ing xmkmf symbols we've already defined above.
+ if grep "^#define $sym " confdefs.h >/dev/null; then :; else
+ if test "$val" = "1"
+ then AC_DEFINE_UNQUOTED($sym)
+ else AC_DEFINE_UNQUOTED($sym,$val)
+ fi
+ fi ;;
+ esac
+ done
+ 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 and -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"
+ test "$extra_verbose" = "yes" && echo " Setting
libs_x to \"-lX11\""
+
+ dnl Autodetect -lXext
+ AC_CHECK_LIB(Xext, XShapeSelectInput, XE_PREPEND(-lXext, libs_x))
+
+ dnl Require -lXt
+ AC_CHECK_LIB(Xt, XtOpenDisplay, XE_PREPEND(-lXt, libs_x),
+ AC_MSG_ERROR([Unable to find X11 libraries.]))
+
+ AC_MSG_CHECKING(the version of X11 being used)
+ AC_RUN_IFELSE([AC_LANG_SOURCE([#include <X11/Intrinsic.h>
+ int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; }])],
+ [./conftest foobar; x11_release=$?],[x11_release=4],[x11_release=4])
+ AC_MSG_RESULT(R${x11_release})
+ AC_DEFINE_UNQUOTED(THIS_IS_X11R${x11_release})
+
+ if test "${x11_release}" = "4"; then
+ case "$enable_widgets" in
+ "" | "no") enable_widgets=no ;;
+ *) XE_DIE("Widget support requires X11R5 or greater") ;;
+ esac
+ fi
+
+ AC_CHECK_FUNCS(XConvertCase)
+
+ AC_CHECK_HEADERS(X11/Xlocale.h)
+
+ dnl XFree86 has a non-standard prototype for this X11R6 function
+ AC_CHECK_FUNCS(XRegisterIMInstantiateCallback)
+ AC_MSG_CHECKING(for standard XRegisterIMInstantiateCallback prototype)
+ AC_TRY_COMPILE([
+#define NeedFunctionPrototypes 1
+#include <X11/Xlib.h>
+extern Bool XRegisterIMInstantiateCallback(
+ Display*, struct _XrmHashBucketRec*, char*, char*, XIMProc, XPointer*);
+], [],
+ [AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)
+ AC_DEFINE(XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE)])
+
+ dnl autodetect -lXmu
+ test -z "$with_xmu" && { AC_CHECK_LIB(Xmu,
XmuReadBitmapDataFromFile,
+ with_xmu=yes, with_xmu=no) }
+ if test "$with_xmu" = "no"; then
+ XE_ADD_OBJS(xmu.o)
+ else
+ XE_PREPEND(-lXmu, libs_x)
+ AC_DEFINE(HAVE_XMU)
+ fi
+
+ dnl Autodetect -lXbsd
+ dnl #### Someone, please add a better function than main
+ AC_CHECK_LIB(Xbsd, main, XE_PREPEND(-lXbsd, libs_x))
+
+ dnl Problem with the MIT distribution of X on AIX
+ if test "$unexec" = "unexaix.o" -a "$x11_release" =
"6"; then
+ dnl X11R6 requires thread-safe code on AIX for some reason
+ if test "$GCC" = "yes"; then
+ XE_PREPEND(-mthreads, X_CFLAGS)
+ XE_PREPEND(-mthreads, libs_x)
+ else
+ case "$CC" in
+ "xlc" ) CC="xlc_r" ;;
+ "xlC" ) CC="xlC_r" ;;
+ "cc" ) CC="cc_r" ;;
+ esac
+ fi
+ fi
+
+fi dnl $with_x11 = yes
+
+if test "$with_msw" != "no"; then
+ AC_CHECKING(for MS-Windows)
+ AC_CHECK_LIB(gdi32,main,with_msw=yes)
+ if test "$with_msw" = "yes"; then
+ AC_DEFINE(HAVE_MS_WINDOWS)
+
+ dnl The net installer only works with MS-Windows currently
+ if test "$with_netinstall" = "yes"; then
+ XE_APPEND(netinstall, MAKE_SUBDIR)
+ XE_APPEND(netinstall, SRC_SUBDIR_DEPS)
+ XE_APPEND(netinstall, INSTALL_ARCH_DEP_SUBDIR)
+ fi
+
+ install_pp="$srcdir/lib-src/installexe.sh"
+ XE_APPEND(-limm32 -lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lole32 -luuid
-lwinspool -lmpr, libs_system)
+ if test "$with_dragndrop" != no; then
+ XE_APPEND(msw, dragndrop_proto)
+ with_dragndrop=yes
+ fi
+ if test "$window_system" != x11; then
+ window_system=msw
+ test "$enable_scrollbars" != "no" &&
enable_scrollbars=msw
+ test "$enable_menubars" != "no" &&
enable_menubars=msw
+ test "$enable_toolbars" != "no" &&
enable_toolbars=msw
+ test "$enable_dialogs" != "no" &&
enable_dialogs=msw
+ test "$enable_widgets" != "no" &&
enable_widgets=msw
+ fi
+ dnl check for our special version of select
+ AC_RUN_IFELSE([AC_LANG_SOURCE([#include <fcntl.h>
+ int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1;
}])],
+ [AC_DEFINE(HAVE_MSG_SELECT)])
+ fi
+fi
+
+AC_SUBST(install_pp)
+
+test -z "$with_dragndrop" &&
with_dragndrop="$with_dragndrop_default"
+test -z "$window_system" && window_system="none"
+
+dnl Test for features that require a window system - ANY window system
+if test "$window_system" = "none"; then
+ for feature in menubars scrollbars toolbars dialogs dragndrop xface
+ do
+ if eval "test -n \"\$enable_${feature}\" -a
\"\$enable_${feature}\" != no" ; then
+ AC_MSG_WARN([--enable-$feature ignored: Not valid without window system
support])
+ fi
+ eval "enable_${feature}=no"
+ done
+else
+ test -z "$enable_toolbars" && enable_toolbars=yes
+fi
+
+dnl ### Test for features that require mswindows support - currently none
+dnl ### MS-Windows folks: add code here..... (martin)
+if test "$with_msw" != "yes"; then
+ for feature in MARTIN_IS_CLUELESS_ABOUT_MSW_FEATURES
+ do
+ if eval "test -n \"\$with_${feature}\" -a
\"\$with_${feature}\" != no" ; then
+ AC_MSG_WARN([--with-$feature ignored: Not valid without MS-Windows support])
+ fi
+ eval "with_${feature}=no"
+ done
+else
+:
+fi
+
+dnl Test for features that require X11 support
+if test "$with_x11" != "yes"; then
+ dnl It ought to be reasonable to have no output device at all, and only use
+ dnl XEmacs in --batch mode.
+ dnl if test "$with_tty" = "no" ; then
+ dnl AC_MSG_ERROR([No window system support and no TTY support - Unable to proceed.])
+ dnl fi
+ for feature in tooltalk cde offix wmcommand xim xmu nas_sound
+ do
+ if eval "test -n \"\$with_${feature}\" -a
\"\$with_${feature}\" != no" ; then
+ AC_MSG_WARN([--with-$feature ignored: Not valid without X support])
+ fi
+ eval "with_${feature}=no"
+ done
+fi
+
+dnl Balloon Help requires the Shape extension, not available everywhere,
+dnl for example not on AIX 4.3.
+if test "$with_x11" = "yes"; then
+ AC_CHECK_HEADER(X11/extensions/shape.h, [
+ AC_DEFINE(HAVE_BALLOON_HELP)
+ ])
+fi
+
+dnl FSF 19.29 has some bitmapdir stuff here.
+bitmapdir=
+
+case "$window_system" in
+ x11 ) HAVE_X_WINDOWS=yes; echo " Using X11." ;;
+ msw ) HAVE_X_WINDOWS=no ; echo " Using MS-Windows." ;;
+ gtk )
+ HAVE_X_WINDOWS=no
+ test "$with_gnome" = "yes" && echo " Using
GNOME."
+ test "$with_gnome" = "no" && echo " Using
GTK."
+ ;;
+ none ) HAVE_X_WINDOWS=no ; echo " Using no window system." ;;
+esac
+
+case "$x_libraries" in *X11R4* )
+ test "$opsys" = "hpux9" &&
opsysfile="s/hpux9-x11r4.h"
+ test "$opsys" = "hpux9-shr" &&
opsysfile="s/hpux9shxr4.h"
+esac
+
+dnl Enable or disable proper handling of WM_COMMAND
+AC_CHECKING(for WM_COMMAND option);
+dnl if test "$with_wmcommand" = "yes"; then
+if test "$with_wmcommand" != "no"; then
+ AC_DEFINE(HAVE_WMCOMMAND)
+fi
+
+dnl Autodetect Xauth
+dnl -lXau is only used by gnuclient, so use a special variable for Xauth X libs
+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)
+ XE_SPACE(libs_xauth, $GTK_LIBS $X_EXTRA_LIBS -lXau $libs_x $X_PRE_LIBS)
+fi
+AC_SUBST(libs_xauth)
+
+dnl This one is for the static initializeds variables in
+dnl offix.c, so that the thing is dumped after lastfile.o
+AC_SUBST(dnd_objs)
+
+dnl Autodetect dll support
+
+dnl If g++ is used, we have to explicitly link modules with -lstdc++ on Cygwin
+dnl to avoid undefined symbol errors. This will never hurt, so just do it on
+dnl all platforms in case others have the same brain damage.
+if test "$with_xemacs_compiler" = "g++"; then
+ LIBSTDCPP=-lstdc++
+else
+ LIBSTDCPP=
+fi
+AC_SUBST(LIBSTDCPP)
+
+dnl This must come before the detection code for anything that is in a module
+if test "$enable_modules" != "no"; then
+ AC_CHECKING(for module support)
+
+ case "$opsys" in
+ mingw* | cygwin* ) have_dl=yes ;;
+ darwin ) have_dl=yes
+ AC_DEFINE(HAVE_DYLD)
+ ;;
+ * )
+ dnl Check for the ELFish dlopen()
+ AC_CHECK_HEADER(dlfcn.h, [
+ AC_MSG_CHECKING([for dlopen in -lc])
+ AC_TRY_LINK([#include <dlfcn.h>],dnl
+ [dlopen ("", 0);], [ have_dl=yes ], [
+ AC_MSG_CHECKING([for dlopen in -ldl])
+ ac_save_LIBS="$LIBS"
+ LIBS="$LIBS -ldl"
+ AC_TRY_LINK([#include <dlfcn.h>],dnl
+ [dlopen ("", 0);], [ have_dl=yes ], [
+ AC_MSG_CHECKING([for dlopen in -lsvld])
+ LIBS="$ac_save_LIBS -lsvld"
+ AC_TRY_LINK([#include <dlfcn.h>],dnl
+ [dlopen ("", 0);], [ have_dl=yes ],
[LIBS="$ac_save_LIBS"])])])])
+ if test "$have_dl" = "yes"; then
+ AC_DEFINE(HAVE_DLOPEN)
+ else
+ dnl Check for HP/UX shl_load
+ AC_CHECK_HEADER(dl.h, [
+ AC_MSG_CHECKING([for shl_load in -lc])
+ AC_TRY_LINK([#include <dl.h>],dnl
+ [shl_load ("", 0, 0);], [have_dl=yes], [
+ AC_MSG_CHECKING([for shl_load in -ldl])
+ ac_save_LIBS="$LIBS"
+ LIBS="$LIBS -ldld"
+ AC_TRY_LINK([#include <dl.h>],dnl
+ [shl_load ("", 0, 0);], [have_dl=yes],
[LIBS="$ac_save_LIBS"])])])
+ if test "$have_dl" = "yes"; then
+ AC_DEFINE(HAVE_SHL_LOAD)
+ else
+ dnl Check for libtool's libltdl
+ AC_CHECK_HEADER(ltdl.h, [
+ AC_MSG_CHECKING([for lt_dlinit in -lltdl])
+ ac_save_LIBS="$LIBS"
+ LIBS="$LIBS -lltdl"
+ AC_TRY_LINK([#include <ltdl.h>],dnl
+ [lt_dlinit ();], [have_dl=yes], [LIBS="$ac_save_LIBS"])])
+ if test "$have_dl" = "yes"; then
+ AC_DEFINE(HAVE_LTDL)
+ fi
+ dnl end !HP/UX
+ fi
+ dnl end !dlopen
+ fi
+ ac_save_LIBS=
+ dnl end !darwin
+ esac
+
+ if test -n "$have_dl"; then
+ dnl XE_SHLIB_STUFF (in aclocal.m4) defines $can_build_shared
+ XE_SHLIB_STUFF
+ fi
+
+ if test "$can_build_shared" = "yes"; then
+ AC_DEFINE(HAVE_SHLIB)
+ dnl src must be built before modules on MacOSX and Windows platforms, since
+ dnl the binary must be available to properly link the modules
+ dnl For no-module builds, this is added *after* the module directories
+ XE_APPEND(src, MAKE_SUBDIR)
+ XE_APPEND(src, INSTALL_ARCH_DEP_SUBDIR)
+ test -n "$libdl" && XE_PREPEND(-l${libdl}, LIBS)
+ AC_CHECK_FUNCS(dlerror _dlerror)
+ enable_modules=yes
+ MOD_CC="../../lib-src/ellcc"
+ MODCFLAGS="\$(CFLAGS) --mode=compile --mod-output=\$@ -I../../src
-I\$(srcdir)/../../src"
+ INSTALLPATH="\$(moduledir)"
+ MOD_INSTALL_PROGRAM=${INSTALL_PROGRAM}
+ OBJECT_TO_BUILD="\$(MODNAME).ell"
+ else
+ if test "$enable_modules" = "yes"; then
+ XE_DIE("Required module support cannot be provided.")
+ else
+ echo " No module support."
+ fi
+ enable_modules=no
+ fi
+fi
+if test "$enable_modules" != "yes"; then
+ MOD_CC="$XEMACS_CC"
+ MODCFLAGS="\$(XE_CFLAGS) -I../../src -I\$(srcdir)/../../src"
+ INSTALLPATH=""
+ MOD_INSTALL_PROGRAM="true"
+ OBJECT_TO_BUILD="\$(MODNAME).o"
+fi
+MODARCHDIR=
+MAKE_DOCFILE="../../lib-src/make-docfile"
+AC_SUBST(with_modules, $enable_modules)
+AC_SUBST(MOD_CC)
+AC_SUBST(MODARCHDIR)
+AC_SUBST(MAKE_DOCFILE)
+AC_SUBST(MODCFLAGS)
+AC_SUBST(INSTALLPATH)
+AC_SUBST(MOD_INSTALL_PROGRAM)
+AC_SUBST(OBJECT_TO_BUILD)
+
+dnl Autodetect 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_file="${dir}tt_c.h"; break)
+ done
+ if test -z "$tt_c_h_file"; then
+ if test "$with_tooltalk" = "yes"; then
+ USAGE_ERROR("Unable to find required tooltalk header files.")
+ fi
+ with_tooltalk=no
+ fi
+fi
+if test "$with_tooltalk" != "no" ; then
+ for extra_libs in "" "-lI18N -lce" "-lcxx"; do
+ AC_CHECK_LIB(tt, tt_message_create,
+ tt_libs="-ltt $extra_libs"; break, [:],$extra_libs)
+ done
+ if test -z "$tt_libs"; then
+ if test "$with_tooltalk" = "yes"; then
+ USAGE_ERROR("Unable to find required tooltalk libraries.")
+ fi
+ with_tooltalk=no
+ fi
+fi
+test -z "$with_tooltalk" && with_tooltalk=yes
+if test "$with_tooltalk" = "yes"; then
+ AC_DEFINE(TOOLTALK)
+ AC_DEFINE_UNQUOTED(TT_C_H_FILE, "$tt_c_h_file")
+ XE_PREPEND($tt_libs, libs_x)
+fi
+
+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) }
+if test "$with_dragndrop" = "no" ; then
+ if test "$with_cde" = "yes" ; then
+ AC_MSG_WARN([--with-cde forced to \`no'; no generic Drag'n'Drop
support])
+ fi
+ with_cde=no
+fi
+test -z "$with_cde" && with_cde=yes
+if test "$with_cde" = "yes" ; then
+ AC_DEFINE(HAVE_CDE)
+ XE_PREPEND(-lDtSvc, libs_x)
+ XE_APPEND(CDE, dragndrop_proto)
+ with_tooltalk=yes # CDE requires Tooltalk
+ need_motif=yes # CDE requires Motif
+fi
+
+dnl Always compile OffiX unless --without-offix is given, no
+dnl X11 support is compiled in, no standard Xmu is available,
+dnl or dragndrop support is disabled
+dnl Because OffiX support currently loses when more than one display
+dnl is in use, we now disable it by default -slb 07/10/1998.
+test "$window_system" != "x11" && with_offix=no
+if test "$with_xmu" != yes -a "$with_x11" = yes; then
+ if test "$with_offix" = "yes" ; then
+ AC_MSG_WARN([--with-offix forced to \`no'; no real Xmu support])
+ fi
+ with_offix=no
+fi
+if test "$with_dragndrop" = no; then
+ if test "$with_offix" = "yes" ; then
+ AC_MSG_WARN([--with-offix forced to \`no'; no generic Drag'n'Drop
support])
+ fi
+ with_offix=no
+fi
+if test "$with_cde" = yes; then
+ if test "$with_offix" = "yes" ; then
+ AC_MSG_WARN([--with-offix forced to \`no'; CDE already found])
+ fi
+ with_offix=no
+fi
+test -z "$with_offix" && with_offix=no
+if test "$with_offix" = "yes"; then
+ AC_DEFINE(HAVE_OFFIX_DND)
+ XE_APPEND(offix.o, dnd_objs)
+ XE_APPEND(OffiX, dragndrop_proto)
+fi
+if test "$with_gtk" = "yes"; then
+ XE_APPEND(GTK, dragndrop_proto)
+fi
+
+dnl Autodetect Drag'n'Drop support
+dnl always included if CDE, Offix, or MSWindows are defined
+if test "$with_dragndrop" != "no" ; then
+ AC_MSG_CHECKING(if drag and drop API is needed)
+ if test -n "$dragndrop_proto" ; then
+ with_dragndrop=yes
+ AC_MSG_RESULT([yes (${dragndrop_proto} )])
+ AC_DEFINE(HAVE_DRAGNDROP)
+ XE_APPEND(dragdrop.o, extra_objs)
+ else
+ with_dragndrop=no
+ AC_MSG_RESULT(no)
+ fi
+fi
+
+dnl Autodetect LDAP
+AC_CHECKING(for LDAP)
+ldap_libs=
+test -z "$with_ldap" && { AC_CHECK_HEADER(ldap.h, ,with_ldap=no) }
+test -z "$with_ldap" && { AC_CHECK_HEADER(lber.h, ,with_ldap=no) }
+if test "$with_ldap" != "no"; then
+ AC_CHECK_LIB(ldap, ldap_search, with_ldap=yes)
+ dnl Check for other libraries we need to link with to get the main routines.
+ test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap,
ldap_open, [with_ldap=yes with_ldap_lber=yes], , -llber) }
+ test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap,
ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes], , -llber -lkrb) }
+ test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap,
ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes with_ldap_des=yes], ,
-llber -lkrb -ldes) }
+ dnl Recently, we need -lber even though the main routines are elsewhere,
+ dnl because otherwise be get link errors w.r.t. ber_pvt_opt_on. So just
+ dnl check for that (it's a variable not a fun but that doesn't seem to
+ dnl matter in these checks) and stick in -lber if so. Can't hurt (even to
+ dnl stick it in always shouldn't hurt, I don't think) ... #### Someone who
+ dnl #### understands LDAP needs to fix this properly.
+ test "$with_ldap_lber" != "yes" && { AC_CHECK_LIB(lber,
ber_pvt_opt_on, with_ldap_lber=yes) }
+fi
+if test "$with_ldap" = "yes"; then
+ AC_DEFINE(HAVE_LDAP)
+ if test "$with_ldap_des" = "yes" ; then
+ XE_PREPEND(-ldes, ldap_libs)
+ fi
+ if test "$with_ldap_krb" = "yes" ; then
+ XE_PREPEND(-lkrb, ldap_libs)
+ fi
+ if test "$with_ldap_lber" = "yes" ; then
+ XE_PREPEND(-llber, ldap_libs)
+ fi
+ XE_PREPEND(-lldap, ldap_libs)
+ save_LIBS="$LIBS" LIBS="$LIBS $ldap_libs"
+ AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result)
+ LIBS="$save_LIBS"
+ XE_APPEND(modules/ldap, MAKE_SUBDIR)
+ need_modules_common=yes
+ if test "$enable_modules" = "yes"; then
+ XE_APPEND(modules/ldap, INSTALL_ARCH_DEP_SUBDIR)
+ fi
+fi
+AC_SUBST(ldap_libs)
+
+dnl Autodetect PostgreSQL
+dnl On many Linux systems, PostgreSQL is packaged to be installed in /usr;
+dnl in this case, configure will easily detect it there.
+dnl
+dnl If PostgreSQL is installed into a different prefix,
+dnl (such as the default /usr/local/pgsql when building from source),
+dnl that prefix must be specified using the --with-site-prefixes flag.
+postgresql_libs=
+if test "$with_postgresql" != "no"; then
+ AC_CHECKING(for PostgreSQL)
+
+dnl Look for these standard header file locations, known to be used on Linux
+ for header_dir in "" "pgsql/" "postgresql/"; do
+ AC_CHECK_HEADER(${header_dir}libpq-fe.h,
+ libpq_fe_h_file=${header_dir}libpq-fe.h; break)
+ done
+
+ test -n "$libpq_fe_h_file" && {
AC_CHECK_LIB(pq,PQconnectdb,have_libpq=yes) }
+
+ if test -n "$libpq_fe_h_file" -a "$have_libpq" = "yes";
then
+ with_postgresql=yes
+ AC_DEFINE(HAVE_POSTGRESQL)
+ AC_CHECK_LIB(pq,PQconnectStart, [
+ with_postgresqlv7=yes;
+ AC_DEFINE(HAVE_POSTGRESQLV7)])
+ AC_DEFINE_UNQUOTED(LIBPQ_FE_H_FILE, "$libpq_fe_h_file")
+ XE_PREPEND(-lpq, postgresql_libs)
+ XE_APPEND(modules/postgresql, MAKE_SUBDIR)
+ need_modules_common=yes
+ if test "$enable_modules" = "yes"; then
+ XE_APPEND(modules/postgresql, INSTALL_ARCH_DEP_SUBDIR)
+ fi
+ elif test "$with_postgresql" = "yes"; then
+ XE_DIE("Required PostgreSQL support cannot be provided. Check
--with-site-prefixes.")
+ fi
+fi
+AC_SUBST(postgresql_libs)
+
+dnl ----------------------
+dnl Graphics libraries
+dnl ----------------------
+
+if test "$window_system" != "none"; then
+ AC_CHECKING([for graphics libraries])
+
+ dnl add special code to handle xpm-nox on Cygwin (csw)
+ dnl -- should only happen if CYGWIN && WITH_XPM && WITH_MSW
&& !WITH_X
+ libpath_xpm=
+ incpath_xpm=
+ case "$opsys" in
+ cygwin*)
+ cygwin_top=`eval "gcc -print-file-name=libc.a"` ;
+ cygwin_top=`eval "dirname ${cygwin_top}"`;
+ cygwin_top="${cygwin_top}/..";
+ case "$window_system" in
+ dnl use "standard" search pattern
+ x11) ;;
+ dnl hardcode "standard" non-X11 xpm lib/inc dirs
+ msw) libpath_xpm="-L${cygwin_top}/lib/noX"
+ incpath_xpm="-I${cygwin_top}/include/noX"
+ ;;
+ dnl not supported on cygwin (yet?)
+ gtk) ;;
+ dnl probably not reached...
+ none) ;;
+ dnl ditto
+ *) ;;
+ esac
+ ;;
+ dnl use "standard" search pattern for all other OS's
+ *) ;;
+ esac
+ dnl Autodetect Xpm
+ xpm_problem=""
+ if test -z "$with_xpm"; then
+ XE_PREPEND("$incpath_xpm", CFLAGS)
+ XE_PREPEND("$libpath_xpm", LDFLAGS)
+ AC_MSG_CHECKING(for Xpm - no older than 3.4f)
+ xe_check_libs=-lXpm
+ AC_RUN_IFELSE([AC_LANG_SOURCE([#define XPM_NUMBERS
+#include <X11/xpm.h>
+ int main(int c, char **v) {
+ return c == 1 ? 0 :
+ XpmIncludeVersion != XpmLibraryVersion() ? 1 :
+ XpmIncludeVersion < 30406 ? 2 : 0 ;}])],
+ [./conftest dummy_arg; xpm_status=$?;
+ if test "$xpm_status" = "0"; then
+ with_xpm=yes;
+ else
+ with_xpm=no;
+ if test "$xpm_status" = "1"; then
+ xpm_problem="Xpm library version and header file version don't
match!"
+ elif test "$xpm_status" = "2"; then
+ xpm_problem="Xpm library version is too old!"
+ else
+ xpm_problem="Internal xpm detection logic error!"
+ fi
+ echo "
+*** WARNING *** $xpm_problem
+ I'm not touching that with a 10-foot pole!
+ If you really want to use the installed version of Xpm, rerun
+ configure and add '--with-xpm=yes', but don't blame me if XEmacs
crashes!"
+ fi],
+ [with_xpm=no])
+ xe_check_libs=
+ AC_MSG_RESULT($with_xpm)
+ fi
+ if test "$with_xpm" = "yes"; then
+ dnl #### This code assumes that if AC_CHECK_LIB fails,
+ dnl #### then it will succeed if FOR_MSW is defined,
+ dnl #### but doesn't actually verify this assumption.
+ AC_DEFINE(HAVE_XPM)
+ XE_PREPEND("$libpath_xpm", LDFLAGS)
+ XE_PREPEND(-lXpm, libs_x)
+ XE_PREPEND("$incpath_xpm", CFLAGS)
+ AC_MSG_CHECKING(for \"FOR_MSW\" xpm)
+ xe_check_libs=-lXpm
+ AC_TRY_LINK(, [XpmCreatePixmapFromData()],
+ [xpm_for_msw=no],
+ [xpm_for_msw=yes])
+ xe_check_libs=
+ AC_MSG_RESULT($xpm_for_msw)
+ if test "$xpm_for_msw" = "yes"; then
+ AC_DEFINE(FOR_MSW)
+ fi
+ 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)
+ XE_PREPEND(-lcompface, libs_x)
+ fi
+
+ dnl For a brief period we had the GIF code split out into a separate library,
+ dnl but patent problems, etc. sort of squashed that idea.
+ dnl We default to building with builtin GIF decoding
+ if test "$with_gif" != "no"; then
+ with_gif="yes"
+ AC_DEFINE(HAVE_GIF)
+ fi
+
+ dnl Too many stupid linkers can't detect cascaded lib dependencies until runtime
+ dnl So we always search for libz compression support.
+ if test "$with_png $with_tiff" != "no no"; then
+ AC_CHECK_LIB(c, inflate, [:], [
+ AC_CHECK_LIB(z, inflate, [XE_PREPEND(-lz, libs_x)],[
+ AC_CHECK_LIB(gz, inflate, [XE_PREPEND(-lgz, libs_x)])])])
+ 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)
+ XE_PREPEND(-ljpeg, libs_x)
+ fi
+
+ dnl autodetect PNG
+ png_problem=""
+ test -z "$with_png" && { AC_CHECK_FUNC(pow,
,with_png=no) }
+ test -z "$with_png" && { AC_CHECK_HEADER(png.h,
,with_png=no) }
+ test -z "$with_png" && { AC_CHECK_LIB(png,
png_read_image,[:],with_png=no) }
+ if test -z "$with_png"; then
+ AC_MSG_CHECKING(for workable png version information)
+ xe_check_libs="-lpng -lz"
+ AC_RUN_IFELSE([AC_LANG_SOURCE([#include <png.h>
+ int main(int c, char **v) {
+ if (c == 1) return 0;
+ if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1;
+ return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;}])],
+ [./conftest dummy_arg; png_status=$?;
+ if test "$png_status" = "0"; then
+ with_png=yes;
+ else
+ with_png=no;
+ if test "$png_status" = "1"; then
+ png_problem="PNG library version and header file don't match!"
+ elif test "$png_status" = "2"; then
+ png_problem="PNG library version too old (pre 1.0.2)!"
+ fi
+ echo "
+*** WARNING *** $png_problem
+ I'm not touching that with a 10-foot pole!
+ If you really want to use the installed version of libPNG, rerun
+ configure and add '--with-png=yes', but don't blame me if XEmacs
crashes!"
+ fi],
+ [with_png=no])
+ xe_check_libs=
+ AC_MSG_RESULT($with_png)
+ fi
+ if test "$with_png" = "yes"; then
+ AC_DEFINE(HAVE_PNG)
+ XE_PREPEND(-lpng, libs_x)
+ fi
+
+ dnl autodetect TIFF
+ test -z "$with_tiff" && { AC_CHECK_HEADER(tiffio.h,
,with_tiff=no) }
+ test -z "$with_tiff" && { AC_CHECK_LIB(tiff,
TIFFClientOpen,[:],with_tiff=no) }
+ test -z "$with_tiff" && with_tiff=yes
+ if test "$with_tiff" = "yes"; then
+ AC_DEFINE(HAVE_TIFF)
+ XE_PREPEND(-ltiff, libs_x)
+ fi
+fi
+
+dnl ----------------------
+dnl GTK-Specific Graphics libraries
+dnl ----------------------
+
+if test "$with_gtk" = "yes"; then
+ 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)
+ XE_PREPEND(-lcompface, libs_gtk)
+ fi
+fi
+
+
+dnl ----------------------
+dnl X-Specific Graphics libraries
+dnl ----------------------
+
+if test "$with_x11" = "yes"; then
+ AC_CHECKING(for X11 graphics libraries)
+fi
+
+dnl We don't automatically trigger widgets if athena is present
+dnl because of stability concerns.
+dnl But if the user wants widgets, still offer him autodetections
+case "$enable_widgets" in
+ "yes" | "athena") detect_athena=yes ;;
+ *) detect_athena=no ;;
+esac
+
+if test "$with_x11" = "yes" -a "$detect_athena" =
"yes" ; then
+ AC_CHECKING(for the Athena widgets)
+
+ dnl What in heck did the user actually want?
+ case "$with_athena" in
+ dnl This is the default, old fashioned flat Athena.
+ "xaw" | "") athena_variant=Xaw athena_3d=no ;;
+ "3d") athena_variant=Xaw3d athena_3d=yes ;;
+ "next") athena_variant=neXtaw athena_3d=yes ;;
+ "95") athena_variant=Xaw95 athena_3d=yes ;;
+ "xpm") athena_variant=XawXpm athena_3d=yes ;;
+ *) XE_DIE("Unknown Athena widget set \`$with_athena'. This should not
happen.") ;;
+ esac
+
+ dnl Search for the Athena library...
+ if test "$athena_3d" = "no"; then
+ AC_CHECK_LIB($athena_variant, XawScrollbarSetThumb,
+ [
+ dnl Must not be a 3d library...
+ AC_CHECK_LIB($athena_variant, threeDClassRec,
+ [AC_MSG_WARN([Could not find a non-3d Athena widget library.])],
+ athena_lib=$athena_variant)
+ ],
+ AC_MSG_WARN([Could not find an Athena widget library.]))
+ else
+ dnl The real configuration, need 3d library
+ AC_CHECK_LIB($athena_variant, threeDClassRec, athena_lib=$athena_variant,
+ dnl OK, couldn't find it with a proper name, try the standard Athena lib
+ dnl If that is 3d, presume the user asked for what they have installed.
+ AC_CHECK_LIB(Xaw, threeDClassRec,
+ [
+ athena_lib=Xaw;
+ AC_MSG_WARN([Assuming that libXaw is actually $athena_variant.]);
+ ],
+ [AC_MSG_WARN([Could not find a 3d Athena widget library that looked like
$athena_variant.])]))
+ fi
+
+ dnl Now we locate the Athena headers that we need.
+ if test "$athena_3d" = "no"; then
+ AC_CHECK_HEADER(X11/Xaw/ThreeD.h,
+ [AC_MSG_WARN([Could not find a non-3d Athena header set.])],
+ [AC_CHECK_HEADER(X11/Xaw/XawInit.h,
+ [athena_h_path=X11/Xaw],
+ [AC_MSG_WARN([Could not find a non-3d Athena header set.])])])
+ else
+ dnl The three-d Athena headers are so much more slippery.
+ dnl Curse this `Lets replace standard libraries' thing that they did. :/
+ AC_CHECK_HEADER(X11/$athena_variant/XawInit.h,
+ [AC_CHECK_HEADER(X11/$athena_variant/ThreeD.h,
+ [athena_h_path=X11/$athena_variant])])
+
+ dnl Is the variant specific header directory directly under include?
+ if test -z "$athena_h_path"; then
+ AC_CHECK_HEADER($athena_variant/XawInit.h,
+ [AC_CHECK_HEADER($athena_variant/ThreeD.h,
+ athena_h_path=$athena_variant)])
+ fi
+
+ dnl If we couldn't find the specific variant, try the generic Athena 3d headers
+ if test -z "$athena_h_path" -a "$athena_variant" !=
"Xaw3d"; then
+ AC_CHECK_HEADER(X11/Xaw3d/XawInit.h,
+ [AC_CHECK_HEADER(X11/Xaw3d/ThreeD.h,
+ [
+ AC_MSG_WARN([Assuming that X11/Xaw3d headers are suitable for
$athena_variant.])
+ athena_h_path=X11/Xaw3d
+ ])])
+ fi
+
+ dnl Also generic 3d headers directly under include dir
+ if test -z "$athena_h_path" -a "$athena_variant" !=
"Xaw3d"; then
+ AC_CHECK_HEADER(Xaw3d/XawInit.h,
+ [AC_CHECK_HEADER(Xaw3d/ThreeD.h,
+ [
+ AC_MSG_WARN([Assuming that Xaw3d headers are suitable for $athena_variant.])
+ athena_h_path=Xaw3d
+ ])])
+ fi
+
+ dnl If nothing yet found, see if Xaw is a 3d header set...
+ dnl We AC_MSG_WARN if we fail because I am all out of ideas...
+ if test -z "$athena_h_path"; then
+ AC_CHECK_HEADER(X11/Xaw/ThreeD.h,
+ [
+ AC_MSG_WARN([Assuming that X11/Xaw headers are suitable for $athena_variant.])
+ athena_h_path=X11/Xaw
+ ],
+ [AC_MSG_WARN([Could not find a suitable 3d Athena header set.])])
+ fi
+ fi
+
+ dnl Do we actually have a usable Athena widget set? Please?
+ if test -n "$athena_lib" -a -n "$athena_h_path"; then
+ have_xaw=yes
+ else
+ have_xaw=no
+ fi
+
+else
+ have_xaw=no
+fi dnl "$with_x11" = "yes" -a "detect_athena" =
"yes"
+
+if test "$with_x11" = "yes"; then
+ dnl autodetect Motif - but only add to libs_x later (if necessary)
+ dnl Use a different function to the earlier test to avoid problems with the
+ dnl internal cache.
+ AC_CHECK_HEADER(Xm/Xm.h,
+ [AC_CHECK_LIB(Xm, XmStringCreate, have_motif=yes, have_motif=no)],
+ have_motif=no)
+
+ if test "$have_motif" = "yes"; then
+ dnl autodetect lesstif
+ AC_MSG_CHECKING(for Lesstif)
+ AC_EGREP_CPP(yes,
+[#include <Xm/Xm.h>
+#ifdef LESSTIF_VERSION
+yes
+#endif
+], have_lesstif=yes, have_lesstif=no)
+ AC_MSG_RESULT($have_lesstif)
+ fi
+
+fi dnl "$with_x11" = "yes"
+
+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 "$enable_menubars" in "" | "yes" | "athena"
)
+ enable_menubars="lucid" ;;
+esac
+case "$enable_dialogs" in "" | "yes" | "lucid" )
+ if test "$have_motif" = "yes"; then
enable_dialogs="motif"
+ elif test "$have_xaw" = "yes"; then
enable_dialogs="athena"
+ elif test "$with_msw" = "yes"; then
enable_dialogs="msw"
+ else enable_dialogs=no
+ fi ;;
+esac
+case "$enable_scrollbars" in "" | "yes" )
+ enable_scrollbars="lucid" ;;
+esac
+case "$enable_widgets" in "" | "yes" | "lucid")
+ if test "$have_motif" = "yes"; then
enable_widgets="motif"
+ elif test "$have_xaw" = "yes"; then
enable_widgets="athena"
+ elif test "$with_msw" = "yes"; then
enable_widgets="msw"
+ else enable_widgets=no
+ fi ;;
+esac
+
+all_widgets="$enable_menubars $enable_scrollbars $enable_dialogs $enable_toolbars
$enable_widgets"
+
+case "$all_widgets" in
+ *athena* )
+ if test "$have_xaw" != "yes"; then
+ XE_DIE("Could not find a suitable Athena library to build with.")
+ fi
+
+ dnl Add the Lucid widget Athena code
+ XE_APPEND(lwlib-Xaw.o, lwlib_objs)
+
+ dnl Add the Athena widget library we located earlier
+ XE_PREPEND(-l$athena_lib, libs_x)
+
+ dnl Tell lwlib where to find the Athena header files.
+ dnl Many people have tried to create a `smart' way of doing this,
+ dnl but all have failed. Before changing the following ugly definitions,
+ dnl consult the veterans of many a battle.
+ AC_DEFINE_UNQUOTED(ATHENA_Scrollbar_h_,"$athena_h_path/Scrollbar.h")
+ AC_DEFINE_UNQUOTED(ATHENA_Dialog_h_,"$athena_h_path/Dialog.h")
+ AC_DEFINE_UNQUOTED(ATHENA_Form_h_,"$athena_h_path/Form.h")
+ AC_DEFINE_UNQUOTED(ATHENA_Command_h_,"$athena_h_path/Command.h")
+ AC_DEFINE_UNQUOTED(ATHENA_Label_h_,"$athena_h_path/Label.h")
+ AC_DEFINE_UNQUOTED(ATHENA_LabelP_h_,"$athena_h_path/LabelP.h")
+ AC_DEFINE_UNQUOTED(ATHENA_Toggle_h_,"$athena_h_path/Toggle.h")
+ AC_DEFINE_UNQUOTED(ATHENA_ToggleP_h_,"$athena_h_path/ToggleP.h")
+ AC_DEFINE_UNQUOTED(ATHENA_AsciiText_h_,"$athena_h_path/AsciiText.h")
+ AC_DEFINE_UNQUOTED(ATHENA_XawInit_h_,"$athena_h_path/XawInit.h")
+
+ AC_DEFINE(LWLIB_USES_ATHENA)
+ AC_DEFINE(NEED_ATHENA)
+ need_athena="yes"
+
+ if test "$athena_3d" = "yes"; then
+ AC_DEFINE(HAVE_ATHENA_3D)
+ fi
+ ;;
+esac
+
+case "$all_widgets" in *motif* )
+ AC_DEFINE(LWLIB_USES_MOTIF)
+ AC_DEFINE(NEED_MOTIF)
+ XE_APPEND(lwlib-Xm.o, lwlib_objs)
+ need_motif=yes ;;
+esac
+
+test "$enable_menubars" = "lucid" && XE_APPEND(xlwmenu.o,
lwlib_objs)
+test "$enable_menubars" = "motif" && XE_APPEND(xlwmenu.o,
lwlib_objs)
+test "$enable_scrollbars" = "lucid" &&
XE_APPEND(xlwscrollbar.o, lwlib_objs)
+test "$enable_widgets" != "no" && test
"$enable_widgets" != "msw" && \
+ XE_APPEND(xlwtabs.o xlwgcs.o, lwlib_objs)
+case "$enable_widgets" in athena* )
+ XE_APPEND(xlwradio.o xlwcheckbox.o xlwgauge.o, lwlib_objs);;
+esac
+case "$all_widgets" in *lucid* )
+ AC_DEFINE(NEED_LUCID)
+ XE_APPEND(lwlib-Xlw.o, lwlib_objs) ;;
+esac
+
+AC_SUBST(lwlib_objs)
+
+test "$enable_scrollbars" = "athena" &&
AC_DEFINE(LWLIB_SCROLLBARS_ATHENA)
+test "$enable_dialogs" = "athena" &&
AC_DEFINE(LWLIB_DIALOGS_ATHENA)
+
+if test "$athena_3d" = "yes"; then
+ test "$enable_scrollbars" = "athena" &&
AC_DEFINE(LWLIB_SCROLLBARS_ATHENA3D)
+ test "$enable_dialogs" = "athena" &&
AC_DEFINE(LWLIB_DIALOGS_ATHENA3D)
+fi
+
+case "$enable_widgets" in athena* ) AC_DEFINE(LWLIB_WIDGETS_ATHENA);; esac
+test "$enable_widgets" != "no" && test
"$enable_widgets" != "msw" && \
+ AC_DEFINE(LWLIB_TABS_LUCID)
+
+test "$enable_menubars" != "no" &&
AC_DEFINE(HAVE_MENUBARS)
+test "$enable_scrollbars" != "no" &&
AC_DEFINE(HAVE_SCROLLBARS)
+test "$enable_dialogs" != "no" &&
AC_DEFINE(HAVE_DIALOGS)
+test "$enable_toolbars" != "no" &&
AC_DEFINE(HAVE_TOOLBARS)
+test "$enable_widgets" != "no" &&
AC_DEFINE(HAVE_WIDGETS)
+
+test "$enable_menubars" = "lucid" &&
AC_DEFINE(LWLIB_MENUBARS_LUCID)
+test "$enable_scrollbars" = "lucid" &&
AC_DEFINE(LWLIB_SCROLLBARS_LUCID)
+
+test "$enable_menubars" = "motif" &&
AC_DEFINE(LWLIB_MENUBARS_MOTIF)
+test "$enable_scrollbars" = "motif" &&
AC_DEFINE(LWLIB_SCROLLBARS_MOTIF)
+test "$enable_dialogs" = "motif" &&
AC_DEFINE(LWLIB_DIALOGS_MOTIF)
+test "$enable_widgets" = "motif" &&
AC_DEFINE(LWLIB_WIDGETS_MOTIF)
+
+dnl ----------------------
+dnl Mule-dependent options
+dnl ----------------------
+
+test -z "$enable_mule" && enable_mule=no
+
+dnl if test "$enable_mule" = "yes" && test ! -d
"$srcdir/lisp/mule"; then
+dnl echo "Attempt to Build with Mule without Mule/Lisp"
+dnl echo "Please install the XEmacs/Mule tarball or"
+dnl echo "rerun configure with --with-mule=no"
+dnl exit 1
+dnl fi
+
+if test "$enable_default_eol_detection" = "yes"; then
+ AC_DEFINE(HAVE_DEFAULT_EOL_DETECTION)
+fi
+
+if test "$enable_mule" = "yes" ; then
+ AC_CHECKING(for Mule-related features)
+ AC_DEFINE(MULE)
+
+ dnl Use -lintl to get internationalized strerror for Mule
+ AC_CHECK_HEADERS(libintl.h)
+ 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?
+ dnl XIM seems to be flaky except on Solaris...
+ dnl test -z "$with_xim" -a "$opsys" != "sol2" &&
with_xim=no
+ case "$with_xim" in "" | "yes" )
+ AC_CHECKING(for XIM)
+ AC_CHECK_LIB(X11, XOpenIM, with_xim=xlib, with_xim=no)
+ dnl XIM + Lesstif is not (yet?) usable
+ if test "$have_motif $have_lesstif" = "yes no"; then
+ AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif)
+ fi ;;
+ esac
+ if test "$with_xim" != "no"; then
+ AC_DEFINE(HAVE_XIM)
+ if test "$with_xim" = "xlib"; then
+ AC_DEFINE(XIM_XLIB)
+ XE_ADD_OBJS(input-method-xlib.o)
+ fi
+ if test "$with_xim" = "motif"; then
+ AC_DEFINE(XIM_MOTIF)
+ need_motif=yes
+ XE_ADD_OBJS(input-method-motif.o)
+ fi
+ if test "$with_xim" = "motif"; then
+ with_xfs=no
+ fi
+ fi
+
+ dnl "with_xfs" = "yes"
+ if test "$with_xfs" = "yes" ; then
+ AC_CHECKING(for XFontSet)
+ AC_CHECK_LIB(X11, XmbDrawString, [:], with_xfs=no)
+ if test "$with_xfs" = "yes" && test
"$enable_menubars" = "lucid"; then
+ AC_DEFINE(USE_XFONTSET)
+ if test "$with_xim" = "no" ; then
+ XE_ADD_OBJS(input-method-xlib.o)
+ fi
+ fi
+ fi dnl with_xfs
+
+ dnl Autodetect WNN
+ test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies
wnn support
+ test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/jllib.h, ,with_wnn=no)
}
+ dnl gcc 2.97 fixincludes breaks inclusion of wnn/commonhd.h
+ test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/commonhd.h,
,with_wnn=no) }
+ dnl Detour to find crypt
+ if test "$with_wnn" != "no"; then
+ AC_CHECK_FUNCS(crypt)
+ test "$ac_cv_func_crypt" != "yes" && {
AC_CHECK_LIB(crypt, crypt) }
+ fi
+ dnl Back to our regularly scheduled wnn hunting
+ if test -z "$with_wnn" -o "$with_wnn" = "yes"; then
+ AC_CHECK_LIB(wnn,jl_dic_list_e,libwnn=wnn,
+ AC_CHECK_LIB(wnn4,jl_dic_list_e,libwnn=wnn4,
+ AC_CHECK_LIB(wnn6,jl_dic_list_e,libwnn=wnn6,
+ AC_CHECK_LIB(wnn6_fromsrc,dic_list_e,libwnn=wnn6_fromsrc,with_wnn=no))))
+ fi
+ test -z "$with_wnn" && with_wnn=yes
+ if test "$with_wnn" = "yes"; then
+ AC_DEFINE(HAVE_WNN)
+ XE_PREPEND(-l$libwnn, libs_x)
+ if test "$with_wnn6" != "no"; then
+ AC_CHECK_LIB($libwnn, jl_fi_dic_list, with_wnn6=yes)
+ test "$with_wnn6" = "yes" && AC_DEFINE(WNN6)
+ fi
+ fi
+
+ dnl Autodetect canna
+ canna_includes_found=no
+ if test "$with_canna" != "no"; then
+ AC_CHECK_HEADER(canna/jrkanji.h,canna_includes_found=yes)
+ fi
+ if test "$canna_includes_found" = "no" -a "$with_canna"
!= "no" -a \
+ -d "/usr/local/canna/include"; then
+ save_c_switch_site="$c_switch_site"
+ c_switch_site="$c_switch_site -I/usr/local/canna/include"
+ AC_CHECK_HEADER(canna/jrkanji.h,canna_includes_found=yes)
+ if test "$canna_includes_found" != "yes"; then
+ c_switch_site="$save_c_switch_site"
+ with_canna="no"
+ fi
+ fi
+
+ 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)
+ XE_PREPEND(-lcanna -lRKC, libs_x)
+ fi
+
+else dnl "$enable_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 dnl with_mule
+
+
+dnl At this point, we know whether we need the motif lib or not.
+if test "$need_motif" = "yes" ; then
+ XE_PREPEND(-lXm, libs_x)
+ dnl AIX needs the following library for use with Motif
+ AC_CHECK_LIB(i18n, layout_object_getvalue, [XE_PREPEND(-li18n, libs_x)])
+ XE_COMPUTE_RUNPATH()
+fi
+
+dnl ----------------------------------------------------------------
+dnl Check for POSIX functions.
+dnl ----------------------------------------------------------------
+
+AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp fsync ftime ftruncate
getaddrinfo gethostname getnameinfo getpagesize getrlimit gettimeofday getcwd link logb
lrand48 matherr mkdir mktime perror poll random readlink rename res_init rint rmdir select
setitimer setpgid setsid sigblock sighold sigprocmask snprintf strerror strlwr strupr
symlink tzset ulimit umask usleep vlimit vsnprintf waitpid wcscmp wcslen)
+
+dnl getaddrinfo() is borked under hpux11
+if test "$ac_cv_func_getaddrinfo" != "no" ; then
+ case "$opsys" in
+ hpux11 )
+ AC_MSG_WARN([Use of getaddrinfo is disabled for HP-UX 11.XX.])
+ ac_cv_func_getaddrinfo=no
+ ;;
+ esac
+fi
+
+dnl ----------------------------------------------------------------
+dnl Check for Unixoid pty/process support.
+dnl ----------------------------------------------------------------
+
+dnl There is no "standard" pty allocation method. Every system is different.
+dnl getpt() is the preferred pty allocation method on glibc systems.
+dnl _getpty() is the preferred pty allocation method on SGI systems.
+dnl grantpt(), unlockpt(), ptsname() are defined by Unix98.
+AC_CHECK_FUNCS(getpt _getpty grantpt unlockpt ptsname killpg tcgetpgrp)
+
+dnl openpty() is the preferred pty allocation method on BSD and Tru64 systems.
+dnl openpty() might be declared in:
+dnl - pty.h (Tru64 or Linux)
+dnl - libutil.h (FreeBSD)
+dnl - util.h (NetBSD)
+AC_CHECK_FUNC(openpty, have_openpty=yes, [
+ AC_CHECK_LIB(util, openpty, have_openpty=yes need_libutil=yes)])
+if test "$have_openpty" = "yes"; then
+ AC_DEFINE(HAVE_OPENPTY)
+ AC_CHECK_HEADERS(libutil.h util.h, break)
+ test "$need_libutil" = "yes" && XE_APPEND(-lutil,
libs_system)
+fi
+
+dnl Check for system-specific pty header files
+dnl Often the TIOCSIG* symbols are hiding there.
+case "$opsys" in
+ dnl HPUX pty.h #defines TRUE and FALSE, so just use ptyio.h there.
+ hpux*) AC_CHECK_HEADERS(sys/ptyio.h) ;;
+ *) AC_CHECK_HEADERS(pty.h)
+ test "$ac_cv_header_pty_h" = "no" &&
AC_CHECK_HEADERS(sys/pty.h)
+ ;;
+esac
+
+dnl Check for STREAM support functions.
+dnl Confusingly, "str" means both "string" and "SysV
Streams".
+AC_CHECK_HEADERS(stropts.h)
+if test "$ac_cv_header_stropts_h" = "yes"; then
+ AC_CHECK_FUNCS(isastream)
+ AC_CHECK_HEADERS(strtio.h) dnl TIOCSIGNAL
+fi
+
+dnl Check whether the system provides getloadavg().
+AC_CHECK_FUNCS(getloadavg)
+
+if test "$ac_cv_func_getloadavg" = "yes"; then
+ dnl Solaris 8 declares getloadavg() in <sys/loadavg.h>.
+ dnl glibc 2.2 declares getloadavg() in <stdlib.h>...
+ dnl ...if we #define _GNU_SOURCE, which we do.
+ AC_CHECK_HEADERS(sys/loadavg.h)
+else
+ dnl We define our own getloadavg() using lower level functions.
+ XE_ADD_OBJS(getloadavg.o)
+
+ dnl Used by getloadavg() - does not require root priveleges
+ AC_CHECK_LIB(kstat, kstat_open)
+ AC_CHECK_HEADERS(kstat.h)
+
+ dnl Another way to get the load average
+ AC_CHECK_LIB(kvm, kvm_read)
+fi
+
+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_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_RUN_IFELSE([AC_LANG_SOURCE([#include <time.h>
+#if STDC_HEADERS
+# include <stdlib.h>
+#endif
+extern char **environ;
+unset_TZ ()
+{
+ char **from, **to;
+ for (to = from = environ; (*to = *from); from++)
+ if (! (to[[0]][[0]] == 'T' && to[[0]][[1]] == 'Z' &&
to[[0]][[2]] == '='))
+ to++;
+}
+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)
+ exit (1);
+ hour_GMT0 = localtime (&now)->tm_hour;
+ unset_TZ ();
+ hour_unset = localtime (&now)->tm_hour;
+ if (putenv (TZ_PST8) != 0)
+ exit (1);
+ if (localtime (&now)->tm_hour == hour_GMT0)
+ exit (1);
+ unset_TZ ();
+ if (localtime (&now)->tm_hour != hour_unset)
+ exit (1);
+ exit (0);
+}])], emacs_cv_localtime_cache=no, emacs_cv_localtime_cache=yes,
+[# If we have tzset, assume the worst when cross-compiling.
+emacs_cv_localtime_cache=yes])
+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 "$HAVE_TIMEVAL" = "yes"; then
+AC_MSG_CHECKING(whether gettimeofday accepts one or two arguments)
+AC_TRY_LINK([
+#ifdef TIME_WITH_SYS_TIME
+#include <sys/time.h>
+#include <time.h>
+#else
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#else
+#include <time.h>
+#endif
+#endif
+ ],
+ [
+ struct timeval time;
+ gettimeofday (&time, 0);
+],
+ [AC_MSG_RESULT(two)],
+ [AC_MSG_RESULT(one)
+ AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)])
+fi
+
+
+AC_C_INLINE
+test "$ac_cv_c_inline" != "no" -a "$GCC" = "yes"
&& XE_ADD_OBJS(inline.o)
+
+dnl check for the typeof extension
+AC_MSG_CHECKING(for typeof)
+AC_TRY_COMPILE(, [int i; __typeof__(i) j;], typeofname="__typeof__",
+ [AC_TRY_COMPILE(, [int i; typeof(i) j;], typeofname="typeof",
+ typeofname=no)])
+AC_MSG_RESULT($typeofname)
+if test "$typeofname" != "no"; then
+ AC_DEFINE_UNQUOTED(TYPEOF, $typeofname)
+fi
+
+dnl HP-UX has a working alloca in libPW.
+dnl case "${GCC}${opsys}" in hpux* )
+dnl AC_CHECK_FUNC(alloca, [:], [AC_CHECK_LIB(PW, alloca)])
+dnl esac
+
+dnl AC_FUNC_ALLOCA doesn't know about DEC C's #pragma intrinsic(alloca)
+if test "$__DECC" != "yes"; then
+ AC_FUNC_ALLOCA
+ test -n "$ALLOCA" && XE_ADD_OBJS($ALLOCA)
+fi
+
+AC_MSG_CHECKING(for working alloca in function calls)
+AC_RUN_IFELSE([AC_LANG_SOURCE([
+#if defined (__CYGWIN__)
+#include <alloca.h>
+#elif defined (__GNUC__)
+#define alloca __builtin_alloca
+#elif defined (__DECC)
+#include <alloca.h>
+#pragma intrinsic(alloca)
+#elif defined (HAVE_ALLOCA_H)
+#include <alloca.h>
+#elif defined (_AIX)
+#pragma alloca
+#elif ! defined (alloca)
+#ifdef C_ALLOCA
+#define alloca xemacs_c_alloca
+#else
+void *alloca ();
+#endif /* C_ALLOCA */
+#endif /* !defined (alloca) */
+
+void
+f1 (double a, void *ptr, int b)
+{
+ unsigned char *ptr2 = (unsigned char *) ptr;
+ if (ptr2[[0]] != 0xBF || ptr2[[1]] != 0xBF || ptr2[[3000]] != 0xBF)
+ exit (1);
+ if (a != 3.1415 || b != -5490)
+ exit (1);
+}
+
+int
+f2 (short c, void *ptr, long e)
+{
+ unsigned char *ptr2 = (unsigned char *) ptr;
+ if (ptr2[[0]] != 0xFB || ptr2[[1]] != 0xFB || ptr2[[1000]] != 0xFB)
+ exit (1);
+ if (c != 665 || e != 776776776)
+ exit (1);
+ f1 (3.1415, memset (alloca (3001), 0xBF, 3001), -5490);
+ return 42;
+}
+
+int
+main (int argc, char *argv[])
+{
+ if (f2 (665, memset (alloca (1001), 0xFB, 1001), 776776776) != 42)
+ return 1;
+ return 0;
+}
+])], working_alloca_in_function_calls=yes, working_alloca_in_function_calls=no)
+AC_MSG_RESULT($working_alloca_in_function_calls)
+test "$working_alloca_in_function_calls" != "yes" && \
+ AC_DEFINE(BROKEN_ALLOCA_IN_FUNCTION_CALLS)
+
+AC_MSG_CHECKING([for working scanf])
+AC_RUN_IFELSE([AC_LANG_SOURCE([
+int
+main (int argc, char **argv)
+{
+ int ret, cp1, cp2, endcount;
+ char *p = "0x7d 0x000E ";
+ ret = sscanf (p, "%i %i%n", &cp1, &cp2, &endcount);
+ /* endcount should be 13 but it's 11 in Cygwin newlib after 6/04;
+ this breaks unicode.c */
+ return endcount != 13;
+}
+])], working_scanf=yes, working_scanf=no)
+AC_MSG_RESULT($working_scanf)
+test "$working_scanf" != "yes" && \
+ AC_DEFINE(CYGWIN_SCANF_BUG)
+
+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
+
+dnl If `getpgrp' takes no argument (the POSIX.1 version), define
+dnl `GETPGRP_VOID'. Otherwise, it is the BSD version, which takes a
+dnl process ID as an argument.
+AC_CHECK_FUNCS(getpgrp)
+AC_FUNC_GETPGRP
+
+dnl We used to call AC_FUNC_MMAP here
+dnl Instead we now use following, suggested by Neal Becker
+AC_MSG_CHECKING(for working mmap)
+case "$opsys" in ultrix* ) have_mmap=no ;; *)
+AC_RUN_IFELSE([AC_LANG_SOURCE([#include <stdio.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/mman.h>
+
+#ifndef MAP_VARIABLE
+#define MAP_VARIABLE 0
+#endif
+
+#ifndef MAP_FAILED
+#define MAP_FAILED -1
+#endif
+
+int main (int argc, char *argv[])
+{
+ int fd = -1;
+ caddr_t p;
+#ifndef MAP_ANONYMOUS
+ fd = open ("/dev/zero", O_RDWR);
+ if (fd < 0)
+ return 1;
+#define MAP_ANONYMOUS 0
+#endif
+ if (mmap(0, 1024, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_VARIABLE | MAP_ANONYMOUS,
+ fd, 0) != (void *) MAP_FAILED)
+ return 0;
+ perror ("conftest: mmap failed");
+ return 1;
+}])], have_mmap=yes, have_mmap=no) ;;
+esac
+AC_MSG_RESULT($have_mmap)
+test "$have_mmap" = "yes" && AC_DEFINE(HAVE_MMAP)
+
+dnl By default we switch off rel-alloc on cygwin as it generally causes us grief
+case "$opsys" in cygwin*)
+ test "$with_rel_alloc" = "default" && with_rel_alloc=no ;;
+esac
+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 "$have_mmap" !=
"yes" && with_rel_alloc=no
+if test "$with_rel_alloc $have_mmap" = "default yes"; then
+ if test "$doug_lea_malloc" = "yes"; then
+ dnl Check if malloc() calls mmap(), making rel_alloc pointless.
+ AC_MSG_CHECKING(for M_MMAP_THRESHOLD)
+ AC_TRY_COMPILE([#include <malloc.h>],[
+#ifndef M_MMAP_THRESHOLD
+#error No M_MMAP_THRESHOLD :-(
+!@+$%^&*_)(_ - unlikely to compile...
+#endif
+], [with_rel_alloc=no; AC_MSG_RESULT(yes);], [with_rel_alloc=yes; AC_MSG_RESULT(no);])
+ else
+ with_rel_alloc=yes
+ fi
+fi
+test "$with_rel_alloc" = "yes" && AC_DEFINE(REL_ALLOC)
+
+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_DEFINE(SIGNALS_VIA_CHARACTERS)
+ AC_DEFINE(NO_TERMIO),
+ [AC_CHECK_HEADER(termio.h, [AC_DEFINE(HAVE_TERMIO)])])
+
+
+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)
+ 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)])
+ AC_MSG_CHECKING("for ip_mreq struct in netinet/in.h")
+ AC_TRY_LINK([
+#include <sys/types.h>
+#include <netinet/in.h>
+ ],
+ [static struct ip_mreq x;],
+ [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_MULTICAST)],
+ [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 Check for sound of various sorts.
+
+dnl Autodetect native sound
+AC_CHECKING("for sound support")
+test -z "$with_native_sound" -a -n "$with_native_sound_lib"
&& with_native_sound=yes
+
+if test "$with_native_sound" != "no"; then
+ dnl Maybe sound is already on include path...
+ if test -n "$with_native_sound_lib"; then
+ AC_CHECK_HEADER(multimedia/audio_device.h,
+ [sound_found=yes sound_cflags=""
+ XE_ADD_OBJS(sunplay.o)])
+ fi
+
+ dnl Autodetect Sun native sound from SUNWaudmo package
+ if test -z "$sound_found" -a -d "/usr/demo/SOUND"; then
+ if test -d "/usr/demo/SOUND/include/multimedia"; then
+ sun_sound_cflags="-I/usr/demo/SOUND/include"
+ elif test -d "/usr/demo/SOUND/multimedia"; then
+ sun_sound_cflags="-I/usr/demo/SOUND"
+ fi
+
+ if test -n "$with_native_sound_lib"; then
+ sun_sound_lib="$with_native_sound_lib"
+ elif test -r "/usr/demo/SOUND/lib/libaudio.a"; then
+ sun_sound_lib="/usr/demo/SOUND/lib/libaudio.a"
+ elif test -r "/usr/demo/SOUND/libaudio.a"; then
+ sun_sound_lib="/usr/demo/SOUND/libaudio.a"
+ fi
+
+ if test -n "$sun_sound_cflags" -a -n "$sun_sound_lib"; then
+ with_native_sound_lib="$sun_sound_lib"
+ sound_cflags="$sun_sound_cflags"
+ sound_found=yes
+ XE_ADD_OBJS(sunplay.o)
+ fi
+ fi
+
+ dnl Check for SGI and HP native sound libs
+ if test -z "$sound_found"; then
+ case "$ac_cv_build" in
+ *-sgi-* )
+ if test -z "$with_native_sound_lib"; then
+ AC_CHECK_LIB(audio, ALopenport, with_native_sound_lib="-laudio")
+ fi
+ if test -n "$with_native_sound_lib"; then
+ sound_found=yes sound_cflags=""
+ XE_ADD_OBJS(sgiplay.o)
+ fi ;;
+ hppa*-hp-hpux* )
+ if test -z "$with_native_sound_lib"; then
+ AC_CHECK_LIB(Alib, AOpenAudio, with_native_sound_lib="-lAlib")
+ fi
+ if test -n "$with_native_sound_lib"; then
+ sound_found=yes
+ XE_ADD_OBJS(hpplay.o)
+ if test "$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
+
+ dnl Win32 Native uses native sound
+ if test -z "$sound_found"; then
+ if test "$with_msw" = "yes"; then
+ sound_found=yes
+ with_native_sound_lib=
+ XE_ADD_OBJS(ntplay.o)
+ fi
+ fi
+
+ dnl Check for Linux/BSD native sound (also on recent Cygwins)
+ if test -z "$sound_found"; then
+ for dir in "machine" "sys" "linux"; do
+ AC_CHECK_HEADER(${dir}/soundcard.h,
+ sound_found=yes
+ need_miscplay=yes
+ XE_ADD_OBJS(linuxplay.o)
+ [AC_DEFINE_UNQUOTED(SOUNDCARD_H_FILE, "${dir}/soundcard.h")]
+ break)
+ done
+ fi
+
+ test "$sound_found" = "yes" && with_native_sound=yes
+fi
+
+if test "$with_native_sound" = "yes"; then
+ AC_DEFINE(HAVE_NATIVE_SOUND)
+ test -n "$with_native_sound_lib" &&
XE_PREPEND($with_native_sound_lib, LIBS)
+fi
+
+dnl NAS Sound support
+if test "$with_nas_sound" != "no"; then
+ AC_CHECK_HEADER(audio/audiolib.h, [
+ AC_CHECK_LIB(audio, AuOpenServer, have_nas_sound=yes)])
+ if test "$have_nas_sound" = "yes"; then
+ with_nas_sound=yes
+ AC_DEFINE(HAVE_NAS_SOUND)
+ XE_ADD_OBJS(nas.o)
+ XE_PREPEND(-laudio, libs_x)
+ dnl If the nas library does not contain the error jump point,
+ dnl then we force safer behavior.
+ AC_EGREP_HEADER(AuXtErrorJump,audio/Xtutil.h,,[old_nas=yes;
AC_DEFINE(NAS_NO_ERROR_JUMP)])
+ else
+ test "$with_nas_sound" = "yes" && \
+ XE_DIE("Required NAS sound support cannot be provided.")
+ with_nas_sound=no
+ fi
+fi
+
+dnl ESD Sound support
+if test "$with_esd_sound" != "no"; then
+ AC_CHECK_PROG(have_esd_config, esd-config, yes, no)
+ if test "$have_esd_config" = "yes"; then
+ save_c_switch_site="$c_switch_site" save_LIBS="$LIBS"
+ XE_APPEND(`esd-config --cflags`, c_switch_site)
+ XE_PREPEND(`esd-config --libs`, LIBS)
+ AC_CHECK_FUNC(esd_play_stream,
+ have_esd_sound=yes,
+ c_switch_site="$save_c_switch_site" LIBS="$save_LIBS")
+ fi
+
+ if test "$have_esd_sound" = "yes"; then
+ with_esd_sound=yes
+ need_miscplay=yes
+ XE_ADD_OBJS(esd.o)
+ AC_DEFINE(HAVE_ESD_SOUND)
+ else
+ test "$with_esd_sound" = "yes" && \
+ XE_DIE("Required ESD sound support cannot be provided.")
+ with_esd_sound=no
+ fi
+fi
+
+test "$need_miscplay" = "yes" && XE_ADD_OBJS(miscplay.o)
+
+dnl ---------------------
+dnl TTY-dependent options
+dnl ---------------------
+
+test -z "$with_tty" && with_tty=yes
+
+if test "$with_tty" = "yes" ; then
+ AC_CHECKING(for TTY-related features)
+ AC_DEFINE(HAVE_TTY)
+
+ dnl Autodetect ncurses.
+ if test -z "$with_ncurses"; then
+ AC_CHECK_LIB(ncurses, tgetent, with_ncurses=yes, with_ncurses=no)
+ fi
+ if test "$with_ncurses" = "yes"; then
+ AC_DEFINE(HAVE_NCURSES)
+ AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h)
+ AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h)
+ XE_ADD_OBJS(terminfo.o)
+ XE_PREPEND(-lncurses, LIBS)
+
+ 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>)
+ 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_file=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
+ else dnl "$with_ncurses" = "no"
+ dnl Autodetect terminfo/-lcurses/-ltermlib/-ltermcap
+ if test "$have_terminfo" = "yes"; then
+ XE_ADD_OBJS(terminfo.o)
+ if test -n "$libs_termcap"; then
+ XE_PREPEND($libs_termcap, LIBS)
+ else
+ for lib in curses termlib termcap; do
+ AC_CHECK_LIB($lib, tgetent, XE_PREPEND(-l${lib}, LIBS); break)
+ done
+ fi
+ else dnl "$have_terminfo" = "no" &&
"with_ncurses" = "no"
+ XE_ADD_OBJS(tparam.o)
+ dnl The HP-UX curses library seems to have a badly broken version of select(2)
+ dnl that makes "poll: interrupted system call" messages to appear and
+ dnl Emacs subprocesses to hang (e.g. TeX compilation w/ AUCTeX) */
+ case "$opsys" in *-hp-hpux* ) libs_termcap="-ltermcap" ;; esac
+ if test -n "$libs_termcap"; then
+ XE_PREPEND($libs_termcap, LIBS)
+ else
+ AC_CHECK_LIB(curses, tgetent, XE_PREPEND(-lcurses, LIBS),
+ AC_CHECK_LIB(termcap, tgetent, XE_PREPEND(-ltermcap, LIBS),
+ XE_ADD_OBJS(termcap.o)))
+ fi
+ fi
+ fi
+ AC_DEFINE_UNQUOTED(CURSES_H_FILE, "${curses_h_file-curses.h}")
+ AC_DEFINE_UNQUOTED(TERM_H_FILE, "${term_h_file-term.h}")
+
+ dnl General Purpose Mouse (libgpm) support
+ if test "$with_gpm" != "no"; then
+ AC_CHECK_HEADER(gpm.h, [
+ AC_CHECK_LIB(gpm, Gpm_Open, have_gpm=yes)])
+ if test "$have_gpm" = "yes"; then
+ with_gpm=yes
+ AC_DEFINE(HAVE_GPM)
+ XE_PREPEND(-lgpm, LIBS)
+ elif test "$with_gpm" = "yes"; then
+ XE_DIE(["GPM requested, but gpm.h or libgpm seems to be missing."])
+ else
+ with_gpm=no
+ fi
+ fi
+
+else dnl "$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 with_tty
+
+dnl Database support
+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 By default, we check for DBM support in libgdbm, then libc, then libdbm.
+
+test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \
+ != "no no no" && AC_CHECKING(for database support)
+
+dnl Check for ndbm.h, required for either kind of DBM support.
+if test "$with_database_gdbm $with_database_dbm" != "no no"; then
+ AC_CHECK_HEADER(ndbm.h, [:], [
+ test "$with_database_gdbm" = "yes" -o \
+ "$with_database_dbm" = "yes" && \
+ XE_DIE("Required DBM support cannot be provided.")
+ with_database_gdbm=no with_database_dbm=no])
+fi
+
+dnl Check for DBM support in libgdbm.
+if test "$with_database_gdbm" != "no"; then
+ AC_CHECK_LIB(gdbm, dbm_open, [
+ with_database_gdbm=yes with_database_dbm=no libdbm=-lgdbm], [
+ if test "$with_database_gdbm" = "yes"; then
+ XE_DIE("Required GNU DBM support cannot be provided.")
+ fi
+ with_database_gdbm=no])
+fi
+
+dnl Check for DBM support in libc and libdbm.
+if test "$with_database_dbm" != "no"; then
+ AC_CHECK_FUNC(dbm_open, [with_database_dbm=yes libdbm=], [
+ AC_CHECK_LIB(dbm, dbm_open, [with_database_dbm=yes libdbm=-ldbm], [
+ test "$with_database_dbm" = "yes" && \
+ XE_DIE("Required DBM support cannot be provided.")
+ with_database_dbm=no])])
+fi
+
+dnl Tell make about the DBM support we detected.
+test -n "$libdbm" && XE_PREPEND("$libdbm", LIBS)
+test "$with_database_gdbm" = "yes" -o \
+ "$with_database_dbm" = "yes" && \
+ AC_DEFINE(HAVE_DBM)
+
+dnl Check for Berkeley DB.
+if test "$with_database_berkdb" != "no"; then
+ AC_MSG_CHECKING(for Berkeley db.h)
+ for header in "db/db.h" "db.h"; do
+ AC_TRY_COMPILE([
+#include <stdlib.h>
+#if !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1)
+#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
+#endif
+#include <$header>
+],[], db_h_file="$header"; break)
+ done
+ if test -z "$db_h_file"
+ then AC_MSG_RESULT(no); with_database_berkdb=no
+ else AC_MSG_RESULT($db_h_file)
+ fi
+
+ if test "$with_database_berkdb" != "no"; then
+ AC_MSG_CHECKING(for Berkeley DB version)
+ AC_EGREP_CPP(yes,
+[#include <$db_h_file>
+#if DB_VERSION_MAJOR > 1
+yes
+#endif
+], [AC_EGREP_CPP(yes,
+[#include <$db_h_file>
+#if DB_VERSION_MAJOR > 2
+yes
+#endif
+], [AC_EGREP_CPP(yes,
+[#include <$db_h_file>
+#if DB_VERSION_MAJOR > 3
+yes
+#endif
+], [AC_MSG_RESULT(4); dbfunc=db_create; dbver=4],[
+ AC_MSG_RESULT(3); dbfunc=db_create; dbver=3])],[
+ AC_MSG_RESULT(2); dbfunc=db_open; dbver=2])],[
+ AC_MSG_RESULT(1); dbfunc=dbopen; dbver=1])
+ AC_CHECK_FUNC($dbfunc, with_database_berkdb=yes need_libdb=no, [
+ AC_CHECK_LIB(db, $dbfunc, with_database_berkdb=yes need_libdb=yes)])
+ fi
+
+ dnl Berk db 4.1 decorates public functions with version information
+ if test "$with_database_berkdb" != "yes" -a "$dbver" =
"4"; then
+ rm -f $tempcname
+ echo "#include <$db_h_file>" > $tempcname
+ echo "configure___ dbfunc=db_create" >> $tempcname
+ define(TAB, [ ])dnl
+ eval `$CPP -Isrc $tempcname \
+ | sed -n -e "s/[[ TAB]]*=[[ TAB\"]]*/='/" -e "s/[[
TAB\"]]*\$/'/" -e "s/^configure___//p"`
+ rm -f $tempcname
+ AC_MSG_WARN("db_create is really $dbfunc")
+ AC_CHECK_LIB(db, $dbfunc, with_database_berkdb=yes need_libdb=yes)
+ fi
+
+ if test "$with_database_berkdb" = "yes"; then
+ AC_DEFINE_UNQUOTED(DB_H_FILE, "$db_h_file")
+ AC_DEFINE(HAVE_BERKELEY_DB)
+ test "$need_libdb" = "yes" && XE_PREPEND(-ldb, LIBS)
+ else with_database_berkdb=no
+ fi
+fi
+
+if test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \
+ != "no no no"; then
+ AC_DEFINE(HAVE_DATABASE)
+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)
+ XE_PREPEND(-Bstatic -lut -Bdynamic, LIBS)
+fi
+
+dnl Enhanced number support
+if test "$enable_bignum" = "gmp"; then
+ AC_CHECK_HEADER(gmp.h, [
+ AC_CHECK_LIB(gmp, __gmpz_init, have_mpz_init=yes)])
+ if test "$have_mpz_init" = "yes"; then
+ AC_DEFINE(WITH_NUMBER_TYPES)
+ AC_DEFINE(WITH_GMP)
+ XE_PREPEND(-lgmp, LIBS)
+ else
+ XE_DIE("Required GMP numeric support cannot be provided.")
+ fi
+elif test "$enable_bignum" = "mp"; then
+ for library in "" "-lcrypto"; do
+ AC_CHECK_HEADER(mp.h, [
+ AC_CHECK_LIB(mp, mp_mfree, have_mp_mfree=yes; break, [
+ AC_CHECK_LIB(mp, mfree, have_mfree=yes; break, , $library)],
+ $library)])
+ done
+ if test "$have_mp_mfree" = "yes"; then
+ AC_DEFINE(MP_PREFIX)
+ XE_APPEND(-lmp, LIBS)
+ if test "$library" != ""; then
+ XE_APPEND($library, LIBS)
+ fi
+ AC_CHECK_FUNC(mp_move, [AC_DEFINE(HAVE_MP_MOVE)])
+ elif test "$have_mfree" = "yes"; then
+ XE_APPEND(-lmp, LIBS)
+ if test "$library" != ""; then
+ XE_APPEND($library, LIBS)
+ fi
+ AC_CHECK_FUNC(move, [AC_DEFINE(HAVE_MP_MOVE)])
+ else
+ XE_DIE("Required MP numeric support cannot be provided.")
+ fi
+ AC_DEFINE(WITH_NUMBER_TYPES)
+ AC_DEFINE(WITH_MP)
+fi
+
+dnl Unfortunately, just because we can link doesn't mean we can run.
+dnl One of the above link tests may have succeeded but caused resulting
+dnl executables to fail to run. Also any tests using AC_RUN_IFELSE will
+dnl have reported incorrect results.
+AC_RUN_IFELSE([AC_LANG_SOURCE([int main(int c,char *v[]){return 0;}])],[:],[
+ echo ""
+ echo "*** PANIC *** The C compiler can no longer build working executables."
+ echo "*** PANIC *** Please examine the tail of config.log for runtime
errors."
+ echo "*** PANIC *** The most likely reason for this problem is that
configure"
+ echo "*** PANIC *** links with shared libraries, but those libraries cannot
be"
+ echo "*** PANIC *** found at run time."
+ echo "*** PANIC ***"
+ echo "*** PANIC *** On a Linux system, edit /etc/ld.so.conf and re-run
ldconfig."
+ echo "*** PANIC *** On other systems, try telling configure where to find
the"
+ echo "*** PANIC *** shared libraries using the --with-site-runtime-libraries
option"
+ echo "*** PANIC ***"
+ echo "*** PANIC *** Another way to shoot yourself in the foot is to specify"
+ echo "*** PANIC *** --with-FEATURE when FEATURE is not actually installed"
+ echo "*** PANIC *** on your system. Don't do that."
+ exit 1])
+
+dnl Process support
+if test "$win32_processes" != "yes"; then
+ AC_DEFINE(HAVE_UNIX_PROCESSES)
+fi
+
+dnl --------------------------------
+dnl Compute SUBST-itutable variables
+dnl --------------------------------
+
+dnl We ignore (C|LD)_SWITCH_X_(MACHINE|SYSTEM)
+dnl Use XE_SPACE instead of plain assignment statements to remove extraneous blanks
+if test "$enable_modules" = "yes"; then
+ ld_libs_module=
+else
+ XE_SPACE(ld_libs_module, $ldap_libs $postgresql_libs)
+fi
+
+XE_SPACE(CFLAGS, $CFLAGS)
+XE_SPACE(extra_objs, $extra_objs)
+XE_SPACE(c_switch_general, -DHAVE_CONFIG_H $c_switch_site $c_switch_machine
$c_switch_system)
+XE_SPACE(c_switch_window_system, $c_switch_x_site $c_switch_gtk $X_CFLAGS)
+XE_SPACE(c_switch_all, $c_switch_general $c_switch_window_system)
+XE_SPACE(ld_switch_general, $ld_switch_site $ld_switch_machine $ld_switch_system
$ld_switch_run)
+XE_SPACE(ld_switch_window_system, $ld_switch_x_site)
+XE_SPACE(ld_switch_all, $ld_switch_general $ld_switch_window_system)
+XE_SPACE(ld_libs_general, $LIBS $libs_machine $libs_system $libs_standard)
+XE_SPACE(ld_libs_window_system, $X_EXTRA_LIBS $libs_x $libs_gtk $X_PRE_LIBS)
+XE_SPACE(ld_libs_all, $ld_libs_window_system $ld_libs_general $ld_libs_module)
+
+dnl For no-module builds, make the src dir last
+if test "$enable_modules" = "no"; then
+ XE_APPEND(src, MAKE_SUBDIR)
+fi
+
+dnl Compute lists of Makefiles and subdirs
+AC_SUBST(SRC_SUBDIR_DEPS)
+internal_makefile_list="Makefile.in"
+SUBDIR_MAKEFILES=''
+test -d lock || mkdir lock
+for dir in $MAKE_SUBDIR; do
+ case "$dir" in */* ) dnl Implement mkdir -p
+ ( for d in `echo $dir | sed 's:/: :g'` ; do
+ test -d "$d" || mkdir "$d"; cd "$d"
+ done ) ;;
+ * ) test -d "$dir" || mkdir "$dir" ;;
+ esac
+ XE_SPACE(SUBDIR_MAKEFILES, $SUBDIR_MAKEFILES $dir/Makefile $dir/GNUmakefile)
+ XE_SPACE(internal_makefile_list, $internal_makefile_list $dir/Makefile.in)
+done
+AC_SUBST(INSTALL_ARCH_DEP_SUBDIR)
+AC_SUBST(MAKE_SUBDIR)
+AC_SUBST(SUBDIR_MAKEFILES)
+
+dnl Make s&m symlinks in the src directory, for config.h.
+for dir in src/s src/m; do
+ if test ! -d "$dir" ; then
+ echo Making symbolic link to "$srcdir/$dir"
+ ${LN_S} "$srcdir/$dir" "$dir"
+ fi
+done
+
+dnl Also make modules/common link if needed for the module Makefiles.
+if test "$need_modules_common" = "yes"; then
+ for dir in modules/common; do
+ if test ! -d "$dir" ; then
+ echo Making symbolic link to "$srcdir/$dir"
+ ${LN_S} "$srcdir/$dir" "$dir"
+ fi
+ done
+fi
+
+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 Create some auxiliary files for developers.
+dnl ----------------------------------------------
+
+dnl Create a .gdbinit useful for debugging XEmacs
+if test -f "$srcdir/src/.gdbinit" -a ! -f "src/.gdbinit"; then
+ test "$extra_verbose" = "yes" && echo "creating
src/.gdbinit"
+ echo "source $srcdir/src/.gdbinit" > "src/.gdbinit"
+fi
+
+dnl Create a .dbxrc useful for debugging XEmacs
+if test -f "$srcdir/src/.dbxrc" -a ! -f "src/.dbxrc"; then
+ test "$extra_verbose" = "yes" && echo "creating
src/.dbxrc"
+ echo ". $srcdir/src/.dbxrc" > "src/.dbxrc"
+fi
+
+dnl Create a useful TAGS file
+if test -f "$srcdir/TAGS" -a ! -f "TAGS"; then
+ test "$extra_verbose" = "yes" && echo "creating
TAGS"
+ echo "
+$srcdir/TAGS,include" > "TAGS"
+fi
+
+dnl Create top level .sbinit for Sun compilers
+if test "$__SUNPRO_C" = "yes"; then
+ test "$extra_verbose" = "yes" && echo "creating
.sbinit"
+ ( echo "# For use with Sun WorkShop's Source browser."
+ echo "# See sbquery(1) and sbinit(4) for more information"
+ for dir in $MAKE_SUBDIR; do echo "import $dir"; done
+ ) > .sbinit
+fi
+
+dnl There are no more compile tests; remove the core they created.
+rm -f core
+
+dnl ----------------------------------------------
+dnl Substitute into Makefile, config.h and paths.h
+dnl ----------------------------------------------
+
+dnl what sort of things to edit into Makefile, config.h and paths.h
+dnl configuration here uncanonicalized to avoid exceeding size limits.
+
+AC_SUBST(PROGNAME)
+AC_SUBST(version)
+AC_SUBST(inststaticdir)
+AC_SUBST(instvardir)
+AC_SUBST(srcdir)
+AC_SUBST(bindir)
+AC_SUBST(datadir)
+AC_SUBST(statedir)
+AC_SUBST(libdir)
+AC_SUBST(mandir)
+AC_SUBST(extra_includes)
+
+AC_SUBST(prefix)
+AC_SUBST(PREFIX_USER_DEFINED)
+dnl Yo, Stephen Bourne! I want to marry you!
+PREFIX=$prefix
+while true; do
+ case "$PREFIX" in
+ *\$* ) eval "PREFIX=$PREFIX" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(PREFIX)
+
+AC_SUBST(exec_prefix)
+AC_SUBST(EXEC_PREFIX_USER_DEFINED)
+EXEC_PREFIX=$exec_prefix
+while true; do
+ case "$EXEC_PREFIX" in
+ *\$* ) eval "EXEC_PREFIX=$EXEC_PREFIX" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(EXEC_PREFIX)
+
+AC_SUBST(infodir)
+AC_SUBST(INFODIR_USER_DEFINED)
+INFODIR=$infodir
+while true; do
+ case "$INFODIR" in
+ *\$* ) eval "INFODIR=$INFODIR" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(INFODIR)
+
+AC_SUBST(infopath,$with_infopath)
+AC_SUBST(INFOPATH_USER_DEFINED)
+INFOPATH=$with_infopath
+while true; do
+ case "$INFOPATH" in
+ *\$* ) eval "INFOPATH=$INFOPATH" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(INFOPATH)
+
+if test -z "$with_package_path" && test -n
"$with_package_prefix" ; then
+ if test "$enable_mule" = "yes" ; then
+
with_package_path="~/.xemacs::${with_package_prefix}/site-packages:${with_package_prefix}/xemacs-packages:${with_package_prefix}/mule-packages"
+ else
+
with_package_path="~/.xemacs::${with_package_prefix}/site-packages:${with_package_prefix}/xemacs-packages"
+ fi
+fi
+
+AC_SUBST(package_path,$with_package_path)
+AC_SUBST(PACKAGE_PATH_USER_DEFINED)
+PACKAGE_PATH=$with_package_path
+while true; do
+ case "$PACKAGE_PATH" in
+ *\$* ) eval "PACKAGE_PATH=$PACKAGE_PATH" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(PACKAGE_PATH)
+
+AC_SUBST(lispdir, $with_lispdir)
+AC_SUBST(LISPDIR_USER_DEFINED)
+LISPDIR=$with_lispdir
+while true; do
+ case "$LISPDIR" in
+ *\$* ) eval "LISPDIR=$LISPDIR" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(LISPDIR)
+
+AC_SUBST(moduledir,$with_moduledir)
+AC_SUBST(MODULEDIR_USER_DEFINED)
+MODULEDIR=$with_moduledir
+while true; do
+ case "$MODULEDIR" in
+ *\$* ) eval "MODULEDIR=$MODULEDIR" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(MODULEDIR)
+
+AC_SUBST(sitelispdir,$with_sitelispdir)
+AC_SUBST(SITELISPDIR_USER_DEFINED)
+SITELISPDIR=$sitelispdir
+while true; do
+ case "$SITELISPDIR" in
+ *\$* ) eval "SITELISPDIR=$SITELISPDIR" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(SITELISPDIR)
+
+AC_SUBST(sitemoduledir)
+AC_SUBST(SITEMODULEDIR_USER_DEFINED)
+SITEMODULEDIR=$sitemoduledir
+while true; do
+ case "$SITEMODULEDIR" in
+ *\$* ) eval "SITEMODULEDIR=$SITEMODULEDIR" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(SITEMODULEDIR)
+
+AC_SUBST(etcdir,$with_etcdir)
+AC_SUBST(ETCDIR_USER_DEFINED)
+ETCDIR=$with_etcdir
+while true; do
+ case "$ETCDIR" in
+ *\$* ) eval "ETCDIR=$ETCDIR" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(ETCDIR)
+
+AC_SUBST(archlibdir,$with_archlibdir)
+AC_SUBST(ARCHLIBDIR_USER_DEFINED)
+ARCHLIBDIR=$with_archlibdir
+while true; do
+ case "$ARCHLIBDIR" in
+ *\$* ) eval "ARCHLIBDIR=$ARCHLIBDIR" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(ARCHLIBDIR)
+
+AC_SUBST(docdir,$with_docdir)
+AC_SUBST(DOCDIR_USER_DEFINED)
+DOCDIR=$with_docdir
+while true; do
+ case "$DOCDIR" in
+ *\$* ) eval "DOCDIR=$DOCDIR" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(DOCDIR)
+
+AC_SUBST(docdir)
+AC_SUBST(bitmapdir)
+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 (required for ellcc)
+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(CFLAGS)
+AC_SUBST(CPPFLAGS)
+AC_SUBST(LDFLAGS)
+RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)'
LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'"
+AC_SUBST(RECURSIVE_MAKE_ARGS)
+
+AC_SUBST(native_sound_lib,$with_native_sound_lib)
+AC_SUBST(sound_cflags)
+AC_SUBST(RANLIB)
+AC_SUBST(dynodump_arch)
+
+AC_SUBST(XEMACS_CC)
+AC_SUBST(XE_CFLAGS)
+
+dnl The default is yes
+if test "$with_prefix" = "yes"; then
+ AC_DEFINE(PREFIX_USER_DEFINED)
+fi
+
+dnl The default is no
+if test "$with_site_lisp" = "no"; then
+ AC_DEFINE(INHIBIT_SITE_LISP)
+fi
+dnl The default is yes
+if test "$with_site_modules" = "no"; then
+ AC_DEFINE(INHIBIT_SITE_MODULES)
+fi
+
+XE_SPACE(ac_configure_args, $ac_configure_args)
+AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$ac_cv_build")
+AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "$ac_configure_args")
+
+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
+dnl at the point where the autodetection occurs or would occur,
+dnl so that the user gets immediate feedback on the results of the
+dnl autodetection.
+
+if test "$GNU_MALLOC" = "yes"; then AC_DEFINE(GNU_MALLOC)
+elif test "$with_system_malloc" = "yes"; then
AC_DEFINE(USE_SYSTEM_MALLOC)
+elif test "$with_debug_malloc" = "yes"; then
AC_DEFINE(USE_DEBUG_MALLOC)
+ AC_DEFINE(USE_SYSTEM_MALLOC)
+fi
+test "$GCC" = "yes" && AC_DEFINE(USE_GCC)
+test "$enable_external_widget" = "yes" &&
AC_DEFINE(EXTERNAL_WIDGET)
+test "$enable_kkcc" = "yes" && AC_DEFINE(USE_KKCC)
+test "$enable_quick_build" = "yes" && AC_DEFINE(QUICK_BUILD)
+test "$with_purify" = "yes" && AC_DEFINE(PURIFY)
+test "$with_quantify" = "yes" && AC_DEFINE(QUANTIFY)
+test "$with_pop" = "yes" &&
AC_DEFINE(MAIL_USE_POP)
+test "$with_kerberos" = "yes" && AC_DEFINE(KERBEROS)
+test "$with_hesiod" = "yes" && AC_DEFINE(HESIOD)
+test "$enable_union_type" = "yes" &&
AC_DEFINE(USE_UNION_TYPE)
+test "$enable_pdump" = "yes" && AC_DEFINE(PDUMP)
+test "$with_ipv6_cname" = "yes" &&
AC_DEFINE(IPV6_CANONICALIZE)
+
+
+
+dnl -------------------------------------------------------------------------
+dnl -------------------------------
+dnl Report on what we decided to do
+dnl -------------------------------
+
+dnl #### We should tag this as the _build_ environment.
+dnl Before doing that, though, must check if tools care about line 1.
+
+(
+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 $ac_configure_args"
+) > Installation
+
+if test ! -z ${emacs_beta_version} ; then
+ if test -z "${emacs_is_beta}" ; then
+ xemacs_betaname=".${emacs_beta_version}"
+ else
+ xemacs_betaname="-b${emacs_beta_version}"
+ fi
+else
+ xemacs_betaname=""
+fi
+
+dnl Start stdout redirection to '| tee -a Installation'
+(
+echo "
+
+XEmacs ${emacs_major_version}.${emacs_minor_version}${xemacs_betaname}
\"$xemacs_codename\" $xemacs_extra_name configured for \`$ac_cv_build'.
+"
+echo "
+Compilation Environment and Installation Defaults:"
+echo " Source code location: $srcdir"
+echo " Installation prefix: $prefix"
+if test -n "$with_site_includes"; then
+ echo " Additional header files: $with_site_includes"
+fi
+if test -n "$with_site_libraries"; then
+ echo " Additional libraries: $with_site_libraries"
+fi
+if test -n "$with_site_prefixes"; then
+ echo " Additional prefixes: $with_site_prefixes"
+fi
+if test -n "$runpath"; then
+ echo " Runtime library search path: $runpath"
+fi
+
+if test -n "$opsysfile"
+then echo " Operating system description file: \`$opsysfile'"
+else echo " Not using any operating system description file"
+fi
+if test -n "$machfile"
+then echo " Machine description file: \`$machfile'"
+else echo " Not using any machine description file"
+fi
+
+echo " Compiler version: $compiler_version"
+if test -n "$gcc_compiler_specs"; then
+ echo " - GCC specs file: $gcc_compiler_specs"
+fi
+echo " - Compiler command: $XEMACS_CC $XE_CFLAGS"
+if test "$CC" != "$XEMACS_CC"; then
+ echo " Compiler version for lib-src: (detection code unimplemented)"
+ echo " - Compiler command for lib-src: $CC $CFLAGS"
+ if test "$xemacs_cc_cc_mismatch" = "yes"; then
+ echo " WARNING: CC and XEMACS_CC mismatched; check CFLAGS carefully."
+ fi
+fi
+echo " libc version: $libc_version"
+echo " Relocating allocator for buffers: $with_rel_alloc"
+echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}"
+case "$ld_switch_site" in
+ *nocombreloc*) echo " Linking with \`-z nocombreloc'.
+ - Consider configuring with --enable-pdump." ;;
+esac
+
+echo "
+Window System:"
+if test "$with_msw" = "yes"; then
+ echo " Compiling in support for the Microsoft window system."
+fi
+if test "$with_x11" = "yes"; then
+ echo " Compiling in support for the X window system:"
+ echo " - X Windows headers location: $x_includes"
+ echo " - X Windows libraries location: $x_libraries"
+ if test "$with_xauth" != yes; then
+ echo " - Xau (X authority) not available."
+ fi
+ if test "$with_xmu" != yes; then
+ echo " - Xmu library not available; substituting equivalent routines."
+ fi
+ if test "$with_wmcommand" != no; then
+ echo " - Handling WM_COMMAND properly."
+ fi
+fi
+if test "$need_athena" = "yes"; then
+ echo " Compiling in support for the Athena widget set:"
+ echo " - Athena headers location: $athena_h_path"
+ echo " - Athena library to link: $athena_lib"
+fi
+case "$enable_menubars" in
+ gtk ) echo " Using GTK menubars." ;;
+ lucid ) echo " Using Lucid menubars." ;;
+ motif ) echo " Using Motif menubars."
+ echo " *WARNING* The Motif menubar implementation is currently
buggy."
+ echo " We recommend using the Lucid menubar instead."
+ echo " Re-run configure with
--enable-menubars='lucid'." ;;
+ msw ) echo " Using MS-Windows menubars." ;;
+esac
+case "$enable_scrollbars" in
+ gtk ) echo " Using GTK scrollbars." ;;
+ lucid ) echo " Using Lucid scrollbars." ;;
+ motif ) echo " Using Motif scrollbars." ;;
+ athena ) echo " Using Athena scrollbars." ;;
+ msw ) echo " Using MS-Windows scrollbars." ;;
+esac
+case "$enable_dialogs" in
+ gtk ) echo " Using GTK dialog boxes." ;;
+ motif ) echo " Using Motif dialog boxes."
+ if test "$unexec" = "unexaix.o"; then if test "`uname
-v`" = 4 -a "`uname -r`" -ge 3; then
+ echo " *WARNING* The Motif dialog boxes cause problems on AIX 4.3 and
higher."
+ echo " We recommend using the Athena dialog boxes
instead."
+ echo " Install libXaw and re-run configure with
--enable-dialogs='athena'."
+ echo " Read the PROBLEMS file for more information."
+ fi; fi ;;
+ athena ) echo " Using Athena dialog boxes." ;;
+ msw ) echo " Using MS-Windows dialog boxes." ;;
+esac
+case "$enable_widgets" in
+ gtk ) echo " Using GTK native widgets." ;;
+ motif ) echo " Using Motif native widgets." ;;
+ athena ) echo " Using Athena native widgets." ;;
+ msw ) echo " Using MS-Windows native widgets." ;;
+esac
+if test "$with_dragndrop" = yes; then
+ echo " Compiling in support for Drag'n'Drop (EXPERIMENTAL)."
+ echo " - Drag'n'Drop prototype:
$dragndrop_proto."
+fi
+
+echo "
+TTY:"
+test "$with_ncurses" = yes && echo " Compiling in support for
ncurses."
+test "$with_gpm" = yes && echo " Compiling in support for GPM
(General Purpose Mouse)."
+
+echo "
+Images:"
+test "$with_gif" = yes && echo " Compiling in support for GIF
images (builtin)."
+if test "$with_xpm" = yes; then
+ echo " Compiling in support for XPM images."
+elif test "$with_x11" = yes; then
+ echo " WARNING:
-----------------------------------------------------------"
+ echo " WARNING: Compiling without XPM image support."
+ if test "$xpm_problem" != ""; then
+ echo " Reason: $xpm_problem"
+ fi
+ echo " WARNING: You should strongly consider installing XPM."
+ echo " WARNING: Otherwise toolbars and other graphics will look
suboptimal."
+ echo " WARNING: (a copy may be found in
ftp://ftp.xemacs.org/pub/xemacs/aux)"
+ echo " WARNING:
-----------------------------------------------------------"
+fi
+if test "$with_png" = yes; then
+ echo " Compiling in support for PNG images."
+elif test "$window_system" != "none"; then
+ echo " WARNING:
-----------------------------------------------------------"
+ echo " WARNING: Compiling without PNG image support."
+ if test "$png_problem" != ""; then
+ echo " Reason: $png_problem"
+ fi
+ echo " WARNING: You should strongly consider installing the PNG libraries."
+ echo " WARNING: Otherwise certain images and glyphs may not display."
+ echo " WARNING: (a copy may be found in
ftp://ftp.xemacs.org/pub/xemacs/aux)"
+ echo " WARNING:
-----------------------------------------------------------"
+fi
+test "$with_jpeg" = yes && echo " Compiling in support for JPEG
images."
+test "$with_tiff" = yes && echo " Compiling in support for TIFF
images."
+test "$with_xface" = yes && echo " Compiling in support for
X-Face message headers."
+
+echo "
+Sound:"
+test "$with_native_sound" = yes && echo " Compiling in support
for sound (native)."
+test "$with_nas_sound" = yes && echo " Compiling in support for
NAS (network audio system)."
+test "$old_nas" = yes && echo " - NAS library lacks error
trapping; will play synchronously."
+test "$with_esd_sound" = yes && echo " Compiling in support for
ESD (Enlightened Sound Daemon)."
+
+echo "
+Databases:"
+test "$with_database_berkdb" = yes && echo " Compiling in support
for Berkeley database."
+test "$with_database_dbm" = yes && echo " Compiling in support
for DBM."
+test "$with_database_gdbm" = yes && echo " Compiling in support
for GNU DBM."
+test "$with_ldap" = yes && echo " Compiling in support for
LDAP."
+if test "$with_postgresql" = yes; then
+ echo " Compiling in support for PostgreSQL."
+ echo " - Using PostgreSQL header file: $libpq_fe_h_file"
+ test "$with_postgresqlv7" = yes && echo " - Using PostgreSQL
V7 bindings."
+fi
+
+echo "
+Internationalization:"
+test "$enable_mule" = yes && echo " Compiling in support for Mule
(multi-lingual Emacs)."
+test "$with_xim" != no && echo " Compiling in support for XIM
(X11R5+ I18N input method)."
+test "$with_xim" = motif && echo " - Using Motif to provide XIM
support."
+test "$with_xim" = xlib && echo " - Using raw Xlib to provide
XIM support."
+test "$with_xfs" = yes && echo " - Using XFontSet to provide
bilingual menubar."
+test "$with_canna" = yes && echo " Compiling in support for Canna
on Mule."
+if test "$with_wnn" = yes; then
+ echo " Compiling in support for the WNN input method on Mule."
+ test "$with_wnn6" = yes && echo " - Using WNN version
6."
+fi
+
+echo "
+Mail:"
+test "$with_pop" = yes && echo " Compiling in support for POP
mail retrieval."
+test "$with_kerberos" = yes && echo " Compiling in support for
Kerberos POP authentication."
+test "$with_hesiod" = yes && echo " Compiling in support for
Hesiod POP server access."
+test -n "$with_mail_locking" && echo " Compiling in support for
\"$with_mail_locking\" mail spool file locking method."
+
+echo "
+Other Features:"
+test "$with_ipv6_cname" = no && echo " Inhibiting IPv6
canonicalization at startup."
+test "$with_tooltalk" = yes && echo " Compiling in support for
ToolTalk."
+test "$with_workshop" = yes && echo " Compiling in support for
Sun WorkShop."
+test "$with_socks" = yes && echo " Compiling in support for
SOCKS."
+test "$with_dnet" = yes && echo " Compiling in support for
DNET."
+test "$enable_modules" = "yes" && echo " Compiling in
support for dynamic shared object modules."
+test "$enable_bignum" = "gmp" && echo " Compiling in
support for more number types using the GNU MP library."
+test "$enable_bignum" = "mp" && echo " Compiling in
support for more number types using the BSD MP library."
+if test "$enable_union_type" = yes ; then
+ echo " Using the union type for Lisp_Objects."
+ echo " WARNING: ---------------------------------------------------------"
+ echo " WARNING: This tends to trigger compiler bugs, especially when"
+ echo " WARNING: combined with MULE and ERROR_CHECKING. Crashes have"
+ echo " WARNING: been seen with various versions of GCC (up to about 2.95),"
+ echo " WARNING: and recently with Visual C++ as well (mid-2003)."
+ echo " WARNING: More recent versions may be safer, or not."
+ echo " WARNING: ---------------------------------------------------------"
+fi
+test "$enable_kkcc" = yes && echo " Using the new GC
algorithms."
+test "$enable_pdump" = yes && echo " Using the new portable
dumper."
+test "$enable_debug" = yes && echo " Compiling in support for
extra debugging code."
+test "$usage_tracking" = yes && echo " Compiling in support for
active usage tracking (Sun internal)."
+if test "$error_check_extents $error_check_types $error_check_text $error_check_gc
$error_check_malloc $error_check_glyphs $error_check_byte_code $error_check_display
$error_check_structures" \
+ != "no no no no no no no no no"; then
+ echo " Compiling in support for runtime error checking."
+ echo " WARNING: ---------------------------------------------------------"
+ echo " WARNING: XEmacs will run noticeably more slowly as a result."
+ echo " WARNING: Error checking is on by default for XEmacs beta releases."
+ echo " WARNING: ---------------------------------------------------------"
+fi
+echo ""
+) | tee -a Installation
+dnl echo "The above configure report is appended to \"Installation\"
file."
+echo ""
+
+dnl -----------------------------------
+dnl Now generate config.h and Makefiles
+dnl -----------------------------------
+AC_CONFIG_HEADER(src/config.h lwlib/config.h)
+
+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 -e 's:^ ::' -e
's,\([[^/]]\)/*$,\1,'`
+test -n "$exec_prefix" &&
+ exec_prefix=`echo '' "$exec_prefix" | sed -e 's:^ ::' -e
's,\([[^/]]\)/*$,\1,'`
+
+dnl Build Makefile.in's from Makefile.in.in's
+dnl except ./Makefile from $srcdir/Makefile.in
+dnl src/Makefile.in will have src/depend appended to it;
+dnl module Makefiles will have the common text in
+dnl modules/common/Makefile.common appended.
+
+for file in $internal_makefile_list; do
+ case $file in
+ src/Makefile.in ) file="src/Makefile.in:src/Makefile.in.in:src/depend" ;;
+ modules/* ) file="${file}:${file}.in:modules/common/Makefile.common" ;;
+ esac
+ AC_CONFIG_FILES($file)
+done
+AC_CONFIG_FILES(src/paths.h src/xemacs.def.in lib-src/config.values)
+test "$enable_modules" = "yes" &&
AC_CONFIG_FILES(lib-src/ellcc.h)
+
+
+dnl Normally []'s are used for quoting but this will cause problems
+dnl since we use brackets in sed. When not inside of a macro definition,
+dnl two brackets become one, but inside of a macro definition you need
+dnl more, or something -- I don't understand, but Martin probably does.
+dnl We put the brackets back later.
+dnl [ben]
+
+dnl MAKE_JUNK_C(filename):
+dnl Copy a .in file to junk.c in preparation for passing through the
+dnl C preprocessor. Delete comment lines, pass lines that will be
+dnl interpreted by cpp through directly, and put quotes around remaining
+dnl lines, to avoid problems from overly helpful preprocessors that
+dnl "helpfully" put extra quotes in various places for later use by the
+dnl compiler. Later, the quotes will be removed.
+
+m4_define([MAKE_JUNK_C],
+[ rm -f junk.c
+ < $1 \
+ sed -e '/^# Generated/d' \
+ -e 's%/\*\*/#.*%%' \
+ -e 's/^ *# */#/' \
+dnl Delete Makefile.in.in comment lines
+ -e '/^##/d' \
+dnl Pass through CPP directives unchanged
+ -e '/^#/ {
+p
+d
+}' \
+dnl Quote other lines to protect from CPP substitution
+ -e '/./ {
+s/\([[\"]]\)/\\\1/g
+s/^/"/
+s/$/"/
+}' > junk.c;
+])dnl MAKE_JUNK_C
+
+dnl CPP_MAKEFILE(CPPFLAGS,filename):
+dnl Pass junk.c through the preprocessor and put the result in FILENAME.
+
+m4_define([CPP_MAKEFILE],
+[echo creating $dir/$2
+$CPP -I. -I${srcdir}/src $1 junk.c \
+dnl Delete line directives inserted by $CPP
+ | sed -e 's/^\#.*//' \
+dnl Delete spurious blanks inserted by $CPP
+ -e 's/^[[ TAB]][[ TAB]]*$//'\
+ -e 's/^ /TAB/' \
+dnl Delete blank lines
+ -e '/^[[ ]]*$/d' \
+dnl Restore lines quoted above to original contents.
+ -e '/^\"/ {
+ s/\\\([[\"]]\)/\1/g
+ s/^[[ TAB]]*\"//
+ s/\"[[ TAB]]*$//
+}' > Makefile.new
+ chmod 444 Makefile.new
+ mv -f Makefile.new $2
+])dnl CPP_MAKEFILE
+
+AC_CONFIG_COMMANDS([default],
+[for dir in . $MAKE_SUBDIR; do
+ (
+ cd $dir
+
+dnl Create a GNUmakefile and Makefile from Makefile.in.
+dnl Create xemacs.def from xemacs.def.in in the same fashion,
+dnl if it exists (i.e. in the src/ directory).
+ MAKE_JUNK_C(Makefile.in)
+ CPP_MAKEFILE(,Makefile)
+ CPP_MAKEFILE(-DUSE_GNU_MAKE,GNUmakefile)
+ if test -r "xemacs.def.in"; then
+dnl #### We should be using MAKE_JUNK_C instead of the next two lines.
+dnl #### But the comments in xemacs.def.in need to be converted from C-style
+dnl #### to lines beginning with ##.
+ rm -f junk.c
+ cp xemacs.def.in junk.c
+ CPP_MAKEFILE(,xemacs.def)
+ fi
+ rm -f junk.c
+ )
+done
+
+dnl Append AC_DEFINE information to lib-src/config.values
+dnl (AC_SUBST information is already there (see config.values.sh).
+sed < config.status >> lib-src/config.values \
+ -e '/{ac_dA}.*{ac_dB}.*{ac_dC}.*{ac_dD}$/!d' \
+ -e 's/\${ac_dA}\(.*\)\${ac_dB}.*\${ac_dC}\(.*\)\${ac_dD}/\1 \2/' \
+ -e 's/^\([[^ ]]*\) $/\1 ""/' \
+ -e 's/ 1$/ t/'
+
+],
+[CPP="$CPP"
+ MAKE_SUBDIR="$MAKE_SUBDIR"
+])dnl
+
+AC_OUTPUT()dnl
+
Index: lib-src/config.values.sh
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lib-src/config.values.sh,v
retrieving revision 1.3
diff -u -r1.3 config.values.sh
--- lib-src/config.values.sh 2001/05/17 13:44:34 1.3
+++ lib-src/config.values.sh 2005/01/04 00:07:19
@@ -80,7 +80,7 @@
my %done;
for my $var (sort { $a cmp $b }
$configure_contents =~
- /^s\%\@([A-Za-z0-9_]+)\@\%\$[A-Za-z0-9_]+\%g/mg) {
+ /^s\,\@([A-Za-z0-9_]+)\@\,\$[A-Za-z0-9_]+\,;t t/mg) {
$new_cvi_contents .= "$var \"\@$var\@\"\n" unless exists
$done{$var};
$done{$var} = 1;
}
Index: src/config.h.in
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/config.h.in,v
retrieving revision 1.95
diff -u -r1.95 config.h.in
--- src/config.h.in 2004/11/04 23:06:17 1.95
+++ src/config.h.in 2005/01/04 00:07:23
@@ -322,7 +322,7 @@
#undef HAVE_LIBRESOLV
/* Is `sys_siglist' declared by <signal.h>? */
-#undef SYS_SIGLIST_DECLARED
+#undef HAVE_DECL_SYS_SIGLIST
/* Is `struct timeval' declared by <sys/time.h>? */
#undef HAVE_TIMEVAL
@@ -417,22 +417,38 @@
#undef HAVE_SIGSETJMP
/* Many flavors of PTY support */
-#undef HAVE_GETPT /* glibc's easy pty allocation function */
-#undef HAVE__GETPTY /* SGI's easy pty allocation function */
-#undef HAVE_OPENPTY /* BSD's easy pty allocation function */
-#undef HAVE_GRANTPT /* Unix98 */
-#undef HAVE_UNLOCKPT /* Unix98 */
-#undef HAVE_PTSNAME /* Unix98 */
-#undef HAVE_KILLPG /* BSD */
-#undef HAVE_TCGETPGRP /* Posix 1 */
-#undef HAVE_ISASTREAM /* SysV streams */
-#undef HAVE_SYS_PTY_H /* AIX */
-#undef HAVE_SYS_PTYIO_H /* HP-UX */
-#undef HAVE_PTY_H /* Linux, Tru64 */
-#undef HAVE_LIBUTIL_H /* BSD openpty */
-#undef HAVE_UTIL_H /* NetBSD openpty */
-#undef HAVE_STROPTS_H /* SysV streams */
-#undef HAVE_STRTIO_H /* SysV streams TIOCSIGNAL */
+/* glibc's easy pty allocation function */
+#undef HAVE_GETPT
+/* SGI's easy pty allocation function */
+#undef HAVE__GETPTY
+/* BSD's easy pty allocation function */
+#undef HAVE_OPENPTY
+/* Unix98 */
+#undef HAVE_GRANTPT
+/* Unix98 */
+#undef HAVE_UNLOCKPT
+/* Unix98 */
+#undef HAVE_PTSNAME
+/* BSD */
+#undef HAVE_KILLPG
+/* Posix 1 */
+#undef HAVE_TCGETPGRP
+/* SysV streams */
+#undef HAVE_ISASTREAM
+/* AIX */
+#undef HAVE_SYS_PTY_H
+/* HP-UX */
+#undef HAVE_SYS_PTYIO_H
+/* Linux, Tru64 */
+#undef HAVE_PTY_H
+/* BSD openpty */
+#undef HAVE_LIBUTIL_H
+/* NetBSD openpty */
+#undef HAVE_UTIL_H
+/* SysV streams */
+#undef HAVE_STROPTS_H
+/* SysV streams TIOCSIGNAL */
+#undef HAVE_STRTIO_H
#undef HAVE_SOCKETS
#undef HAVE_SOCKADDR_SUN_LEN
@@ -509,7 +525,8 @@
/* Do we have PostgreSQL RDBMS support? */
#undef HAVE_POSTGRESQL
#undef HAVE_POSTGRESQLV7
-#undef LIBPQ_FE_H_FILE /* main PostgreSQL header file */
+/* main PostgreSQL header file */
+#undef LIBPQ_FE_H_FILE
/* Do you have the Xauth library present? This will add some extra
functionality to gnuserv. */
Index: src/syssignal.h
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/syssignal.h,v
retrieving revision 1.15
diff -u -r1.15 syssignal.h
--- src/syssignal.h 2004/09/20 19:20:02 1.15
+++ src/syssignal.h 2005/01/04 00:07:25
@@ -267,10 +267,10 @@
# endif
#endif
-/* SYS_SIGLIST_DECLARED is determined by configure. On Linux, it seems,
+/* HAVE_DECL_SYS_SIGLIST is determined by configure. On Linux, it seems,
configure incorrectly fails to find it, so s/linux.h defines
HAVE_SYS_SIGLIST. */
-#if !defined (SYS_SIGLIST_DECLARED) && !defined (HAVE_SYS_SIGLIST)
+#if !defined (HAVE_DECL_SYS_SIGLIST) && !defined (HAVE_SYS_SIGLIST)
extern const char *sys_siglist[];
#endif
--
Malcolm Purvis <malcolmpurvis(a)optushome.com.au>
Q: Why did the chicken cross the Mobius strip?
A: To get to the other... uh... err...