### 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
dnl - non-standard options
dnl - suport for extra-verbosity
dnl - ordinary libs are handled separately from X libs (might be a mistake)
-dnl - various random kludges (e.g. -with-dnet=no
+dnl - various random kludges (e.g. -with-dnet=no)
dnl PRINT_VAR(var var ...) prints values of shell variables
define([PRINT_VAR],[for var in patsubst([$1],[[
x_includes=NONE
x_libraries=NONE
-dnl Installation directory options.
-dnl These are left unexpanded so users can "make install exec_prefix=/foo"
-dnl and all the variables that are supposed to be based on exec_prefix
-dnl by default will actually change.
-dnl Use braces instead of parens because sh, perl, etc. also accept them.
-dnl If you change these, you need to synchronize with the settings of the
-dnl various ..._USER_DEFINED variables further down.
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${{exec_prefix}}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
dnl Initialize some other variables.
subdirs=
MFLAGS= MAKEFLAGS=
+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
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'
-moduledir='${datadir}/${PROGNAME}-${version}/${configuration}/modules'
-sitelispdir='${datadir}/xemacs/site-lisp'
-sitemoduledir='${datadir}/xemacs/site-modules'
-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='${datadir}/${PROGNAME}-${version}/${configuration}'
+etcdir='${datadir}/${instvardir}/etc'
+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'
cpp='' cppflags='' libs='' ldflags=''
+extra_includes=''
dynamic=''
with_x11=''
with_msw=''
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
dnl Process (many) boolean options
with_site_lisp | \
- with_site_modules | \
+ with_prefix | \
+ with_site_modules | \
with_x | \
with_x11 | \
with_msw | \
with_xfs | \
with_i18n3 | \
with_mule | \
+ with_utf_2000 | \
+ with_text_coding| \
with_file_coding| \
with_canna | \
with_wnn | \
with_sparcworks | \
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 | \
+ pdump | \
debug | \
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 ;;
"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' 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 preferred 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\""
;;
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\""
;;
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', \`nomalloc', and \`nobyte-code'."
+ types="\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', \`nomalloc', \`noglyphs' and \`nobyte-code'."
else
- types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', \`malloc', and \`byte-code'."
+ 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_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 | \
+ mandir | infodir | infopath | lispdir | etcdir | pkgdir | \
archlibdir | docdir | package_path )
dnl If the value was omitted, get it from the next argument.
if test "$valomitted" = "yes"; 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) ;;
sitelispdir ) AC_DEFINE(SITELISPDIR_USER_DEFINED) ;;
moduledir ) AC_DEFINE(MODULEDIR_USER_DEFINED) ;;
infopath ) AC_DEFINE(INFOPATH_USER_DEFINED) ;;
package_path ) AC_DEFINE(PACKAGE_PATH_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) ;;
+ AC_DEFINE(INFODIR_USER_DEFINED)
+ AC_DEFINE(LISPDIR_USER_DEFINED)
+ AC_DEFINE(MODULEDIR_USER_DEFINED)
+ AC_DEFINE(ETCDIR_USER_DEFINED)
+ AC_DEFINE(DOCDIR_USER_DEFINED)
+ AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;;
+ docdir ) AC_DEFINE(DOCDIR_USER_DEFINED) ;;
exec_prefix | libdir | archlibdir ) AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;;
esac
;;
dnl Has the user specified the toolkit(s) to use for GUI elements?
"with_menubars" | \
"with_scrollbars" | \
- "with_dialogs" )
+ "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 ;;
+ n | no | non | none ) val=no ;;
+ y | ye | yes ) val=yes ;;
+ m | ms | msw ) val=msw ;;
* ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
- \`lucid', \`motif', \`athena', \`athena3d', or \`no'."]) ;;
+ \`lucid', \`motif', \`athena', \`yes', or \`no'."]) ;;
esac
eval "$opt=\"$val\""
;;
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 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"
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 ----------------------------------
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)
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 ;;
+ arm* ) machine=arm ;;
ns32k-* ) machine=ns32000 ;;
esac
*-dec-osf1.2 | *-dec-osf1* ) opsys=decosf1-2 ;;
*-dec-osf3.[[2-9]] ) opsys=decosf3-2 ;;
*-dec-osf3* ) opsys=decosf3-1 ;;
- *-dec-osf4* ) opsys=decosf4-0 ;;
+ *-dec-osf[[4-9]]* ) opsys=decosf4-0 ;;
dnl DEC Ultrix
*-*-ultrix[[0-3]].* | *-*-ultrix4.0* ) opsys=bsd4-2 ;;
else
NON_GNU_CPP="/lib/cpp -D_XOPEN_SOURCE" ;
fi ;;
+ *-sysv5* ) opsys=sco7 ;;
*-386bsd* ) opsys=386bsd ;;
*-freebsd* ) opsys=freebsd ;;
*-nextstep* ) opsys=nextstep ;;
esac
-if test -z "$machine" -o -z "$opsys"; then
- (echo "$progname: XEmacs hasn't been ported to \`$canonical' systems."
- echo "$progname: Check \`etc/MACHINES' for recognized configuration names."
- ) >&2
- exit 1
+dnl Initialize machine and opsys from $canonical if not in our database above.
+test -z "$machine" && machine=`echo $canonical | sed 's/-.*$//'`
+test -z "$opsys" && opsys=`echo $canonical | sed 's/^[^-]*-[^-]*-//'`
+
+dnl Use configure-time autodetection if s&m not available
+if test -r "${srcdir}/src/m/${machine}.h"; then
+ machfile="m/${machine}.h"
+ AC_DEFINE_UNQUOTED(config_machfile, "$machfile")
+else
+ echo "XEmacs has no builtin knowledge of \`$machine' machines."
+ echo "Using configure-time autodetection only."
fi
+if test -r "${srcdir}/src/s/${opsys}.h"; then
+ opsysfile="s/${opsys}.h"
+ AC_DEFINE_UNQUOTED(config_opsysfile, "$opsysfile")
+else
+ echo "XEmacs has no builtin knowledge of \`$opsys' operating systems."
+ echo "Using configure-time autodetection only."
+fi
+
+
if test -z "$dynamic"; then
case "$opsys" in
hpux* | sunos4* ) dynamic=no ;;
stack_trace_eye_catcher=`echo ${PROGNAME}_${version}_${canonical} | sed 'y/.-/__/'`
AC_DEFINE_UNQUOTED(STACK_TRACE_EYE_CATCHER, $stack_trace_eye_catcher)
-machfile="m/${machine}.h"
-opsysfile="s/${opsys}.h"
-
dnl --------------------------------------------------
dnl Determine the compiler, set up for feature testing
dnl --------------------------------------------------
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 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!
return 11;
#elif defined __DECC
return 12;
+#elif defined __USLC__ && defined __SCO_VERSION__
+return 13;
#else
return 0;
#endif
[case "$conftest_rc" in
11) echo "You appear to be using the SunPro C compiler."; __SUNPRO_C=yes ;;
12) echo "You appear to be using the DEC C compiler." ; __DECC=yes ;;
+ 13) echo "You appear to be using the SCO C compiler." ; __USLC__=yes ;;
esac])
[#]endif
])dnl CPP_boolean_to_sh
-cat > $tempcname <<EOF
+cat > $tempcname < confdefs.h
+cat >> $tempcname <<EOF
#define NOT_C_CODE
#define C_SWITCH_SITE
#define C_SWITCH_X_SITE
#define LD_SWITCH_X_SITE
#define LD_SWITCH_X_SITE_AUX
#define OS_RELEASE $os_release
+
+#ifdef config_opsysfile
#include "$srcdir/src/$opsysfile"
+#endif
+
+#ifdef config_machfile
#include "$srcdir/src/$machfile"
+#endif
CPP_to_sh(LIBS_MACHINE, libs_machine)
CPP_to_sh(LIBS_SYSTEM, libs_system)
CPP_to_sh(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
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* | cygwin*)
+ cygwin_include=`eval "gcc -print-file-name=libc.a"` ;
+ cygwin_include=`eval "dirname $cygwin_include"` ;
+ cygwin_include="-I$cygwin_include/../include" ;
+ extra_includes="$cygwin_include/mingw32 $cygwin_include/mingw $cygwin_include" ;
+ case "$opsys" in mingw*)
+ XE_APPEND($extra_includes, c_switch_system) ;;
+ esac
+ ;;
+esac
+
dnl Non-ordinary link usually requires -lc
test "$ordinary_link" = "no" -a -z "$libs_standard" && libs_standard="-lc"
+dnl -----------------------
dnl Compiler-specific hacks
-dnl DEC C requires -std
-test "$__DECC" = "yes" && XE_APPEND(-std, c_switch_site)
+dnl -----------------------
+
+dnl DEC C `-std1' means ANSI C mode
+test "$__DECC" = "yes" && XE_APPEND(-std1, c_switch_site)
+
+dnl Some versions of SCO native compiler need -Kalloca
+if test "$__USLC__" = yes; then
+ AC_MSG_CHECKING(for whether the -Kalloca compiler flag is needed)
+ need_kalloca=no
+ AC_TRY_LINK([], [void *x = alloca(4);], [:], [
+ xe_save_c_switch_system="$c_switch_system"
+ c_switch_system="$c_switch_system -Kalloca"
+ AC_TRY_LINK([], [void *x = alloca(4);], [ need_kalloca=yes ])
+ c_switch_system="$xe_save_c_switch_system"])
+ AC_MSG_RESULT($need_kalloca)
+ test "$need_kalloca" = "yes" && XE_APPEND(-Kalloca,c_switch_system)
+fi
dnl Calculalate value of CFLAGS:
dnl Use either command line flag, environment var, or autodetection
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 -Winline -Wmissing-prototypes -Wshadow"
+ dnl glibc is intentionally not `-Wpointer-arith'-clean.
+ dnl Ulrich Drepper has rejected patches to fix the glibc header files.
+ test "$have_glibc" != "yes" && CFLAGS="$CFLAGS -Wpointer-arith"
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"
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 "$CFLAGS" in
+ *-O2*|*-O3*)
+ case "$GCC_VERSION" in
+ 2.7.2)
+ case "$CFLAGS" in
+ *-fno-strength-reduce*) ;;
+ *)
+ AC_MSG_RESULT(yes)
+ AC_MSG_WARN(Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using)
+ AC_MSG_WARN(-fno-strength-reduce.)
+ AC_MSG_ERROR(Aborting due to known problem)
+ ;;
+ esac
+ ;;
+ esac
+ case "$CFLAGS" in
+ *-fno-caller-saves*) ;;
+ *)
+ AC_MSG_RESULT(yes)
+ AC_MSG_WARN(Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using)
+ AC_MSG_WARN(-fno-caller-saves.)
+ AC_MSG_ERROR(Aborting due to known problem)
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+esac
+AC_MSG_RESULT(no)
+fi
+
dnl Inform compiler that certain flags are meant for the linker
dnl XE_PROTECT_LINKER_FLAGS(shell_var)
define([XE_PROTECT_LINKER_FLAGS], [
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 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)
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 ;;
doug_lea_malloc=no
fi
after_morecore_hook_exists=yes
-AC_CHECK_FUNC(malloc_get_state, ,doug_lea_malloc=no)
AC_CHECK_FUNC(malloc_set_state, ,doug_lea_malloc=no)
AC_MSG_CHECKING(whether __after_morecore_hook exists)
AC_TRY_LINK([extern void (* __after_morecore_hook)();],[__after_morecore_hook = 0],
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.)"
- fi
+if test "$doug_lea_malloc" = "yes" -a "$GNU_MALLOC" = "yes" ; then
+ GNU_MALLOC_reason="
+ - Using Doug Lea's new malloc from the GNU C Library."
AC_DEFINE(DOUG_LEA_MALLOC)
if test "$after_morecore_hook_exists" = "no" ; then
GNU_MALLOC_reason="
- (Using Doug Lea's new malloc from the Linux C Library.)"
+ - Using Doug Lea's new malloc from the Linux C Library."
AC_DEFINE(_NO_MALLOC_WARNING_)
fi
- use_minimal_tagbits=yes
fi
dnl #### mcheck is broken in all versions of Linux libc and glibc.
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 cygwin/version.h)
-AC_CHECK_HEADERS(kstat.h sys/pstat.h inttypes.h sys/un.h a.out.h)
+AC_CHECK_HEADERS(dnl
+ a.out.h dnl
+ elf.h dnl
+ cygwin/version.h dnl
+ fcntl.h dnl
+ inttypes.h dnl
+ libgen.h dnl
+ locale.h dnl
+ mach/mach.h dnl
+ sys/param.h dnl
+ sys/pstat.h dnl
+ sys/time.h dnl
+ sys/timeb.h dnl
+ sys/un.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)
+
+dnl check for Unix98 socklen_t
+AC_MSG_CHECKING(for socklen_t)
+AC_TRY_COMPILE([#include <sys/socket.h>
+socklen_t x;
+],[],[AC_MSG_RESULT(yes)],[
+AC_TRY_COMPILE([#include <sys/socket.h>
+int accept (int, struct sockaddr *, size_t *);
+],[],[
+AC_MSG_RESULT(size_t)
+AC_DEFINE(socklen_t,size_t)], [
+AC_MSG_RESULT(int)
+AC_DEFINE(socklen_t,int)])])
AC_MSG_CHECKING(for struct timeval)
AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
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 -z "$mail_locking"; then
+ case "$opsys" in cygwin* | mingw*)
+ mail_locking=pop ;;
+ esac
fi
+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)
+elif test "$mail_locking" = "pop"; then
+ with_pop=yes
+ mail_locking=
+else mail_locking="dot-locking"; AC_DEFINE(MAIL_LOCK_DOT)
+fi
+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)
test "$ac_cv_lib_pthreads_cma_open" = "yes" && \
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 ----------------------
done
dnl Avoid version mismatch for shared library libXm.so on osf4
- if test "$GCC" = yes -a -d /usr/shlib; then XE_APPEND(-L/usr/shlib, X_LIBS); fi
+ case "$opsys" in
+ decosf*) if test "$GCC" = yes -a -d /usr/shlib; then XE_APPEND(-L/usr/shlib, X_LIBS); fi ;;
+ esac
ld_switch_x_site="$X_LIBS"
cd ..
rm -fr conftestdir
for word in $xmkmf_defines; do
- case "$word" in
- -D*=* ) ;;
- -D* ) word=`echo '' $word | sed -e 's:^ *-D::'`
- AC_DEFINE_UNQUOTED($word) ;;
+ case "$word" in -D* )
+ sym=`echo '' $word | sed -e 's:^ *-D::' -e 's:=.*::'`
+ case "$word" in
+ -D*=* ) val=`echo '' $word | sed -e 's:^.*=::'` ;;
+ * ) val=1 ;;
+ esac
+dnl Avoid re-AC_DEFINE-ing xmkmf symbols we've already defined above.
+ if grep "^#define $sym " confdefs.h >/dev/null; then :; else
+ if test "$val" = "1"
+ then AC_DEFINE_UNQUOTED($sym)
+ else AC_DEFINE_UNQUOTED($sym,$val)
+ fi
+ fi ;;
esac
done
fi
AC_MSG_RESULT(R${x11_release})
AC_DEFINE_UNQUOTED(THIS_IS_X11R${x11_release})
+ if test "${x11_release}" = "4"; then
+ case "$with_widgets" in
+ "" | "no") with_widgets=no ;;
+ *) XE_DIE("Widget support requires X11R5 or greater") ;;
+ esac
+ fi
+
+ AC_CHECK_FUNCS(XConvertCase)
+
AC_CHECK_HEADERS(X11/Xlocale.h)
- dnl remove this - we should avoid checking for specific OS
- AC_MSG_CHECKING(for XFree86)
- if test -d "/usr/X386/include" -o \
- -f "/etc/XF86Config" -o \
- -f "/etc/X11/XF86Config" -o \
- -f "/usr/X11R6/lib/X11/XF86Config"; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_XFREE386)
- else
- AC_MSG_RESULT(no)
- fi
+ dnl XFree86 has a non-standard prototype for this X11R6 function
+ AC_CHECK_FUNCS(XRegisterIMInstantiateCallback)
+ AC_MSG_CHECKING(for standard XRegisterIMInstantiateCallback prototype)
+ AC_TRY_COMPILE([
+#define NeedFunctionPrototypes 1
+#include <X11/Xlib.h>
+extern Bool XRegisterIMInstantiateCallback(
+ Display*, struct _XrmHashBucketRec*, char*, char*, XIMProc, XPointer*);
+], [],
+ [AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)
+ AC_DEFINE(XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE)])
dnl autodetect -lXmu
test -z "$with_xmu" && { AC_CHECK_LIB(Xmu, XmuReadBitmapDataFromFile,
AC_CHECK_LIB(gdi32,main,with_msw=yes)
if test "$with_msw" = "yes"; then
AC_DEFINE(HAVE_MS_WINDOWS)
+
+ dnl The net installer only works with MS-Windows currently
+ XE_APPEND(netinstall, MAKE_SUBDIR)
+ XE_APPEND(netinstall, SRC_SUBDIR_DEPS)
+ XE_APPEND(netinstall, INSTALL_ARCH_DEP_SUBDIR)
+
install_pp="$blddir/lib-src/installexe.sh"
- XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomctl32, libs_system)
+ XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomdlg32 -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_menubars" != "no" && XE_ADD_OBJS(menubar-msw.o)
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
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
dnl if test "$with_tty" = "no" ; then
dnl AC_MSG_ERROR([No window system support and no TTY support - Unable to proceed.])
dnl fi
- for feature in tooltalk cde offix wmcommand xim xmu
+ 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])
done
fi
+dnl Balloon Help requires the Shape extension, not available everywhere,
+dnl for example not on AIX 4.3.
+if test "$with_x11" = "yes"; then
+ AC_CHECK_HEADER(X11/extensions/shape.h, [
+ AC_DEFINE(HAVE_BALLOON_HELP)
+ XE_ADD_OBJS(balloon_help.o balloon-x.o)])
+fi
+
dnl FSF 19.29 has some bitmapdir stuff here.
bitmapdir=
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
dnl Autodetect Drag'n'Drop support
dnl always included if CDE, Offix, or MSWindows are defined
-AC_MSG_CHECKING(if drag and drop API is needed)
if test "$with_dragndrop" != "no" ; then
+ AC_MSG_CHECKING(if drag and drop API is needed)
if test -n "$dragndrop_proto" ; then
with_dragndrop=yes
AC_MSG_RESULT([yes (${dragndrop_proto} )])
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 On many Linux systems, PostgreSQL is packaged to be installed in /usr;
+dnl in this case, configure will easily detect it there.
+dnl
+dnl If PostgreSQL is installed into a different prefix,
+dnl (such as the default /usr/local/pgsql when building from source),
+dnl that prefix must be specified using the --site-prefixes flag.
+if test "$with_postgresql" != "no"; then
+ AC_CHECKING(for PostgreSQL)
+
+dnl Look for these standard header file locations, known to be used on Linux
+ for header_dir in "" "pgsql/" "postgresql/"; do
+ AC_CHECK_HEADER(${header_dir}libpq-fe.h,
+ libpq_fe_h_file=${header_dir}libpq-fe.h; break)
+ done
+
+ test -n "$libpq_fe_h_file" && { AC_CHECK_LIB(pq,PQconnectdb,have_libpq=yes) }
+
+ if test -n "$libpq_fe_h_file" -a "$have_libpq" = "yes"; then
+ with_postgresql=yes
+ AC_DEFINE(HAVE_POSTGRESQL)
+ AC_CHECK_LIB(pq,PQconnectStart, [
+ with_postgresqlv7=yes;
+ AC_DEFINE(HAVE_POSTGRESQLV7)])
+ AC_DEFINE_UNQUOTED(LIBPQ_FE_H_FILE, "$libpq_fe_h_file")
+ XE_PREPEND(-lpq, LIBS)
+ XE_ADD_OBJS(postgresql.o)
+ elif test "$with_postgresql" = "yes"; then
+ XE_DIE("Required PostgreSQL support cannot be provided. Check --site-prefixes.")
+ fi
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 :
AC_MSG_RESULT($with_xpm)
fi
if test "$with_xpm" = "yes"; then
+ dnl #### This code assumes that if AC_CHECK_LIB fails,
+ dnl #### then it will succeed if FOR_MSW is defined,
+ dnl #### but doesn't actually verify this assumption.
AC_DEFINE(HAVE_XPM)
XE_PREPEND(-lXpm, libs_x)
AC_MSG_CHECKING(for \"FOR_MSW\" xpm)
AC_CHECKING(for X11 graphics libraries)
- 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
+ AC_CHECKING(for the Athena widgets)
+
+ dnl What in heck did the user actually want?
+ case "$with_athena" in
+ dnl This is the default, old fashioned flat Athena.
+ "xaw" | "") athena_variant=Xaw athena_3d=no ;;
+ "3d") athena_variant=Xaw3d athena_3d=yes ;;
+ "next") athena_variant=neXtaw athena_3d=yes ;;
+ "95") athena_variant=Xaw95 athena_3d=yes ;;
+ "xpm") athena_variant=XawXpm athena_3d=yes ;;
+ *) XE_DIE("Unknown Athena widget set \`$with_athena'. This should not happen.") ;;
+ esac
+
+ dnl Search for the Athena library...
+ if test "$athena_3d" = "no"; then
+ AC_CHECK_LIB($athena_variant, XawScrollbarSetThumb,
+ [
+ dnl Must not be a 3d library...
+ AC_CHECK_LIB($athena_variant, threeDClassRec,
+ AC_MSG_WARN("Could not find a non-3d Athena widget library."),
+ athena_lib=$athena_variant)
+ ],
+ AC_MSG_WARN("Could not find an Athena widget library."))
+ else
+ dnl The real configuration, need 3d library
+ AC_CHECK_LIB($athena_variant, threeDClassRec, athena_lib=$athena_variant,
+ dnl OK, couldn't find it with a proper name, try the standard Athena lib
+ dnl If that is 3d, presume the user asked for what they have installed.
+ AC_CHECK_LIB(Xaw, threeDClassRec,
+ [
+ athena_lib=Xaw;
+ AC_MSG_WARN("Assuming that libXaw is actually $athena_variant.");
+ ],
+ AC_MSG_WARN("Could not find a 3d Athena widget library that looked like $athena_variant.")))
+ fi
+
+ dnl Now we locate the Athena headers that we need.
+ if test "$athena_3d" = "no"; then
+ AC_CHECK_HEADER(X11/Xaw/ThreeD.h,
+ AC_MSG_WARN("Could not find a non-3d Athena header set."),
+ AC_CHECK_HEADER(X11/Xaw/XawInit.h,
+ athena_h_path=X11/Xaw,
+ AC_MSG_WARN("Could not find a non-3d Athena header set.")))
+ else
+ dnl The three-d Athena headers are so much more slippery.
+ dnl Curse this `Lets replace standard libraries' thing that they did. :/
+ AC_CHECK_HEADER(X11/$athena_variant/XawInit.h,
+ AC_CHECK_HEADER(X11/$athena_variant/ThreeD.h,
+ athena_h_path=X11/$athena_variant,))
+
+ dnl Is the variant specific header directory directly under include?
+ if test -z "$athena_h_path"; then
+ AC_CHECK_HEADER($athena_variant/XawInit.h,
+ AC_CHECK_HEADER($athena_variant/ThreeD.h,
+ athena_h_path=$athena_variant,))
+ fi
+
+ dnl If we couldn't find the specific variant, try the generic Athena 3d headers
+ if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then
+ AC_CHECK_HEADER(X11/Xaw3d/XawInit.h,
+ AC_CHECK_HEADER(X11/Xaw3d/ThreeD.h,
+ [
+ AC_MSG_WARN("Assuming that X11/Xaw3d headers are suitable for $athena_variant.")
+ athena_h_path=X11/Xaw3d
+ ],))
+ fi
+
+ dnl Also generic 3d headers directly under include dir
+ if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then
+ AC_CHECK_HEADER(Xaw3d/XawInit.h,
+ AC_CHECK_HEADER(Xaw3d/ThreeD.h,
+ [
+ AC_MSG_WARN("Assuming that Xaw3d headers are suitable for $athena_variant.")
+ athena_h_path=Xaw3d
+ ],))
+ fi
+
+ dnl If nothing yet found, see if Xaw is a 3d header set...
+ dnl We AC_MSG_WARN if we fail because I am all out of ideas...
+ if test -z "$athena_h_path"; then
+ AC_CHECK_HEADER(X11/Xaw/ThreeD.h,
+ [
+ AC_MSG_WARN("Assuming that X11/Xaw headers are suitable for $athena_variant.")
+ athena_h_path=X11/Xaw
+ ],
+ AC_MSG_WARN("Could not find a suitable 3d Athena header set."))
+ fi
+ fi
+
+ dnl Do we actually have a usable Athena widget set? Please?
+ if test -n "$athena_lib" -a -n "$athena_h_path"; then
+ have_xaw=yes
+ else
+ have_xaw=no
+ fi
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"
-all_widgets="$with_menubars $with_scrollbars $with_dialogs $with_toolbars"
+case "$all_widgets" in
+ *athena* )
+ if test "$have_xaw" != "yes"; then
+ XE_DIE("Could not find a suitable Athena library to build with.")
+ fi
-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 Add the Lucid widget Athena code
+ XE_APPEND(lwlib-Xaw.o, lwlib_objs)
+
+ dnl Add the Athena widget library we located earlier
+ XE_PREPEND(-l$athena_lib, libs_x)
+
+ dnl Tell lwlib where to find the Athena header files.
+ dnl Many people have tried to create a `smart' way of doing this,
+ dnl but all have failed. Before changing the following ugly definitions,
+ dnl consult the veterans of many a battle.
+ AC_DEFINE_UNQUOTED(ATHENA_Scrollbar_h_,"$athena_h_path/Scrollbar.h")
+ AC_DEFINE_UNQUOTED(ATHENA_Dialog_h_,"$athena_h_path/Dialog.h")
+ AC_DEFINE_UNQUOTED(ATHENA_Form_h_,"$athena_h_path/Form.h")
+ AC_DEFINE_UNQUOTED(ATHENA_Command_h_,"$athena_h_path/Command.h")
+ AC_DEFINE_UNQUOTED(ATHENA_Label_h_,"$athena_h_path/Label.h")
+ AC_DEFINE_UNQUOTED(ATHENA_LabelP_h_,"$athena_h_path/LabelP.h")
+ AC_DEFINE_UNQUOTED(ATHENA_Toggle_h_,"$athena_h_path/Toggle.h")
+ AC_DEFINE_UNQUOTED(ATHENA_ToggleP_h_,"$athena_h_path/ToggleP.h")
+ AC_DEFINE_UNQUOTED(ATHENA_AsciiText_h_,"$athena_h_path/AsciiText.h")
+ AC_DEFINE_UNQUOTED(ATHENA_XawInit_h_,"$athena_h_path/XawInit.h")
+
+ AC_DEFINE(LWLIB_USES_ATHENA)
+ AC_DEFINE(NEED_ATHENA)
+ need_athena="yes"
+
+ if test "$athena_3d" = "yes"; then
+ AC_DEFINE(HAVE_ATHENA_3D)
+ fi
+ ;;
esac
case "$all_widgets" in *motif* )
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 "$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
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 file-coding.o)
-
+ XE_ADD_OBJS(mule.o mule-ccl.o mule-charset.o)
+ if test "$with_utf_2000" = "yes" && test "$with_text_coding" = "yes"; then
+ AC_DEFINE(TEXT_CODING)
+ XE_ADD_OBJS(text-coding.o)
+ else
+ XE_ADD_OBJS(file-coding.o)
+ fi
dnl Use -lintl to get internationalized strerror for Mule
AC_CHECK_HEADERS(libintl.h)
AC_CHECK_LIB(intl, strerror)
+ if test "$with_utf_2000" = "yes" ; then
+ AC_DEFINE(CHAR_IS_UCS4)
+ AC_DEFINE(UTF2000)
+ fi
+
AC_CHECKING(for Mule input methods)
dnl Do we have the XmIm* routines? And if so, do we want to use them?
dnl XIM seems to be flaky except on Solaris...
if test "$with_xfs" = "yes" && test "$with_menubars" = "lucid"; then
AC_DEFINE(USE_XFONTSET)
if test "$with_xim" = "no" ; then
- XE_ADD_OBJS(input-method-xfs.o)
+ XE_ADD_OBJS(input-method-xlib.o)
fi
fi
fi dnl with_xfs
dnl Autodetect WNN
test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support
test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/jllib.h, ,with_wnn=no) }
+ dnl gcc 2.97 fixincludes breaks inclusion of wnn/commonhd.h
+ test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/commonhd.h, ,with_wnn=no) }
dnl Detour to find crypt
if test "$with_wnn" != "no"; then
AC_CHECK_FUNCS(crypt)
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 getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strerror tzset ulimit usleep utimes waitpid vsnprintf fsync ftruncate umask)
+
+dnl ----------------------------------------------------------------
+dnl Check for PTY support functions.
+dnl ----------------------------------------------------------------
+
+dnl There is no "standard" pty allocation method. Every system is different.
+dnl getpt() is the preferred pty allocation method on glibc systems.
+dnl _getpty() is the preferred pty allocation method on SGI systems.
+dnl grantpt(), unlockpt(), ptsname() are defined by Unix98.
+AC_CHECK_FUNCS(getpt _getpty grantpt unlockpt ptsname killpg tcgetpgrp)
+
+dnl openpty() is the preferred pty allocation method on BSD and Tru64 systems.
+dnl openpty() might be declared in:
+dnl - pty.h (Tru64 or Linux)
+dnl - libutil.h (FreeBSD)
+dnl - util.h (NetBSD)
+AC_CHECK_FUNC(openpty, have_openpty=yes, [
+ AC_CHECK_LIB(util, openpty, have_openpty=yes need_libutil=yes)])
+if test "$have_openpty" = "yes"; then
+ AC_DEFINE(HAVE_OPENPTY)
+ AC_CHECK_HEADERS(pty.h libutil.h util.h, break)
+ test "$need_libutil" = "yes" && XE_APPEND(-lutil, libs_system)
+fi
-dnl realpath is buggy on linux, decosf and aix4
+dnl Check for STREAM support functions.
+dnl Confusingly, "str" means both "string" and "SysV Streams".
+AC_CHECK_HEADERS(stropts.h)
+if test "$ac_cv_header_stropts_h" = "yes"; then
+ AC_CHECK_FUNCS(isastream)
+ AC_CHECK_HEADERS(strtio.h) dnl TIOCSIGNAL
+fi
-dnl 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.
-dnl The realpath() in UnixWare2.1.3 could not get any pathname fragment in error condition.
-case "$opsys" in
- linuxaout* | bsdos3* | freebsd* | decosf4-0* | aix4* ) XE_ADD_OBJS(realpath.o) ;;
- * )
- case "$canonical" in
- *-*-sysv4.2uw2* ) XE_ADD_OBJS(realpath.o) ;;
- * ) AC_CHECK_FUNCS(realpath)
- test "$ac_cv_func_realpath" != "yes" && XE_ADD_OBJS(realpath.o) ;;
- esac ;;
-esac
+dnl Use our own realpath always.
+XE_ADD_OBJS(realpath.o)
-dnl Check whether the system provides getloadavg (Solaris 7 has it)
+dnl Check whether the system provides getloadavg().
AC_CHECK_FUNCS(getloadavg)
-if test "$ac_cv_func_getloadavg" != "yes"
-then
+if test "$ac_cv_func_getloadavg" = "yes"; then
+ dnl Solaris 8 declares getloadavg() in <sys/loadavg.h>.
+ dnl glibc 2.2 declares getloadavg() in <stdlib.h>...
+ dnl ...if we #define _GNU_SOURCE, which we do.
+ AC_CHECK_HEADERS(sys/loadavg.h)
+else
+ dnl We define our own getloadavg() using lower level functions.
XE_ADD_OBJS(getloadavg.o)
dnl Used by getloadavg() - does not require root priveleges
AC_CHECK_LIB(kstat, kstat_open)
+ AC_CHECK_HEADERS(kstat.h)
dnl Another way to get the load average
AC_CHECK_LIB(kvm, kvm_read)
],
[
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* )
dnl AC_CHECK_FUNC(alloca, [:], [AC_CHECK_LIB(PW, alloca)])
dnl esac
-AC_FUNC_ALLOCA
-test -n "$ALLOCA" && XE_ADD_OBJS($ALLOCA)
+dnl AC_FUNC_ALLOCA doesn't know about DEC C's #pragma intrinsic(alloca)
+if test "$__DECC" != "yes"; then
+ AC_FUNC_ALLOCA
+ test -n "$ALLOCA" && XE_ADD_OBJS($ALLOCA)
+fi
dnl Check whether vfork exists and works correctly. (This does more
dnl than just check for its existence.) If so, it defines HAVE_VFORK_H.
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
+ dnl Win32 Native uses native sound
+ if test -z "$sound_found"; then
+ if test "$with_msw" = "yes"; then
+ sound_found=yes
+ native_sound_lib=
+ fi
fi
+
+ test "$sound_found" = "yes" && with_native_sound=yes
fi
if test "$with_native_sound" = "yes"; then
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 behavior.
- 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) }
dnl On FreeBSD, both DB and DBM are part of libc.
dnl By default, we check for DBM support in libgdbm, then libc, then libdbm.
-test "$with_database_gnudbm $with_database_dbm $with_database_berkdb" \
+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_gnudbm $with_database_dbm" != "no no"; then
+if test "$with_database_gdbm $with_database_dbm" != "no no"; then
AC_CHECK_HEADER(ndbm.h, [:], [
- test "$with_database_gnudbm" = "yes" -o \
- "$with_database_dbm" = "yes" && \
+ test "$with_database_gdbm" = "yes" -o \
+ "$with_database_dbm" = "yes" && \
XE_DIE("Required DBM support cannot be provided.")
- with_database_gnudbm=no with_database_dbm=no])
+ with_database_gdbm=no with_database_dbm=no])
fi
dnl Check for DBM support in libgdbm.
-if test "$with_database_gnudbm" != "no"; then
+if test "$with_database_gdbm" != "no"; then
AC_CHECK_LIB(gdbm, dbm_open, [
- with_database_gnudbm=yes with_database_dbm=no libdbm=-lgdbm], [
- if test "$with_database_gnudbm" = "yes"; then
+ 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_gnudbm=no])
+ with_database_gdbm=no])
fi
dnl Check for DBM support in libc and libdbm.
dnl Tell make about the DBM support we detected.
test -n "$libdbm" && XE_PREPEND("$libdbm", LIBS)
-test "$with_database_gnudbm" = "yes" -o \
- "$with_database_dbm" = "yes" && \
+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
-], [AC_MSG_RESULT(2); dbfunc=db_open], [AC_MSG_RESULT(1); dbfunc=dbopen])
+], [AC_EGREP_CPP(yes,
+[#include <$db_h_file>
+#if DB_VERSION_MAJOR > 2
+yes
+#endif
+], [AC_MSG_RESULT(3); dbfunc=db_create],[
+ AC_MSG_RESULT(2); dbfunc=db_open])],[
+ AC_MSG_RESULT(1); dbfunc=dbopen])
AC_CHECK_FUNC($dbfunc, with_database_berkdb=yes need_libdb=no, [
AC_CHECK_LIB(db, $dbfunc, with_database_berkdb=yes need_libdb=yes)])
fi
if test "$with_database_berkdb" = "yes"; then
- AC_DEFINE_UNQUOTED(DB_H_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)
fi
dnl autodetect dll support
-AC_CHECK_HEADERS(dlfcn.h, [have_dlfcn=yes
- AC_DEFINE(HAVE_DLFCN_H)])
-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
- XE_SHLIB_STUFF
+if test "$with_modules" != "no"; then
+ AC_CHECKING(for module support)
+
+ dnl Check for MS-Windows
+ if test "$with_msw" = "yes"; then
+ have_dl=yes;
+ else
+ dnl Find headers and libraries
+ AC_CHECK_HEADER(dlfcn.h, [
+ AC_MSG_CHECKING([for dlopen in -lc])
+ AC_TRY_LINK([#include <dlfcn.h>],dnl
+ [dlopen ("", 0);], [ have_dl=yes ], [
+ AC_MSG_CHECKING([for dlopen in -ldl])
+ ac_save_LIBS="$LIBS"
+ LIBS="-ldl $LIBS"
+ AC_TRY_LINK([#include <dlfcn.h>],dnl
+ [dlopen ("", 0);], [ have_dl=yes ],
+ [LIBS="$ac_save_LIBS"])
+ ac_save_LIBS=])])
+ 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
+ fi dnl end !MS-Windows
+
+ 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)
- XE_ADD_OBJS(emodules.o)
+ XE_ADD_OBJS(sysdll.o emodules.o)
XE_APPEND(src, INSTALL_ARCH_DEP_SUBDIR)
- test ! -z "$DLL_LIB" && XE_PREPEND(-l${DLL_LIB}, LIBS)
+ test -n "$libdl" && XE_PREPEND(-l${libdl}, LIBS)
AC_CHECK_FUNCS(dlerror _dlerror)
+ with_modules=yes
else
- AC_MSG_WARN(disabling shared library support)
- with_shlib=no
+ 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
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(statedir)
AC_SUBST(libdir)
AC_SUBST(mandir)
+AC_SUBST(extra_includes)
AC_SUBST(prefix)
+AC_SUBST(PREFIX_USER_DEFINED)
dnl Yo, Stephen Bourne! I want to marry you!
PREFIX=$prefix
while true; do
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(ETCDIR)
-AC_SUBST(lockdir)
-AC_SUBST(LOCKDIR_USER_DEFINED)
-LOCKDIR=$lockdir
+AC_SUBST(docdir)
+AC_SUBST(DOCDIR_USER_DEFINED)
+DOCDIR=$docdir
while true; do
- case "$LOCKDIR" in
- *\$* ) eval "LOCKDIR=$LOCKDIR" ;;
+ case "$DOCDIR" in
+ *\$* ) eval "DOCDIR=$DOCDIR" ;;
*) break ;;
esac
done
-AC_SUBST(LOCKDIR)
+AC_SUBST(DOCDIR)
AC_SUBST(archlibdir)
AC_SUBST(ARCHLIBDIR_USER_DEFINED)
: ${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
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 Following are deprecated
test "$with_i18n3" = "yes" && AC_DEFINE(I18N3)
test "$GCC" = "yes" && AC_DEFINE(USE_GCC)
test "$external_widget" = "yes" && AC_DEFINE(EXTERNAL_WIDGET)
-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
xemacs_betaname="-b${emacs_beta_version}"
fi
else
- xemacs_betaname=""
+ 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."
+
+if test -n "$opsysfile"
+then echo " Operating system description file: \`$opsysfile'"
+else echo " Not using any operating system description file"
+fi
+if test -n "$machfile"
+then echo " Machine description file: \`$machfile'"
+else echo " Not using any machine description file"
+fi
+
+echo " Compiler: $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 "$need_athena" = "yes"; then
+ echo " Compiling in support for the Athena widget set:"
+ echo " - Athena headers location: $athena_h_path"
+ echo " - Athena library to link: $athena_lib"
+fi
+case "$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."
+ echo " - Using PostgreSQL header file: $libpq_fe_h_file"
+ test "$with_postgresqlv7" = yes && echo " - Using PostgreSQL V7 bindings."
+fi
+
+echo "
+Internationalization:"
+test "$with_mule" = yes && echo " Compiling in support for Mule (multi-lingual Emacs)."
+test "$with_utf_2000" = yes && echo " Using UTF-2000 (UTF-8) buffer/string representation."
+test "$with_text_coding" = yes && echo " Compiling in support for text coding."
+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."
+test -n "$mail_locking" && 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_wmcommand" != no && echo " Compiling in support for proper WM_COMMAND handling."
-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."
- 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." ;;
- athena3d ) echo " Using Athena-3d dialog boxes." ;;
-esac
-test "$with_shlib" = "yes" && echo " Compiling in DLL support."
-test "$with_clash_detection" = yes && \
- 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 "$debug" = yes && echo " Compiling in extra code for debugging."
-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 "$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 "$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."
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"
-if test "$with_shlib" = "yes"; then
- ac_output_files="$ac_output_files lib-src/ellcc.h"
-fi
+test "$with_modules" = "yes" && XE_APPEND(lib-src/ellcc.h, ac_output_files)
AC_OUTPUT($ac_output_files,
[for dir in . $MAKE_SUBDIR; do
-e 's/^[ TAB][ TAB]*$//'\
-e 's/^ /TAB/' \
dnl Delete blank lines
- | sed -n -e '/^..*$/p' \
+ -e '/^[ \f]*$/d' \
dnl Restore lines quoted above to original contents.
- | sed '/^\"/ {
+ -e '/^\"/ {
s/\\\([\"]\)/\1/g
s/^[ TAB]*\"//
s/\"[ TAB]*$//