#### Copyright (C) 1993-1995 Board of Trustees, University of Illinois.
#### Copyright (C) 1996, 1997 Sun Microsystems, Inc.
#### Copyright (C) 1995, 1996 Ben Wing.
+#### Copyright (C) 1998, 1999 J. Kean Johnston.
### 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.12 or later.
+### in the this directory. You must have autoconf version 2.13 or later.
### This file is part of XEmacs.
dnl We use the m4 quoting characters [ ] (as established by the
dnl autoconf system), so quote them like this: [[foo]]
-AC_PREREQ(2.12)dnl
+AC_PREREQ(2.13)dnl
dnl Redefine some standard autoconf macros
dnl here is how XEmacs is different:
dnl - no cache file
[[$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_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 Initialize some variables set by options.
dnl The variables have the same names as the options, with
dnl Initialize some other variables.
subdirs=
MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
dnl Maximum number of lines to put in a shell here document.
ac_max_here_lines=12
])dnl AC_INIT_PARSE_ARGS
XE_APPEND(lib-src, MAKE_SUBDIR)
XE_APPEND(lib-src, INSTALL_ARCH_DEP_SUBDIR)
-dnl run_in_place='no'
prefix='/usr/local'
exec_prefix='${prefix}'
bindir='${exec_prefix}/bin'
statedir='${prefix}/lib'
libdir='${exec_prefix}/lib'
mandir='${prefix}/man/man1'
-infodir='${datadir}/${PROGNAME}-${version}/info'
+inststaticdir='${PROGNAME}'
+instvardir='${PROGNAME}-${version}'
+infodir='${datadir}/${instvardir}/info'
infopath=''
install_pp=''
-lispdir='${datadir}/${PROGNAME}-${version}/lisp'
-dnl sitelispdir='${datadir}/xemacs/site-lisp'
-pkgdir='${datadir}/${PROGNAME}-${version}/lisp'
+lispdir='${datadir}/${instvardir}/lisp'
+moduledir='${datadir}/${instvardir}/${configuration}/modules'
+sitelispdir='${datadir}/${inststaticdir}/site-lisp'
+sitemoduledir='${datadir}/${inststaticdir}/site-modules'
+pkgdir='${datadir}/${instvardir}/lisp'
package_path=''
-etcdir='${datadir}/${PROGNAME}-${version}/etc'
-lockdir='${statedir}/${PROGNAME}/lock'
-archlibdir='${libdir}/${PROGNAME}-${version}/${configuration}'
+etcdir='${datadir}/${instvardir}/etc'
+lockdir='${statedir}/${inststaticdir}/lock'
+archlibdir='${datadir}/${instvardir}/${configuration}'
+docdir='${archlibdir}'
+with_prefix='yes'
with_site_lisp='no'
+with_site_modules='yes'
with_menubars=''
with_scrollbars=''
+with_widgets=''
with_dialogs=''
with_file_coding=''
-dnl const_is_losing is removed - we rely on AC_C_CONST instead.
-dnl We accept (and ignore) the --const-is-losing option for compatibility.
-dnl const_is_losing='yes'
-puresize=''
cpp='' cppflags='' libs='' ldflags=''
dynamic=''
with_x11=''
with_tty=""
use_union_type="no"
with_dnet=""
+pdump="no"
+dnl dragndrop is still experimental. When it is stable, comment out the following line:
+with_dragndrop="no"
dnl ------------------
dnl Options Processing
case "$opt" in
dnl Process (many) boolean options
- run_in_place | \
- with_site_lisp | \
+ with_site_lisp | \
+ with_prefix | \
+ with_site_modules | \
with_x | \
with_x11 | \
with_msw | \
with_gcc | \
- with_gnu_make | \
dynamic | \
with_ncurses | \
with_dnet | \
with_jpeg | \
with_png | \
with_tiff | \
- with_session | \
+ with_wmcommand | \
with_xmu | \
+ with_purify | \
with_quantify | \
with_toolbars | \
with_tty | \
with_xfs | \
with_i18n3 | \
with_mule | \
- with_file_coding | \
+ with_file_coding| \
with_canna | \
with_wnn | \
with_wnn6 | \
with_workshop | \
with_sparcworks | \
- with_tooltalk | \
+ with_tooltalk | \
with_ldap | \
+ with_postgresql | \
with_pop | \
with_kerberos | \
with_hesiod | \
external_widget | \
verbose | \
extra_verbose | \
- const_is_losing | \
- usage_tracking | \
- use_union_type | \
+ usage_tracking | \
+ use_union_type | \
+ pdump | \
debug | \
use_assertions | \
- use_minimal_tagbits | \
- use_indexed_lrecord_implementation | \
- gung_ho | \
- use_assertions | \
memory_usage_stats | \
with_clash_detection | \
- with_shlib | \
- no_doc_file )
+ with_modules | \
+ quick_build )
dnl Make sure the value given was either "yes" or "no".
case "$val" in
y | ye | yes ) val=yes ;;
- n | no ) val=no ;;
+ n | no ) val=no ;;
* ) USAGE_ERROR("The \`--$optname' option requires a boolean value: \`yes' or \`no'.") ;;
esac
- eval "$opt=\"$val\"" ;;
+ eval "$opt=\"$val\"" ;;
- dnl Options that take a user-supplied value, as in --puresize=8000000
+ dnl Options that take a user-supplied value, as in --x-includes=/usr/X11R6/include
dnl The cache-file option is ignored (for compatibility with other configures)
srcdir | \
compiler | \
cppflags | \
libs | \
ldflags | \
- puresize | \
cache_file | \
- native_sound_lib | \
+ native_sound_lib| \
site_lisp | \
x_includes | \
x_libraries | \
"with_database" )
with_database_berkdb=no
with_database_dbm=no
- with_database_gnudbm=no
+ with_database_gdbm=no
for x in `echo "$val" | 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 ) with_database_gnudbm=yes ;;
- * ) USAGE_ERROR(["The \`--$optname' option value
+ 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', \`dbm', or \`gnudbm'."]) ;;
+ of one or more of \`berkdb' and either \`dbm' or \`gnudbm'."]) ;;
esac
done
- if test "$with_database_dbm" = "yes" -a \
- "$with_database_gnudbm" = "yes"; then
+ if test "$with_database_dbm" = "yes" -a \
+ "$with_database_gdbm" = "yes"; then
USAGE_ERROR("Only one of \`dbm' and \`gnudbm' may be specified
with the \`--$optname' option.")
fi
dnl Has the user requested sound support?
"with_sound" )
- dnl value can be native, nas or both. yes is allowed
- dnl as a backwards compatible synonym for native
+ dnl values is a subset of all,native,nas,esd
+ dnl or their negatives: none,nonative,nonas,noesd
+ for x in `echo "$val" | 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.
+The default is to autodetect all 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
+ ;;
+
+ dnl Has the user specified a prefered Athena widget set?
+ dnl This bit expands any alias names out for us...
+ "with_athena" )
case "$val" in
- y | ye | yes ) val=native ;;
- n | no | non | none ) val=no;;
- na | nat | nati | nativ | native ) val=native ;;
- ne | net | neta | netau | netaud | netaudi | netaudio | nas ) val=nas ;;
- b | bo | bot | both ) val=both;;
+ 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 \`--$optname' option must have one of these values:
- \`native', \`nas', \`both', or \`none'."]) ;;
+ \`xaw', \`3d', \`next', \`95', or \`xpm'."]) ;;
esac
eval "$opt=\"$val\""
;;
eval "$opt=\"$val\""
;;
- dnl XFontSet support?
- "with_xfs" )
- case "$val" in
- y | ye | yes ) val=yes ;;
- n | no | non | none ) val=no ;;
- * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
- \`yes', or \`no'."]) ;;
- esac
- eval "$opt=\"$val\""
- ;;
-
dnl Mail locking specification
"mail_locking" )
case "$val" in
lockf ) val=lockf ;;
flock ) val=flock ;;
- file ) val=file ;;
+ file | dot ) val=file ;;
+ locking ) val=locking ;;
* ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
- \`lockf', \`flock', or \`file'."]) ;;
+ \`lockf', \`flock', \`file', \`locking', or \`mmdf'."]) ;;
esac
eval "$opt=\"$val\""
;;
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 ;;
+
* ) 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', \`notypecheck', \`nobufpos', \`nogc', and \`nomalloc'."
+ types="\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', \`nomalloc', \`noglyphs' and \`nobyte-code'."
else
- types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', and \`malloc'."
+ types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', \`malloc', \`glyphs' and \`byte-code'."
fi
USAGE_ERROR(["Valid types for the \`--$optname' option are:
$types."])
error_check_bufpos=$new_default
error_check_gc=$new_default
error_check_malloc=$new_default
+ error_check_byte_code=$new_default
+ error_check_glyphs=$new_default
new_default= # reset this
fi
echeck_notfirst=true
dnl Has the user specified one of the path options?
prefix | exec_prefix | bindir | datadir | statedir | libdir | \
mandir | infodir | infopath | lispdir | etcdir | lockdir | pkgdir | \
- archlibdir | docdir | package_path )
+ archlibdir | docdir | package_path )
dnl If the value was omitted, get it from the next argument.
if test "$valomitted" = "yes"; then
if test "$#" = 0; then
dnl You need to synchronize this with the way the
dnl default values are built.
case "$opt" in
+ dnl prefix is taken care of by --with-prefix
+ exec_prefix ) AC_DEFINE(EXEC_PREFIX_USER_DEFINED) ;;
lispdir ) AC_DEFINE(LISPDIR_USER_DEFINED) ;;
-dnl sitelispdir ) AC_DEFINE(SITELISPDIR_USER_DEFINED) ;;
+ sitelispdir ) AC_DEFINE(SITELISPDIR_USER_DEFINED) ;;
+ moduledir ) AC_DEFINE(MODULEDIR_USER_DEFINED) ;;
etcdir ) AC_DEFINE(ETCDIR_USER_DEFINED) ;;
infodir ) AC_DEFINE(INFODIR_USER_DEFINED) ;;
infopath ) AC_DEFINE(INFOPATH_USER_DEFINED) ;;
datadir )
AC_DEFINE(INFODIR_USER_DEFINED)
AC_DEFINE(LISPDIR_USER_DEFINED)
+ AC_DEFINE(MODULEDIR_USER_DEFINED)
AC_DEFINE(ETCDIR_USER_DEFINED) ;;
statedir | lockdir ) AC_DEFINE(LOCKDIR_USER_DEFINED) ;;
+ docdir ) AC_DEFINE(DOCDIR_USER_DEFINED) ;;
exec_prefix | libdir | archlibdir ) AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;;
esac
;;
dnl Has the user asked for some help?
"usage" | "help" ) ${PAGER-more} ${srcdir}/configure.usage; exit 0 ;;
- dnl Has the user specified what toolkit to use for the menubars,
- dnl scrollbar or dialogs?
- "with_menubars" | "with_scrollbars" | "with_dialogs" )
+ dnl Has the user specified the toolkit(s) to use for GUI elements?
+ "with_menubars" | \
+ "with_scrollbars" | \
+ "with_dialogs" | \
+ "with_widgets" )
case "$val" in
l | lu | luc | luci | lucid ) val=lucid ;;
m | mo | mot | moti | motif ) val=motif ;;
- athena3d | athena-3d ) val=athena3d ;;
a | at | ath | athe | athen | athena ) val=athena ;;
n | no | non | none ) val=no ;;
* ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
- \`lucid', \`motif', \`athena', \`athena3d', or \`no'."]) ;;
+ \`lucid', \`motif', \`athena', or \`no'."]) ;;
esac
eval "$opt=\"$val\""
;;
- dnl Fail on unrecognized arguments.
+ dnl Obsolete legacy argument? Warn, but otherwise ignore.
+ "use_minimal_tagbits" | \
+ "use_indexed_lrecord_implementation" | \
+ "run_in_place" | \
+ "const_is_losing" | \
+ "with_gnu_make" )
+ AC_MSG_WARN([Obsolete option \`--$optname' ignored.])
+ ;;
+
+ dnl Unrecognized option? No mercy for user errors.
* ) USAGE_ERROR("Unrecognized option: $arg") ;;
esac
dnl Assume anything with multiple hyphens is a configuration name.
*-*-*) configuration="$arg" ;;
- dnl Anything else is an error
+ dnl Unrecognized argument? No mercy for user errors.
*) USAGE_ERROR("Unrecognized argument: $arg") ;;
esac
dnl --extra-verbose implies --verbose
test "$extra_verbose" = "yes" && verbose=yes
-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
-COLON_TO_SPACE(site_includes)
-COLON_TO_SPACE(site_libraries)
-COLON_TO_SPACE(site_prefixes)
-COLON_TO_SPACE(site_runtime_libraries)
-
dnl with_x is an obsolete synonym for with_x11
test -n "$with_x" && with_x11="$with_x"
-dnl --gung-ho=val is a synonym for
-dnl --use-minimal-tagbits=val --use-indexed-lrecord-implementation=val
-
-if test -n "$gung_ho"; then
- test -z "$use_minimal_tagbits" && use_minimal_tagbits="$gung_ho"
- test -z "$use_indexed_lrecord_implementation" && \
- use_indexed_lrecord_implementation="$gung_ho"
-fi
-if test "$use_minimal_tagbits" = "no"; then
- test "$with_dlmalloc" = "yes" && \
- USAGE_ERROR("--with-dlmalloc requires --use-minimal-tagbits")
- with_dlmalloc=no
+dnl --with-quantify or --with-purify imply --use-system-malloc
+if test "$with_purify" = "yes" -o "$with_quantify" = "yes"; then
+ test "$with_system_malloc" = "default" && with_system_malloc=yes
fi
dnl XE_CHECK_FEATURE_DEPENDENCY(feature1, feature2)
dnl CDE requires tooltalk
XE_CHECK_FEATURE_DEPENDENCY(cde, tooltalk)
-dnl Ignore useless run-in-place flag
-if test "$run_in_place" = "yes"; then
- AC_MSG_WARN("The --run-in-place option is ignored because it is unnecessary.")
-fi
-
dnl Find the source directory.
case "$srcdir" in
dnl ###########################################################################
if test -z "$configuration"; then
- AC_MSG_CHECKING("host system type")
- dnl Guess the configuration and remove 4th name component, if present.
- if configuration=`${CONFIG_SHELL-/bin/sh} $srcdir/config.guess | \
- sed '[s/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/]'` ; then
- AC_MSG_RESULT($configuration)
- else
- AC_MSG_RESULT(unknown)
+ dnl Guess the configuration
+ configuration=`${CONFIG_SHELL-/bin/sh} $srcdir/config.guess`
+ if test -z "$configuration"; then
USAGE_ERROR(["XEmacs has not been ported to this host type.
Try explicitly specifying the CONFIGURATION when rerunning configure."])
fi
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; do
+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 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 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"
+else blddir="$absolute_pwd"; CANONICALIZE_PATH(blddir)
fi
AC_SUBST(blddir)
case "$srcdir" in
/* ) ;;
. ) srcdir="$blddir" ;;
- * ) srcdir="`cd $srcdir && pwd`" ;;
+ * ) srcdir="`cd $srcdir && pwd`"; CANONICALIZE_PATH(srcdir) ;;
esac
dnl Check if the source directory already has a configured system in it.
dnl ----------------------------------------
. "$srcdir/version.sh" || exit 1;
dnl Must do the following first to determine verbosity for AC_DEFINE
-if test -n "$emacs_beta_version"; then beta=yes; else beta=no; fi
+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
- version="${version}-b${emacs_beta_version}"
- AC_DEFINE_UNQUOTED(EMACS_BETA_VERSION, $emacs_beta_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")
AC_DEFINE_UNQUOTED(EMACS_VERSION, "$version")
if test "$with_infodock" = "yes"; then
- if test ! -f ../ID-INSTALL; then
+ if test ! -f ../../ID-INSTALL; then
echo "Cannot build InfoDock without InfoDock sources"
with_infodock=no
fi
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 --debug and --extra-verbosity.
-if test -n "$emacs_beta_version"; then beta=yes; else beta=no; fi
+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_typecheck=$beta}" = yes && AC_DEFINE(ERROR_CHECK_TYPECHECK)
test "${error_check_bufpos=$beta}" = yes && AC_DEFINE(ERROR_CHECK_BUFPOS)
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)
dnl debug=yes must be set when error checking is present. This should be
dnl fixed up.
dnl debug implies other options
if test "${debug:=$beta}" = "yes"; then
use_assertions=yes memory_usage_stats=yes
XE_ADD_OBJS(debug.o)
+ XE_ADD_OBJS(tests.o)
AC_DEFINE(DEBUG_XEMACS)
fi
test "$use_assertions" = "yes" && AC_DEFINE(USE_ASSERTIONS)
dnl names of the m/*.h and s/*.h files we should use.
dnl Canonicalize the configuration name.
-AC_CHECKING("the configuration name")
+AC_MSG_CHECKING("host system type")
dnl allow -workshop suffix on configuration name
internal_configuration=`echo $configuration | sed 's/-\(workshop\)//'`
-if canonical=`$srcdir/config.sub "$internal_configuration"` ; then : ; else
- exit $?
-fi
+canonical=`${CONFIG_SHELL-/bin/sh} $srcdir/config.sub "$internal_configuration"`
+XE_STRIP_4TH_COMPONENT(configuration)
+XE_STRIP_4TH_COMPONENT(canonical)
+AC_MSG_RESULT($configuration)
dnl If you add support for a new configuration, add code to this
dnl switch statement to recognize your configuration name and select
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 ;;
m68*-sony-* ) machine=news ;;
mips-sony-* ) machine=news-risc ;;
clipper-* ) machine=clipper ;;
+ arm* ) machine=arm ;;
+ ns32k-* ) machine=ns32000 ;;
esac
dnl Straightforward OS determination
dnl OpenBSD ports
*-*-openbsd* )
case "${canonical}" in
- alpha*-*-openbsd*) machine=alpha ;;
i386-*-openbsd*) machine=intel386 ;;
m68k-*-openbsd*) machine=hp9000s300 ;;
mipsel-*-openbsd*) machine=pmax ;;
- ns32k-*-openbsd*) machine=ns32000 ;;
- sparc-*-openbsd*) machine=sparc ;;
- vax-*-openbsd*) machine=vax ;;
esac
;;
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 ;;
*-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 ;;
else
NON_GNU_CPP="/lib/cpp -D_XOPEN_SOURCE" ;
fi ;;
+ *-sysv5* ) opsys=sco7 ;;
*-386bsd* ) opsys=386bsd ;;
*-freebsd* ) opsys=freebsd ;;
*-nextstep* ) opsys=nextstep ;;
- *-pc-cygwin32 ) opsys=cygwin32 ;;
+ *-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
;;
if test -z "$dynamic"; then
case "$opsys" in
- hpux* | sunos4* | sco5 ) dynamic=no ;;
+ hpux* | sunos4* ) dynamic=no ;;
*) dynamic=yes ;;
esac
fi
XE_ADD_OBJS(sunpro.o)
fi
-if test "$with_clash_detection" = "yes"; then
+if test "$with_clash_detection" != "no"; then
AC_DEFINE(CLASH_DETECTION)
XE_ADD_OBJS(filelock.o)
fi
AC_PROG_CPP
-AC_AIX
+dnl --------------------------------------------------------------------
+dnl Compiler feature macros
+dnl --------------------------------------------------------------------
+
+AC_AIX dnl Defines _ALL_SOURCE on AIX.
+
+dnl Determine which SMART_INCLUDE macro will work for this system
+cat > $srcdir/conffoo.h <<EOF
+#define CONFFOO 1
+EOF
+AC_MSG_CHECKING(for a working inclusion macro)
+AC_TRY_COMPILE(,[
+#define SMART_INCLUDE(path,file) <path/file>
+#define CONFFOO_H_PATH $srcdir
+#define CONFFOO_INCLUDE(file) SMART_INCLUDE (CONFFOO_H_PATH,file)
+#include CONFFOO_INCLUDE(conffoo.h)
+], [ AC_MSG_RESULT(direct); AC_DEFINE(SMART_INCLUDE_INDIRECTIONS,0) ],
+AC_TRY_COMPILE(,[
+#define GLUE_INCLUDE(path,file) <##path##/##file##>
+#define SMART_INCLUDE(path,file) GLUE_INCLUDE(path,file)
+#define CONFFOO_H_PATH $srcdir
+#define CONFFOO_INCLUDE(file) SMART_INCLUDE(CONFFOO_H_PATH,file)
+#include CONFFOO_INCLUDE(conffoo.h)
+], [ AC_MSG_RESULT(simple); AC_DEFINE(SMART_INCLUDE_INDIRECTIONS,1) ],
+AC_TRY_COMPILE(,[
+#define GLUE_INCLUDE_2(path,file) <##path##/##file##>
+#define GLUE_INCLUDE_1(path,file) GLUE_INCLUDE_2(path,file)
+#define SMART_INCLUDE(path,file) GLUE_INCLUDE_1(path,file)
+#define CONFFOO_H_PATH $srcdir
+#define CONFFOO_INCLUDE(file) SMART_INCLUDE (CONFFOO_H_PATH,file)
+#include CONFFOO_INCLUDE(conffoo.h)
+], [ AC_MSG_RESULT(double); AC_DEFINE(SMART_INCLUDE_INDIRECTIONS,2) ],
+ AC_MSG_ERROR([Cannot define a proper SMART_INCLUDE macro. Please report.]))))
+rm -f $srcdir/conffoo.h
+
+
+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>],[
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 55; then
+ AC_DEFINE(_XOPEN_SOURCE,500)
+ AC_DEFINE(_XOPEN_SOURCE_EXTENDED)
+ fi ;;
+ linux)
+ AC_DEFINE(_POSIX_C_SOURCE,199506L)
+ AC_DEFINE(_XOPEN_SOURCE,500)
+ AC_DEFINE(_XOPEN_SOURCE_EXTENDED)
+ ;;
+esac
dnl Identify compilers to enable compiler-specific hacks.
dnl Add support for other compilers HERE!
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 "\$(CC) \$(CFLAGS)"
+#define LD ORDINARY_LD
#else /* no ORDINARY LINK */
#ifdef COFF_ENCAPSULATE
#define LD "\$(CC) -nostdlib"
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"`
+CPP=`eval "echo $CPP $CPPFLAGS"`
define(TAB, [ ])dnl
changequote(, )dnl
eval `$CPP -Isrc $tempcname \
rm $tempcname
+if test "$pdump" = "yes"; then
+ ordinary_link="yes"
+ ld="${ordinary_ld}"
+ start_files=
+ libs_standard=
+ unexec=
+ lib_gcc=
+fi
+
dnl For debugging...
test "$extra_verbose" = "yes" && \
PRINT_VAR(libs_machine libs_system libs_termcap libs_standard
ld lib_gcc ld_text_start_addr start_files ordinary_link
have_terminfo mail_use_flock mail_use_lockf) && echo ""
+dnl Pick up mingw32 include path
+case "$opsys" in mingw*) mingw_include=`eval "gcc -print-file-name=libc.a"` ;
+ mingw_include=`eval "dirname $mingw_include"` ;
+ mingw_include="-I$mingw_include/../include/mingw32" ;
+ XE_APPEND($mingw_include, c_switch_system) ;;
+esac
+
dnl Non-ordinary link usually requires -lc
test "$ordinary_link" = "no" -a -z "$libs_standard" && libs_standard="-lc"
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 -Wall -Wno-switch"
+ CFLAGS="-g -O3 -Wall -Wno-switch -Wpointer-arith -Winline -Wmissing-prototypes -Wshadow"
dnl I'm not convinced this is a good idea any more. -sb
dnl test "$opsys $machine" = "linux intel386" && \
dnl CFLAGS="$CFLAGS -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2"
- dnl cygwin can't cope with -O3
- test "$opsys $machine" = "cygwin32 intel386" && \
- CFLAGS="-g -O2 -Wall -Wno-switch"
elif test "$__SUNPRO_C" = "yes"; then
case "$opsys" in
sol2 ) CFLAGS="-v -xO4" ;;
fi
fi
+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 "$GCC_VERSION" in
+ 2.7.2)
+ case "$CFLAGS" in
+ *-O2*|*-O3*)
+ 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
+ ;;
+ 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
+fi
+AC_MSG_RESULT(No)
+
dnl Inform compiler that certain flags are meant for the linker
dnl XE_PROTECT_LINKER_FLAGS(shell_var)
define([XE_PROTECT_LINKER_FLAGS], [
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* ) [$1]="$[$1] [$]1" ;;
+ -L | -l | -u ) [$1]="$[$1] [$]1 [$]2"; shift ;;
+ -L* | -l* | -u* | -Wl* | -pg ) [$1]="$[$1] [$]1" ;;
-Xlinker* ) ;;
* ) [$1]="$[$1] -Xlinker [$]1" ;;
esac
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" && XE_ADD_OBJS($unexec)
+test -n "$unexec" && test ! "$pdump" = "yes" && XE_ADD_OBJS($unexec)
+test "$pdump" = "yes" && XE_ADD_OBJS(dumper.o)
dnl Dynodump (Solaris 2.x, x<6)
AC_MSG_CHECKING(for dynodump)
dnl Add site and system specific flags to compile and link commands
dnl ---------------------------------------------------------------
-dnl All dirs present in site-prefixes will be searched for include/ and lib/
-dnl subdirs. This can avoid specifying both site-includes and site-libraries.
-dnl Those dirs will take precedence over the standard places, but not over
-dnl site-includes and site-libraries.
-
-dnl --site-prefixes (multiple dirs)
-if test -n "$site_prefixes"; then
- for arg in $site_prefixes; do
- case "$arg" in
- -* ) ;;
- * ) argi="-I${arg}/include" ; argl="-L${arg}/lib" ;;
- esac
- XE_APPEND($argi, c_switch_site)
- XE_APPEND($argl, ld_switch_site)
- done
-fi
+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 --site-libraries (multiple dirs)
+COLON_TO_SPACE(site_libraries)
if test -n "$site_libraries"; then
for arg in $site_libraries; do
- case "$arg" in -* ) ;; * ) arg="-L${arg}" ;; esac
+ 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 --site-includes (multiple dirs)
+COLON_TO_SPACE(site_includes)
if test -n "$site_includes"; then
for arg in $site_includes; do
- case "$arg" in -* ) ;; * ) arg="-I${arg}" ;; esac
+ 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 --site-prefixes (multiple dirs)
+dnl --site-prefixes=dir1:dir2 is a convenient shorthand for
+dnl --site-libraries=dir1/lib:dir2/lib --site-includes=dir1/include:dir2/include
+dnl Site prefixes take precedence over the standard places, but not over
+dnl site-includes and site-libraries.
+COLON_TO_SPACE(site_prefixes)
+if test -n "$site_prefixes"; then
+ for dir in $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 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_site)
+ test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_system)
done
dnl --site-runtime-libraries (multiple dirs)
+COLON_TO_SPACE(site_runtime_libraries)
if test -n "$site_runtime_libraries"; then
LD_RUN_PATH="`echo $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 out 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 "$dynamic" = "no"; then add_runtime_path=no
+if test -n "$add_runtime_path"; then :;
+elif test "$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 ;;
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* ) dash_r = "-rpath " ;;
+ sol2 ) dash_r="-R" ;;
+ decosf* | linux* | irix*) dash_r="-rpath " ;;
*)
dash_r=""
for try_dash_r in "-R" "-R " "-rpath "; do
])dnl
XE_COMPUTE_RUNPATH()
+dnl JKJ REMOVEME
+dnl XE_SHLIB_STUFF
+
dnl -----------------------------------
dnl Do some misc autoconf-special tests
dnl -----------------------------------
if test "$system_malloc" = "yes" ; then
GNU_MALLOC=no
GNU_MALLOC_reason="
- (The GNU allocators don't work with this system configuration)."
+ - 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)."
+ - 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)."
+ - User chose to use Debugging Malloc."
fi
if test "$doug_lea_malloc" = "yes" ; then
if test "$GNU_MALLOC" = yes ; then
GNU_MALLOC_reason="
- (Using Doug Lea's new malloc from the GNU C Library.)"
+ - Using Doug Lea's new malloc from the GNU C Library."
fi
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.)"
+ - Using Doug Lea's new malloc from the Linux C Library."
AC_DEFINE(_NO_MALLOC_WARNING_)
fi
use_minimal_tagbits=yes
AC_PROG_YACC
dnl checks for header files
-AC_CHECK_HEADERS(mach/mach.h sys/stropts.h sys/timeb.h sys/time.h unistd.h)
-AC_CHECK_HEADERS(utime.h locale.h libgen.h fcntl.h ulimit.h cygwin32/version.h)
-AC_CHECK_HEADERS(linux/version.h kstat.h sys/pstat.h inttypes.h sys/un.h a.out.h)
+AC_CHECK_HEADERS(dnl
+ a.out.h dnl
+ cygwin/version.h dnl
+ fcntl.h dnl
+ inttypes.h dnl
+ libgen.h dnl
+ locale.h dnl
+ mach/mach.h dnl
+ sys/param.h dnl
+ sys/pstat.h dnl
+ sys/stropts.h dnl
+ sys/time.h dnl
+ sys/timeb.h dnl
+ sys/un.h dnl
+ kstat.h dnl
+ ulimit.h dnl
+ unistd.h dnl
+ utime.h dnl
+)
AC_HEADER_SYS_WAIT
AC_HEADER_STDC
AC_HEADER_TIME
AC_TYPE_UID_T
AC_TYPE_MODE_T
AC_TYPE_OFF_T
+AC_CHECK_TYPE(ssize_t, int)
AC_MSG_CHECKING(for struct timeval)
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
AC_SYS_LONG_FILE_NAMES
dnl -lm is required by LISP_FLOAT_TYPE, among other things
-AC_CHECK_LIB(m, sin)
+AC_CHECK_FUNC(sin, ,AC_CHECK_LIB(m, sin))
dnl Floating operation support is now unconditional
AC_DEFINE(LISP_FLOAT_TYPE)
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 "$mail_locking" -a "$mail_use_flock" = "yes" && mail_locking=flock
test -z "$mail_locking" -a "$mail_use_lockf" = "yes" && mail_locking=lockf
-if test "$mail_locking" = "lockf"; then AC_DEFINE(REAL_MAIL_USE_LOCKF)
-elif test "$mail_locking" = "flock"; then AC_DEFINE(REAL_MAIL_USE_FLOCK)
-else mail_locking="dot-locking"
+test -z "$mail_locking" -a "$mail_use_locking" = "yes" && mail_locking=locking
+if test "$mail_locking" = "lockf"; then AC_DEFINE(MAIL_LOCK_LOCKF)
+elif test "$mail_locking" = "flock"; then AC_DEFINE(MAIL_LOCK_FLOCK)
+elif test "$mail_locking" = "locking"; then AC_DEFINE(MAIL_LOCK_LOCKING)
+else mail_locking="dot-locking"; AC_DEFINE(MAIL_LOCK_DOT)
fi
-
-dnl Used by getloadavg() - does not require root priveleges
-AC_CHECK_LIB(kstat, kstat_open)
-
-dnl Another way to get the load average
-AC_CHECK_LIB(kvm, kvm_read)
+test "$mail_locking" = "lockf" -a "$ac_cv_func_lockf" != "yes" && \
+ XE_DIE("lockf mail locking requested but not available.")
+test "$mail_locking" = "flock" -a "$ac_cv_func_flock" != "yes" && \
+ XE_DIE("flock mail locking requested but not available.")
+test "$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)
fi
dnl Link with "-z ignore" on Solaris if supported
-if test "$opsys" = "sol2" && test "$OS_RELEASE" -ge 56; 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
+if test "$opsys" = "sol2"; then
+ if test "$os_release" -ge 56; 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 ----------------------
AC_MSG_RESULT(R${x11_release})
AC_DEFINE_UNQUOTED(THIS_IS_X11R${x11_release})
+ AC_CHECK_FUNCS(XConvertCase)
+
AC_CHECK_HEADERS(X11/Xlocale.h)
dnl remove this - we should avoid checking for specific OS
if test "$with_msw" = "yes"; then
AC_DEFINE(HAVE_MS_WINDOWS)
install_pp="$blddir/lib-src/installexe.sh"
- XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomctl32, libs_system)
+ XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomctl32 -lwinspool, libs_system)
test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto)
if test "$window_system" != x11; then
window_system=msw
&& XE_ADD_OBJS(toolbar-msw.o)
test "$with_dialogs" != "no" && with_dialogs=msw \
&& XE_ADD_OBJS(dialog-msw.o)
+ test "$with_widgets" != "no" && with_widgets=msw
else
- test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar-msw.o)
+ test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar-msw.o)
test "$with_menubars" != "no" && XE_ADD_OBJS(menubar-msw.o)
test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar-msw.o)
- test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog-msw.o)
+ test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog-msw.o)
fi
- dnl check for our special version of select
+ dnl check for our special version of select
AC_TRY_RUN([#include <fcntl.h>
int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }],
[AC_DEFINE(HAVE_MSG_SELECT)])
- const_is_losing=no
with_file_coding=yes
- use_minimal_tagbits=yes
- use_indexed_lrecord_implementation=yes
- XE_ADD_OBJS(console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o)
+ XE_ADD_OBJS(console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o gui-msw.o)
fi
fi
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
+ for feature in menubars scrollbars toolbars dialogs dragndrop xface
do
if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
AC_MSG_WARN([--with-$feature ignored: Not valid without window system support])
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 session xim xmu \
- xface
+ 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])
test "$opsys" = "hpux9-shr" && opsysfile="s/hpux9shxr4.h"
esac
-dnl Enable or disable proper session-management
-AC_CHECKING(for session-management option);
-dnl if test "$with_session" = "yes"; then
-if test "$with_session" != "no"; then
- AC_DEFINE(HAVE_SESSION)
+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 autodetect the location of tt_c.h
dnl tt_c.h might be in Tt or desktop include directories
for dir in "" "Tt/" "desktop/" ; do
- AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_path="${dir}tt_c.h"; break)
+ AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_file="${dir}tt_c.h"; break)
done
- if test -z "$tt_c_h_path"; then
+ if test -z "$tt_c_h_file"; then
if test "$with_tooltalk" = "yes"; then
USAGE_ERROR("Unable to find required tooltalk header files.")
fi
test -z "$with_tooltalk" && with_tooltalk=yes
if test "$with_tooltalk" = "yes"; then
AC_DEFINE(TOOLTALK)
- AC_DEFINE_UNQUOTED(TT_C_H_PATH, "$tt_c_h_path")
+ AC_DEFINE_UNQUOTED(TT_C_H_FILE, "$tt_c_h_file")
XE_PREPEND($tt_libs, libs_x)
XE_ADD_OBJS(tooltalk.o)
fi
fi
dnl Always compile OffiX unless --without-offix is given, no
-dnl X11 support is compiled in, no standard Xmu is avaiable,
+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 -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
- test -z "$with_umich_ldap" && { AC_CHECK_LIB(ldap, ldap_open, with_umich_ldap=yes, with_umich_ldap=no, -llber) }
- test "$with_umich_ldap" = "no" && { AC_CHECK_LIB(ldap10, ldap_set_option, with_ns_ldap=yes, with_ns_ldap=no) }
- test -z "$with_ldap" -a \( "$with_umich_ldap" = "yes" -o "$with_ns_ldap" = "yes" \) && with_ldap=yes
+ AC_CHECK_LIB(ldap, ldap_search, with_ldap_nolber=yes, with_ldap_nolber=no)
+ test "$with_ldap_nolber" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_lber=yes, with_ldap_lber=no, -llber) }
+ test "$with_ldap_nolber" = "no" -a "$with_ldap_lber" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_krb=yes, with_ldap_krb=no, -llber -lkrb) }
+ test "$with_ldap_nolber" = "no" -a "$with_ldap_lber" = "no" -a "$with_ldap_krb" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_krbdes=yes, with_ldap_krbdes=no, -llber -lkrb -ldes) }
+ test -z "$with_ldap" -a \( "$with_ldap_lber" = "yes" -o "$with_ldap_nolber" = "yes" -o "$with_ldap_krb" = "yes" -o "$with_ldap_krbdes" = "yes" \) && with_ldap=yes
fi
if test "$with_ldap" = "yes"; then
AC_DEFINE(HAVE_LDAP)
XE_ADD_OBJS(eldap.o)
- if test "$with_umich_ldap" = "yes" ; then
- AC_DEFINE(HAVE_UMICH_LDAP)
- XE_PREPEND(-llber, LIBS)
+ if test "$with_ldap_nolber" = "yes" ; then
XE_PREPEND(-lldap, LIBS)
- elif test "$with_ldap" = "yes" -a "$with_ns_ldap" = "yes" ; then
- AC_DEFINE(HAVE_NS_LDAP)
- XE_PREPEND(-lldap10, LIBS)
- elif test "$with_ldap" = "yes" ; then
+ else
+ if test "$with_ldap_krb" = "yes" ; then
+ XE_PREPEND(-lkrb, LIBS)
+ fi
+ if test "$with_ldap_krbdes" = "yes" ; then
+ XE_PREPEND(-ldes, LIBS)
+ XE_PREPEND(-lkrb, LIBS)
+ fi
+ XE_PREPEND(-llber, LIBS)
XE_PREPEND(-lldap, LIBS)
fi
+ AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result)
+fi
+
+dnl Autodetect PostgreSQL
+dnl The default installation location (non-Linux) is /usr/local/pgsql;
+dnl a different prefix can be selected at build/install time. If PostgreSQL
+dnl is installed into a different prefix, that prefix must be specified in
+dnl in the --site-prefixes flag.
+dnl The default RPM-based Linux installation location is /usr.
+AC_CHECKING(for PostgreSQL)
+postgres_h_path=""
+postgres_includes_found=no
+save_c_switch_site="$c_switch_site"
+
+dnl First, test standard location and site prefixes only:
+if test "$with_postgresql" != "no"; then
+ AC_CHECK_HEADER(libpq-fe.h,postgres_includes_found=yes)
+fi
+
+dnl Otherwise, test different known headers locations on linux:
+if test "$postgres_includes_found" = "no" -a "$with_postgresql" != "no" -a \
+ -d "/usr/local/pgsql/include"; then
+ c_switch_site="$c_switch_site -I/usr/local/pgsql/include"
+ AC_CHECK_HEADER(libpq-fe.h,postgres_includes_found=yes)
+ if test "$postgres_includes_found" != "yes"; then
+ postgres_h_path="/usr/local/pgsql/include"
+ fi
+ c_switch_site="$save_c_switch_site"
+fi
+if test "$postgres_includes_found" = "no" -a "$with_postgresql" != "no" -a \
+ -d "/usr/include/pgsql"; then
+ c_switch_site="$c_switch_site -I/usr/include/pgsql"
+ AC_CHECK_HEADER(libpq-fe.h,postgres_includes_found=yes)
+ if test "$postgres_includes_found" = "yes"; then
+ postgres_h_path="pgsql"
+ fi
+ c_switch_site="$save_c_switch_site"
+ fi
+if test "$postgres_includes_found" = "no" -a "$with_postgresql" != "no" -a \
+ -d "/usr/include/postgresql"; then
+ c_switch_site="$c_switch_site -I/usr/include/postgresql"
+ AC_CHECK_HEADER(libpq-fe.h,postgres_includes_found=yes)
+ if test "$postgres_includes_found" = "yes"; then
+ postgres_h_path="postgresql"
+fi
+ c_switch_site="$save_c_switch_site"
+fi
+
+dnl Finally, check if we can link with libpq:
+if test "$postgres_includes_found" = "yes"; then
+ AC_CHECK_LIB(pq,PQconnectdb,with_postgresql=yes,with_postgresql=no)
+fi
+if test "$with_postgresql" = "yes"; then
+ AC_CHECK_LIB(pq,PQconnectStart,with_postgresqlv7=yes,with_postgresqlv7=no)
+fi
+if test "$with_postgresql" = "yes"; then
+ if test -n "$postgres_h_path"; then
+ AC_DEFINE_UNQUOTED(POSTGRES_H_PATH, $postgres_h_path)
+ fi
+ AC_DEFINE(HAVE_POSTGRESQL)
+ if test "$with_postgresqlv7" = "yes"; then
+ AC_DEFINE(HAVE_POSTGRESQLV7)
+ fi
+ XE_PREPEND(-lpq, LIBS)
+ XE_ADD_OBJS(postgresql.o)
fi
dnl ----------------------
if test -z "$with_xpm"; then
AC_MSG_CHECKING(for Xpm - no older than 3.4f)
xe_check_libs=-lXpm
- AC_TRY_RUN([#include <X11/xpm.h>
+ AC_TRY_RUN([#define XPM_NUMBERS
+#include <X11/xpm.h>
int main(int c, char **v) {
return c == 1 ? 0 :
XpmIncludeVersion != XpmLibraryVersion() ? 1 :
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
AC_CHECKING(for X11 graphics libraries)
- 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)
+ 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 Autodetect -lXaw
- AC_CHECK_LIB(Xaw, XawScrollbarSetThumb, have_xaw=yes, have_xaw=no)
- dnl if test "$have_xaw" = "yes"; then
- dnl AC_CHECK_HEADER(X11/Xaw/Reports.h, [
- dnl XE_APPEND(pkg-src/tree-x, MAKE_SUBDIR)
- dnl XE_APPEND(pkg-src/tree-x, INSTALL_ARCH_DEP_SUBDIR)])
- dnl 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
dnl autodetect Motif - but only add to libs_x later (if necessary)
AC_CHECK_HEADER(Xm/Xm.h,
dnl Not all toolkits support all widgets
dnl if Motif is available we use it for the dialog boxes.
-case "$with_menubars" in "" | "yes" | "athena" | "athena3d" )
+case "$with_menubars" in "" | "yes" | "athena" )
with_menubars="lucid" ;;
esac
case "$with_dialogs" in "" | "yes" | "lucid" )
- if test "$have_motif" = "yes"; then with_dialogs="motif"
- elif test "$have_xaw" = "yes"; then with_dialogs="athena"
+ if test "$have_motif" = "yes"; then with_dialogs="motif"
+ elif test "$have_xaw" = "yes"; then with_dialogs="athena"
else with_dialogs=no
fi ;;
esac
case "$with_scrollbars" in "" | "yes" )
with_scrollbars="lucid" ;;
esac
+case "$with_widgets" in "" | "yes" | "lucid")
+ if test "$have_motif" = "yes"; then with_widgets="motif"
+ elif test "$have_xaw" = "yes"; then with_widgets="athena"
+ else with_widgets=no
+ fi ;;
+esac
+
+all_widgets="$with_menubars $with_scrollbars $with_dialogs $with_toolbars $with_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)
-all_widgets="$with_menubars $with_scrollbars $with_dialogs $with_toolbars"
+ dnl Add the Athena widget library we located earlier
+ XE_PREPEND(-l$athena_lib, libs_x)
-case "$all_widgets" in *athena* )
- AC_DEFINE(LWLIB_USES_ATHENA)
- AC_DEFINE(NEED_ATHENA)
- XE_APPEND(lwlib-Xaw.o, lwlib_objs)
- XE_PREPEND(-lXaw, libs_x) ;;
+ dnl Export the path for lwlib, used to build and include the headers
+ dnl from the right place later on.
+ AC_DEFINE_UNQUOTED(ATHENA_H_PATH, $athena_h_path)
+
+ AC_DEFINE(LWLIB_USES_ATHENA)
+ AC_DEFINE(NEED_ATHENA)
+
+ if test "$athena_3d" = "yes"; then
+ AC_DEFINE(HAVE_ATHENA_3D)
+ fi
+ ;;
esac
case "$all_widgets" in *motif* )
test "$with_menubars" = "lucid" && XE_APPEND(xlwmenu.o, lwlib_objs)
test "$with_menubars" = "motif" && XE_APPEND(xlwmenu.o, lwlib_objs)
test "$with_scrollbars" = "lucid" && XE_APPEND(xlwscrollbar.o, lwlib_objs)
+test "$with_widgets" != "no" && test "$with_widgets" != "msw" && \
+ XE_APPEND(xlwtabs.o xlwgcs.o, lwlib_objs)
+case "$with_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) ;;
AC_SUBST(lwlib_objs)
-case "$with_scrollbars" in athena* ) AC_DEFINE(LWLIB_SCROLLBARS_ATHENA);; esac
-case "$with_dialogs" in athena* ) AC_DEFINE(LWLIB_DIALOGS_ATHENA) ;; esac
-test "$with_scrollbars" = "athena3d" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA3D)
-test "$with_dialogs" = "athena3d" && AC_DEFINE(LWLIB_DIALOGS_ATHENA3D)
+test "$with_scrollbars" = "athena" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA)
+test "$with_dialogs" = "athena" && AC_DEFINE(LWLIB_DIALOGS_ATHENA)
+
+if test "$athena_3d" = "yes"; then
+ test "$with_scrollbars" = "athena" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA3D)
+ test "$with_dialogs" = "athena" && AC_DEFINE(LWLIB_DIALOGS_ATHENA3D)
+fi
+
+case "$with_widgets" in athena* ) AC_DEFINE(LWLIB_WIDGETS_ATHENA);; esac
+test "$with_widgets" != "no" && test "$with_widgets" != "msw" && \
+ AC_DEFINE(LWLIB_TABS_LUCID)
test "$with_menubars" != "no" && AC_DEFINE(HAVE_MENUBARS)
test "$with_scrollbars" != "no" && AC_DEFINE(HAVE_SCROLLBARS)
test "$with_dialogs" != "no" && AC_DEFINE(HAVE_DIALOGS)
test "$with_toolbars" != "no" && AC_DEFINE(HAVE_TOOLBARS)
+test "$with_widgets" != "no" && AC_DEFINE(HAVE_WIDGETS)
test "$with_menubars" = "lucid" && AC_DEFINE(LWLIB_MENUBARS_LUCID)
test "$with_scrollbars" = "lucid" && AC_DEFINE(LWLIB_SCROLLBARS_LUCID)
test "$with_menubars" = "motif" && AC_DEFINE(LWLIB_MENUBARS_MOTIF)
test "$with_scrollbars" = "motif" && AC_DEFINE(LWLIB_SCROLLBARS_MOTIF)
test "$with_dialogs" = "motif" && AC_DEFINE(LWLIB_DIALOGS_MOTIF)
+test "$with_widgets" = "motif" && AC_DEFINE(LWLIB_WIDGETS_MOTIF)
-test "$with_menubars" != "no" && XE_ADD_OBJS(menubar.o)
-test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar.o)
-test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog.o)
-test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar.o)
-test "$all_widgets" != "no no no no" && XE_ADD_OBJS(gui.o)
+test "$with_menubars" != "no" && XE_ADD_OBJS(menubar.o)
+test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar.o)
+test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog.o)
+test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar.o)
if test "$with_x11" = "yes"; then
- test "$with_menubars" != "no" && XE_ADD_OBJS(menubar-x.o)
- test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar-x.o)
- test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog-x.o)
- test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar-x.o)
- test "$all_widgets" != "no no no no" && XE_ADD_OBJS(gui-x.o)
-else
- if test \( "$with_sound" = "nas" \) -o \( "$with_sound" = "both" \); then
- echo "Attempt to Build NAS sound without X"
- echo "Please remove NAS configuration or build with X"
- exit 1
- fi
+ test "$with_menubars" != "no" && XE_ADD_OBJS(menubar-x.o)
+ test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar-x.o)
+ test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog-x.o)
+ test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar-x.o)
+ test "$all_widgets" != "no no no no no" && XE_ADD_OBJS(gui-x.o)
fi
-test "$use_minimal_tagbits" = "yes" && AC_DEFINE(USE_MINIMAL_TAGBITS)
-test "$use_indexed_lrecord_implementation" = "yes" && \
- AC_DEFINE(USE_INDEXED_LRECORD_IMPLEMENTATION)
-
dnl ----------------------
dnl Mule-dependent options
dnl ----------------------
AC_CHECKING(for Mule-related features)
AC_DEFINE(MULE)
AC_DEFINE(FILE_CODING)
- XE_ADD_OBJS(mule.o mule-ccl.o mule-charset.o mule-coding.o file-coding.o)
+ XE_ADD_OBJS(mule.o mule-ccl.o mule-charset.o file-coding.o)
dnl Use -lintl to get internationalized strerror for Mule
AC_CHECK_HEADERS(libintl.h)
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_lesstif" = "yes"; then with_xim=xlib
- else AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif, with_xim=xlib)
- fi
+ 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)
fi
fi
- dnl "with_xim" = "yes"
+ dnl "with_xfs" = "yes"
if test "$with_xfs" = "yes" ; then
AC_CHECKING(for XFontSet)
AC_CHECK_LIB(X11, XmbDrawString, [:], with_xfs=no)
XE_ADD_OBJS(input-method-xfs.o)
fi
fi
- fi dnl with_xim
+ fi dnl with_xfs
dnl Autodetect WNN
test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support
test "$ac_cv_func_crypt" != "yes" && { AC_CHECK_LIB(crypt, crypt) }
fi
dnl Back to our regularly scheduled wnn hunting
- test -z "$with_wnn" && { AC_CHECK_LIB(wnn,jl_dic_list_e,[:],with_wnn=no) }
+ 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(-lwnn, libs_x)
+ XE_PREPEND(-l$libwnn, libs_x)
XE_ADD_OBJS(mule-wnnfns.o)
if test "$with_wnn6" != "no"; then
- AC_CHECK_LIB(wnn, jl_fi_dic_list, with_wnn6=yes)
+ AC_CHECK_LIB($libwnn, jl_fi_dic_list, with_wnn6=yes)
test "$with_wnn6" = "yes" && AC_DEFINE(WNN6)
fi
fi
XE_COMPUTE_RUNPATH()
fi
-AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp ftime gethostname getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf strcasecmp strerror tzset ulimit usleep utimes waitpid vsnprintf)
+AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getpt getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strcasecmp strerror tzset ulimit usleep utimes waitpid vsnprintf fsync ftruncate umask)
-dnl realpath is buggy on linux, decosf and aix4
+dnl Use our own realpath always.
+XE_ADD_OBJS(realpath.o)
-dnl The realpath() in linux libc (4.6.27) sometimes fails with ELOOP.
-dnl The realpath in ELF linux libc's is O.K.
-dnl For example, call realpath on a file thirty-five or so directories deep
-dnl and you get ELOOP even if no symlinks at all are involved.
-dnl Reports as of 11/1997 indicate BSDi has problems too.
-case "$opsys" in
- linuxaout* | bsdos3* | freebsd* | decosf4-0* | aix4* ) XE_ADD_OBJS(realpath.o) ;;
- * )
- AC_CHECK_FUNCS(realpath)
- test "$ac_cv_func_realpath" != "yes" && XE_ADD_OBJS(realpath.o) ;;
-esac
+dnl Check whether the system provides getloadavg (Solaris 7 has it)
+AC_CHECK_FUNCS(getloadavg)
+
+if test "$ac_cv_func_getloadavg" != "yes"
+then
+ XE_ADD_OBJS(getloadavg.o)
+
+ dnl Used by getloadavg() - does not require root priveleges
+ AC_CHECK_LIB(kstat, kstat_open)
+
+ dnl Another way to get the load average
+ AC_CHECK_LIB(kvm, kvm_read)
+fi
dnl If netdb.h does not declare h_errno, we must declare it by hand.
AC_MSG_CHECKING(whether netdb declares h_errno)
],
[
struct timeval time;
- struct timezone dummy;
- gettimeofday (&time, &dummy);
+ gettimeofday (&time, 0);
],
[AC_MSG_RESULT(two)],
[AC_MSG_RESULT(one)
AC_C_INLINE
-if test "$ac_cv_c_inline" != "no"; then
- AC_DEFINE(HAVE_INLINE)
- test "$GCC" = "yes" && XE_ADD_OBJS(inline.o)
-fi
+test "$ac_cv_c_inline" != "no" -a "$GCC" = "yes" && XE_ADD_OBJS(inline.o)
dnl HP-UX has a working alloca in libPW.
dnl case "${GCC}${opsys}" in hpux* )
esac
AC_MSG_RESULT($have_mmap)
test "$have_mmap" = "yes" && AC_DEFINE(HAVE_MMAP)
-AC_FUNC_MMAP
dnl rel_alloc requires either GNU malloc or system malloc with mmap
dnl We only turn rel_alloc on by default if mmap is available.
-test "$GNU_MALLOC" != "yes" -a "$have_mmap" != "yes" && rel_alloc=no
-test "$rel_alloc" = "default" -a "$have_mmap" = "yes" && rel_alloc=yes
+test "$GNU_MALLOC" != "yes" -a "$have_mmap" != "yes" && rel_alloc=no
+if test "$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
+], [rel_alloc=no; AC_MSG_RESULT(yes);], [rel_alloc=yes; AC_MSG_RESULT(no);])
+ else
+ rel_alloc=yes
+ fi
+fi
test "$rel_alloc" = "yes" && AC_DEFINE(REL_ALLOC)
dnl Check for terminal I/O variants
dnl Autodetect native sound
AC_CHECKING("for sound support")
-case "$with_sound" in
- native | both ) with_native_sound=yes;;
- nas | no ) with_native_sound=no;;
-esac
test -z "$with_native_sound" -a -n "$native_sound_lib" && with_native_sound=yes
if test "$with_native_sound" != "no"; 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_PATH, "${dir}/soundcard.h")]
+ [AC_DEFINE_UNQUOTED(SOUNDCARD_H_FILE, "${dir}/soundcard.h")]
break)
done
fi
test "$sound_found" = "yes" && with_native_sound=yes
fi
-if test -z "$with_sound"; then
- if test "$with_native_sound" = "yes" -o -n "$native_sound_lib"; then
- with_sound=native
- fi
-fi
-
if test "$with_native_sound" = "yes"; then
AC_DEFINE(HAVE_NATIVE_SOUND)
test -n "$native_sound_lib" && XE_PREPEND($native_sound_lib, LIBS)
fi
-case "$with_sound" in both | nas )
- 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 behaviour.
- AC_EGREP_HEADER(AuXtErrorJump,audio/Xtutil.h,,[AC_DEFINE(NAS_NO_ERROR_JUMP)])
-esac
+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
fi
if test "$with_ncurses" = "yes"; then
AC_DEFINE(HAVE_NCURSES)
- AC_CHECK_HEADER(ncurses/curses.h, curses_h_path=ncurses/curses.h)
- AC_CHECK_HEADER(ncurses/term.h, term_h_path=ncurses/term.h)
+ 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)
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_path=ncurses/curses.h)
+ 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
fi
- AC_DEFINE_UNQUOTED(CURSES_H_PATH, "${curses_h_path-curses.h}")
- AC_DEFINE_UNQUOTED(TERM_H_PATH, "${term_h_path-term.h}")
+ AC_DEFINE_UNQUOTED(CURSES_H_FILE, "${curses_h_file-curses.h}")
+ AC_DEFINE_UNQUOTED(TERM_H_FILE, "${term_h_file-term.h}")
dnl Autodetect gpm
test -z "$with_gpm" && { AC_CHECK_HEADER(gpm.h, , with_gpm=no) }
test "$with_x11" = "yes" -o "$with_tty" = "yes" && XE_ADD_OBJS(event-unixoid.o)
dnl Database support
-dnl <mdiers@logware.de>
dnl We do not necessarily have to have libdb/lib(g)dbm for DB/(G)DBM support.
dnl On FreeBSD, both DB and DBM are part of libc.
-dnl Note that unless support for DB/(G)DBM is explicitly disabled, we always
-dnl want to check for libdb/lib(g)dbm. Also note that libc will not be
-dnl checked if we have the libraries.
-dnl If support for DB/(G)DBM is requested, but we neither have libdb/lib(g)dbm,
-dnl nor does libc implement it, we are a bit lost :)
-
-AC_CHECKING(for database support)
-
-if test "$with_database_gnudbm" != "no"; then
- AC_CHECK_HEADERS(ndbm.h, have_ndbm_h=yes)
- if test "$have_ndbm_h" = "yes"; then
- AC_CHECK_LIB(gdbm, dbm_open, with_database_gnudbm=yes have_libgdbm=yes)
- fi
- if test "$with_database_gnudbm" != "yes"; then
- AC_CHECK_FUNC(dbm_open, with_database_gnudbm=yes)
- fi
- if test "$with_database_gnudbm" = "yes"; then
- AC_DEFINE(HAVE_DBM)
- test "$have_libgdbm" = "yes" && XE_PREPEND(-lgdbm, LIBS)
- with_database_dbm=no
- else with_database_gnudbm=no
- fi
+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 need_libdbm=no)
- if test "$need_libdbm" != "no"; then
- AC_CHECK_LIB(dbm, dbm_open, with_database_dbm=yes need_libdbm=yes)
- fi
- if test "$with_database_dbm" = "yes"; then
- AC_DEFINE(HAVE_DBM)
- test "$need_libdbm" = "yes" && XE_PREPEND(-ldbm, LIBS)
- else with_database_dbm=no
- fi
+ 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 path in "db/db.h" "db.h"; do
- AC_TRY_COMPILE([#ifdef HAVE_INTTYPES_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 uint64_t u_int64_t;
#endif
#endif
-#include <$path>
-],[], db_h_path="$path"; break)
+#endif
+#include <$header>
+],[], db_h_file="$header"; break)
done
- if test -z "$db_h_path"
+ if test -z "$db_h_file"
then AC_MSG_RESULT(no); with_database_berkdb=no
- else AC_MSG_RESULT($db_h_path)
+ 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_path>
+[#include <$db_h_file>
#if DB_VERSION_MAJOR > 1
yes
#endif
fi
if test "$with_database_berkdb" = "yes"; then
- AC_DEFINE_UNQUOTED(DB_H_PATH, "$db_h_path")
+ 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_gnudbm $with_database_dbm $with_database_berkdb" \
+if test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \
!= "no no no"; then
AC_DEFINE(HAVE_DATABASE)
XE_ADD_OBJS(database.o)
XE_PREPEND(-Bstatic -lut -Bdynamic, LIBS)
fi
-dnl cygwin can't cope with dlfcn at the moment
-test -z "$with_shlib" && test "$opsys $machine" = "cygwin32 intel386" && with_shlib=no
-
dnl autodetect dll support
-AC_CHECK_HEADERS(dlfcn.h, have_dlfcn=yes)
-test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(dl, dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=dl; with_shlib=yes]) }
-test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(c, _dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=; with_shlib=yes]) }
-test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(c, dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=; with_shlib=yes]) }
-test -z "$with_shlib" && { AC_CHECK_LIB(dld, shl_load, [ AC_DEFINE(HAVE_SHL_LOAD) DLL_LIB=dld; with_shlib=yes]) }
-test -z "$with_shlib" && { AC_CHECK_LIB(dld, dld_init, [ AC_DEFINE(HAVE_DLD_INIT) DLL_LIB=dld; with_shlib=yes]) }
-if test "$with_shlib" = "yes"; then
- AC_DEFINE(HAVE_SHLIB)
- XE_ADD_OBJS(sysdll.o)
- XE_ADD_OBJS(dll.o)
- test ! -z "$DLL_LIB" && XE_PREPEND(-l${DLL_LIB}, LIBS)
- XE_MAKE_SHAREDLIB
- AC_CHECK_FUNCS(dlerror)
- ld_dynamic_link_flags=
- dnl Fill this in with other values as this gets more testing
- case "$opsys" in
- hpux*) ld_dynamic_link_flags="-Wl,-E" ;;
- linux*) ld_dynamic_link_flags="-rdynamic" ;;
- *) ;;
- esac
+if test "$with_modules" != "no"; then
+ AC_CHECKING(for module support)
+
+ dnl Find headers and libraries
+ AC_CHECK_HEADER(dlfcn.h, [
+ AC_CHECK_LIB(dl, dlopen, [ have_dl=yes libdl=dl], [
+ AC_CHECK_LIB(c, dlopen, [ have_dl=yes ])])])
+ if test -n "$have_dl"; then
+ AC_DEFINE(HAVE_DLOPEN)
+ else
+ AC_CHECK_LIB(dld, shl_load, [
+ libdl=dld have_dl=yes;
+ AC_DEFINE(HAVE_SHL_LOAD)], [
+ AC_CHECK_LIB(dld, dld_init, [
+ libdl=dld have_dl=yes;
+ AC_DEFINE(HAVE_DLD_INIT)])])
+ fi
+
+ 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)
+ XE_ADD_OBJS(sysdll.o emodules.o)
+ XE_APPEND(src, INSTALL_ARCH_DEP_SUBDIR)
+ test -n "$libdl" && XE_PREPEND(-l${libdl}, LIBS)
+ AC_CHECK_FUNCS(dlerror _dlerror)
+ with_modules=yes
+ else
+ if test "$with_modules" = "yes"; then
+ XE_DIE("Required module support cannot be provided.")
+ else
+ AC_MSG_WARN("Module support cannot be provided.")
+ fi
+ with_modules=no
+ fi
fi
dnl Unfortunately, just because we can link doesn't mean we can run.
echo "*** PANIC *** on your system. Don't do that."
exit 1])
-dnl Process support (hardcoded)
-dnl every system that supports this runs configure, the others don't
-
-dnl We're not ready for this yet.
-AC_DEFINE(HAVE_UNIX_PROCESSES)
-XE_ADD_OBJS(process-unix.o)
+dnl Process support
+if test "$win32_processes" = "yes"; then
+ XE_ADD_OBJS(process-nt.o)
+else
+ AC_DEFINE(HAVE_UNIX_PROCESSES)
+ XE_ADD_OBJS(process-unix.o)
+fi
dnl --------------------------------
dnl Compute SUBST-itutable variables
dnl Compute lists of Makefiles and subdirs
AC_SUBST(SRC_SUBDIR_DEPS)
XE_APPEND(src, MAKE_SUBDIR)
-internal_makefile_list="Makefile"
+internal_makefile_list="Makefile.in"
SUBDIR_MAKEFILES=''
test -d lock || mkdir lock
for dir in $MAKE_SUBDIR; do
done ) ;;
* ) test -d "$dir" || mkdir "$dir" ;;
esac
- XE_SPACE(SUBDIR_MAKEFILES, $SUBDIR_MAKEFILES $dir/Makefile)
+ 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)
echo ""
fi
-dnl Create some auxiliary files
-if test -f $srcdir/src/gdbinit -a ! -f src/gdbinit ; then
- echo "creating src/gdbinit"; echo ""
- echo "source $srcdir/src/gdbinit" > src/gdbinit
+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 "\f
+$srcdir/TAGS,include" > "TAGS"
fi
dnl Create top level .sbinit for Sun compilers
if test "$__SUNPRO_C" = "yes"; then
- echo "creating .sbinit"; echo ""
+ 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
AC_SUBST(version)
AC_SUBST(configuration)
AC_SUBST(canonical)
+AC_SUBST(inststaticdir)
+AC_SUBST(instvardir)
AC_SUBST(srcdir)
AC_SUBST(bindir)
AC_SUBST(datadir)
AC_SUBST(mandir)
AC_SUBST(prefix)
+AC_SUBST(PREFIX_USER_DEFINED)
dnl Yo, Stephen Bourne! I want to marry you!
PREFIX=$prefix
while true; do
AC_SUBST(PREFIX)
AC_SUBST(exec_prefix)
+AC_SUBST(EXEC_PREFIX_USER_DEFINED)
EXEC_PREFIX=$exec_prefix
while true; do
case "$EXEC_PREFIX" in
done
AC_SUBST(LISPDIR)
-dnl AC_SUBST(sitelispdir)
-dnl AC_SUBST(SITELISPDIR_USER_DEFINED)
-dnl SITELISPDIR=$sitelispdir
-dnl while true; do
-dnl case "$SITELISPDIR" in
-dnl *\$* ) eval "SITELISPDIR=$SITELISPDIR" ;;
-dnl *) break ;;
-dnl esac
-dnl done
-dnl AC_SUBST(SITELISPDIR)
+AC_SUBST(moduledir)
+AC_SUBST(MODULEDIR_USER_DEFINED)
+MODULEDIR=$moduledir
+while true; do
+ case "$MODULEDIR" in
+ *\$* ) eval "MODULEDIR=$MODULEDIR" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(MODULEDIR)
+
+AC_SUBST(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)
AC_SUBST(ETCDIR_USER_DEFINED)
done
AC_SUBST(LOCKDIR)
+AC_SUBST(docdir)
+AC_SUBST(DOCDIR_USER_DEFINED)
+DOCDIR=$docdir
+while true; do
+ case "$DOCDIR" in
+ *\$* ) eval "DOCDIR=$DOCDIR" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(DOCDIR)
+
AC_SUBST(archlibdir)
AC_SUBST(ARCHLIBDIR_USER_DEFINED)
ARCHLIBDIR=$archlibdir
AC_SUBST(docdir)
AC_SUBST(bitmapdir)
AC_SUBST(extra_objs)
-AC_SUBST(ld_dynamic_link_flags)
dnl The following flags combine all the information from:
dnl - command line options (user always gets priority)
dnl - user environment variables
dnl - determined by configure
-dnl - the s&m header files (deprecated)
+dnl - the s&m header files (required for ellcc)
AC_SUBST(machfile)
AC_SUBST(opsysfile)
AC_SUBST(c_switch_general)
AC_SUBST(RANLIB)
AC_SUBST(dynodump_arch)
-# The default is yes
+dnl Preliminary support for using a different compiler for xemacs itself.
+dnl Useful for building XEmacs with a C++ or 64-bit compiler.
+: ${XEMACS_CC:=$CC}
+AC_SUBST(XEMACS_CC)
+
+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, "$canonical")
+AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$configuration")
AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "$ac_configure_args")
AC_DEFINE_UNQUOTED(config_machfile, "$machfile")
AC_DEFINE_UNQUOTED(config_opsysfile, "$opsysfile")
dnl so that the user gets immediate feedback on the results of the
dnl autodetection.
-test -n "$puresize" && AC_DEFINE_UNQUOTED(RAW_PURESIZE, $puresize)
-
if 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)
test "$with_i18n3" = "yes" && AC_DEFINE(I18N3)
test "$GCC" = "yes" && AC_DEFINE(USE_GCC)
test "$external_widget" = "yes" && AC_DEFINE(EXTERNAL_WIDGET)
-test "$with_gnu_make" = "yes" && AC_DEFINE(USE_GNU_MAKE)
-test "$no_doc_file" = "yes" && AC_DEFINE(NO_DOC_FILE)
-dnl test "$const_is_losing" = "yes" && AC_DEFINE(CONST_IS_LOSING)
+test "$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 "$use_union_type" = "yes" && AC_DEFINE(USE_UNION_TYPE)
+test "$pdump" = "yes" && AC_DEFINE(PDUMP)
dnl -------------------------------
dnl Report on what we decided to do
echo "$0 $quoted_arguments"
) > Installation
-xemacs_betaname=""
-test ! -z "${emacs_beta_version}" && xemacs_betaname="-b${emacs_beta_version}"
+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\" configured for \`$canonical'.
-
- Where should the build process find the source code? $srcdir
- What installation prefix should install use? $prefix
- What operating system and machine description files should XEmacs use?
- \`$opsysfile' and \`$machfile'
- What compiler should XEmacs be built with? $CC $CFLAGS
- Should XEmacs use the GNU version of malloc? ${GNU_MALLOC}${GNU_MALLOC_reason}
- Should XEmacs use the relocating allocator for buffers? $rel_alloc
- What window system should XEmacs use? ${window_system}"
-if test "$with_x11" = "yes"; then
- echo " Where do we find X Windows header files? $x_includes"
- echo " Where do we find X Windows libraries? $x_libraries"
-fi
+"
+echo "
+Compilation / Installation:"
+echo " Source code location: $srcdir"
+echo " Installation prefix: $prefix"
if test -n "$site_includes"; then
- echo " Additional header files: $site_includes"
+ echo " Additional header files: $site_includes"
fi
if test -n "$site_libraries"; then
- echo " Additional libraries: $site_libraries"
+ echo " Additional libraries: $site_libraries"
fi
if test -n "$site_prefixes"; then
- echo " Additional prefixes: $site_prefixes"
+ echo " Additional prefixes: $site_prefixes"
fi
if test -n "$runpath"; then
- echo " Runtime library search path: $runpath"
+ echo " Runtime library search path: $runpath"
fi
-test "$with_dnet" = yes && echo " Compiling in support for DNET."
-test "$with_socks" = yes && echo " Compiling in support for SOCKS."
-test "$with_xauth" = yes && echo " Compiling in support for XAUTH."
-if test "$with_xmu" != yes -a "$with_x11" = yes; then
- echo " No Xmu; substituting equivalent routines."
+echo " Operating system description file: \`$opsysfile'"
+echo " Machine description file: \`$machfile'"
+echo " Compiler: $CC $CFLAGS"
+echo " Relocating allocator for buffers: $rel_alloc"
+echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}"
+
+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 "$have_xaw" = "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 "$with_menubars" in
+ 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 --with-menubars='lucid'." ;;
+ msw ) echo " Using MS-Windows menubars." ;;
+esac
+case "$with_scrollbars" in
+ lucid ) echo " Using Lucid scrollbars." ;;
+ motif ) echo " Using Motif scrollbars." ;;
+ athena ) echo " Using Athena scrollbars." ;;
+ msw ) echo " Using MS-Windows scrollbars." ;;
+esac
+case "$with_dialogs" in
+ 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 --with-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 "$with_widgets" in
+ 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."
+ echo " Compiling in support for XPM images."
elif test "$with_x11" = yes; then
- echo " --------------------------------------------------------------------"
- echo " WARNING: Compiling without XPM support."
+ 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 " --------------------------------------------------------------------"
+ echo " WARNING: -----------------------------------------------------------"
fi
if test "$with_png" = yes; then
- echo " Compiling in support for PNG image handling."
+ echo " Compiling in support for PNG images."
elif test "$window_system" != "none"; then
- echo " --------------------------------------------------------------------"
+ echo " WARNING: -----------------------------------------------------------"
echo " WARNING: Compiling without PNG image support."
if test "$png_problem" != ""; then
echo " Reason: $png_problem"
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 " --------------------------------------------------------------------"
+ echo " WARNING: -----------------------------------------------------------"
fi
-test "$with_gif" = yes && echo " Compiling in support for (builtin) GIF image handling."
-test "$with_jpeg" = yes && echo " Compiling in support for JPEG image handling."
-test "$with_tiff" = yes && echo " Compiling in support for TIFF image handling."
+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."
-case "$with_sound" in
- nas ) echo " Compiling in network sound (NAS) support." ;;
- native ) echo " Compiling in native sound support." ;;
- both ) echo " Compiling in both network and native sound support." ;;
-esac
-test "$old_nas" = yes && echo " nas library lacks error trapping, will play synchronously"
-test "$with_database_berkdb" = yes && echo " Compiling in support for Berkeley DB."
+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_gnudbm" = yes && echo " Compiling in support for GNU DBM."
-
-test "$with_umich_ldap" = yes && echo " Compiling in support for LDAP (UMich libs)."
-test "$with_ns_ldap" = yes && echo " Compiling in support for LDAP (Netscape SDK)."
-test "$with_ldap" = yes -a "$with_umich_ldap" = no -a "$with_ns_ldap" = no && echo " Compiling in support for LDAP (Generic)."
-
-test "$with_ncurses" = yes && echo " Compiling in support for ncurses."
-test "$with_gpm" = yes && echo " Compiling in support for GPM (General Purpose Mouse)."
-
-test "$with_mule" = yes && echo " Compiling in Mule (multi-lingual) support."
-test "$with_file_coding" = yes && echo " Compiling in File coding support."
-test "$with_xim" != no && echo " Compiling in XIM (X11R5+ I18N input method) support."
-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."
+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."
+ if test "$with_postgresqlv7" = yes; then
+ echo " - Using PostgreSQL V7 bindings."
+ fi
+ if test -n "$postgres_h_path"; then
+ echo " - PostgreSQL headers location: $postgres_h_path"
+ fi
+fi
+
+echo "
+Internationalization:"
+test "$with_mule" = yes && echo " Compiling in support for Mule (multi-lingual Emacs)."
+test "$with_file_coding" = yes && echo " Compiling in support for file coding."
+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."
+ test "$with_wnn6" = yes && echo " - Using WNN version 6."
fi
-test "$with_i18n3" = yes && echo " Compiling in I18N support, level 3 (doesn't currently work)."
+test "$with_i18n3" = yes && echo " Compiling in support for I18N level 3 (doesn't currently work)."
+
+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."
+echo " Compiling in support for \"$mail_locking\" mail spool file locking method."
-test "$with_cde" = yes && echo " Compiling in support for CDE."
+echo "
+Other Features:"
test "$with_tooltalk" = yes && echo " Compiling in support for ToolTalk."
-test "$with_offix" = yes && echo " Compiling in support for OffiX."
-test "$with_dragndrop" = yes && echo " Compiling in EXPERIMENTAL support for Drag'n'Drop ($dragndrop_proto )."
test "$with_workshop" = yes && echo " Compiling in support for Sun WorkShop."
-test "$with_session" != no && echo " Compiling in support for proper session-management."
-case "$with_menubars" in
- 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 --with-menubars='lucid'." ;;
-esac
-case "$with_scrollbars" in
- lucid ) echo " Using Lucid scrollbars." ;;
- motif ) echo " Using Motif scrollbars." ;;
- athena ) echo " Using Athena scrollbars." ;;
- athena3d ) echo " Using Athena-3d scrollbars." ;;
-esac
-case "$with_dialogs" in
- motif ) echo " Using Motif dialog boxes." ;;
- athena ) echo " Using Athena dialog boxes." ;;
- athena3d ) echo " Using Athena-3d dialog boxes." ;;
-esac
-test "$with_shlib" = "yes" && echo " Compiling in DLL support."
-test "$with_clash_detection" = yes && \
+test "$with_socks" = yes && echo " Compiling in support for SOCKS."
+test "$with_dnet" = yes && echo " Compiling in support for DNET."
+test "$with_modules" = "yes" && echo " Compiling in support for dynamic shared object modules."
+test "$with_clash_detection" != "no" && \
echo " Clash detection will use \"$lockdir\" for locking files."
-echo " movemail will use \"$mail_locking\" for locking mail spool files."
-test "$with_pop" = yes && echo " Using POP for mail access"
-test "$with_kerberos" = yes && echo " Using Kerberos for POP authentication"
-test "$with_hesiod" = yes && echo " Using Hesiod to get POP server host"
-test "$use_union_type" = yes && echo " Using the union type for Lisp_Objects."
-test "$use_minimal_tagbits" = yes && echo " Using Lisp_Objects with minimal tagbits."
-test "$use_indexed_lrecord_implementation" = yes && echo " Using indexed lrecord implementation."
-test "$debug" = yes && echo " Compiling in extra code for debugging."
-test "$memory_usage_stats" = yes && echo " Compiling in code for checking XEmacs memory usage."
-test "$usage_tracking" = yes && echo " Compiling with usage tracking active (Sun internal)."
-if test "$error_check_extents $error_check_typecheck $error_check_bufpos $error_check_gc $error_check_malloc" \
- != "no no no no no"; then
+test "$use_union_type" = yes && echo " Using the union type for Lisp_Objects."
+test "$pdump" = yes && echo " Using the new portable dumper."
+test "$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_typecheck $error_check_bufpos $error_check_gc $error_check_malloc $error_check_glyphs" \
+ != "no no no no no no"; then
echo " WARNING: ---------------------------------------------------------"
echo " WARNING: Compiling in support for runtime error checking."
echo " WARNING: XEmacs will run noticeably more slowly as a result."
dnl echo "The above configure report is appended to \"Installation\" file."
echo ""
-dnl Generate Installation.el
-echo '(setq Installation-string "' > Installation.el
-sed 's/"/\\"/g' Installation >> Installation.el
-echo '")' >> Installation.el
-
dnl -----------------------------------
dnl Now generate config.h and Makefiles
dnl -----------------------------------
-
dnl This has to be called in order for this variable to get into config.status
AC_SUBST(internal_makefile_list)
# Remove any trailing slashes in these variables.
for file in $internal_makefile_list; do
test "$file" = src/Makefile.in && \
file="src/Makefile.in:src/Makefile.in.in:src/depend"
- ac_output_files="${ac_output_files+$ac_output_files }$file"
+ XE_APPEND($file, ac_output_files)
done
ac_output_files="$ac_output_files src/paths.h lib-src/config.values"
+test "$with_modules" = "yes" && XE_APPEND(lib-src/ellcc.h, ac_output_files)
AC_OUTPUT($ac_output_files,
-[for dir in $MAKE_SUBDIR; do
- echo creating $dir/Makefile
+[for dir in . $MAKE_SUBDIR; do
(
-changequote(<<, >>)dnl
cd $dir
rm -f junk.c
< Makefile.in \
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
-}' -e '/./ {
-s/\([\"]\)/\\\1/g
+}' \
+dnl Quote other lines to protect from CPP substitution
+ -e '/./ {
+s/\([[\"]]\)/\\\1/g
s/^/"/
s/$/"/
}' > junk.c;
- $CPP -I. -I${top_srcdir}/src $CPPFLAGS junk.c > junk.cpp;
- < junk.cpp \
- sed -e 's/^#.*//' \
- -e 's/^[ TAB][ TAB]*$//' \
- -e 's/^ /TAB/' \
- | sed -n -e '/^..*$/p' \
- | sed '/^"/ {
-s/\\\([\"]\)/\1/g
-s/^[ TAB]*"//
-s/"[ TAB]*$//
-}' > Makefile.new
+
+dnl Create a GNUmakefile and Makefile from Makefile.in.
+
+changequote(<<,>>)dnl
+dnl CPP_MAKEFILE(CPPFLAGS,filename)
+define(<<CPP_MAKEFILE>>,
+echo creating $dir/<<$2>>
+$CPP -I. -I${top_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
+ | sed -n -e '/^..*$/p' \
+dnl Restore lines quoted above to original contents.
+ | sed '/^\"/ {
+ s/\\\([\"]\)/\1/g
+ s/^[ TAB]*\"//
+ s/\"[ TAB]*$//
+}' > Makefile.new
chmod 444 Makefile.new
- mv -f Makefile.new Makefile
- rm -f junk.c junk.cpp
-changequote([, ])dnl
-)
+ mv -f Makefile.new <<$2>>
+)dnl CPP_MAKEFILE
+
+ CPP_MAKEFILE(,Makefile)
+ CPP_MAKEFILE(-DUSE_GNU_MAKE,GNUmakefile)
+changequote([,])dnl
+ rm -f junk.c
+ )
done
dnl Append AC_DEFINE information to lib-src/config.values
],
[CPP="$CPP"
- CPPFLAGS="$CPPFLAGS"
top_srcdir="$srcdir"
MAKE_SUBDIR="$MAKE_SUBDIR"
-])
+])dnl