X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=configure.in;h=6dcfa758570793d0762c9b1d151773c43aa50af8;hp=e7c7eb4971ca33e07ae36fb27ac36c3709b5a9f7;hb=98a6e4055a1fa624c592ac06f79287d55196ca37;hpb=d3dd71489ab2730d79536ebdc3c56cca82766e9d diff --git a/configure.in b/configure.in index e7c7eb4..6dcfa75 100644 --- a/configure.in +++ b/configure.in @@ -14,7 +14,7 @@ define([AC_INIT_NOTICE], ### 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. @@ -50,14 +50,14 @@ dnl configuration code and autoconf macros. dnl We use the m4 quoting characters [ ] (as established by the dnl autoconf system), so quote them like this: [[foo]] -AC_PREREQ(2.12)dnl +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],[[ @@ -307,6 +307,7 @@ 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 @@ -345,28 +346,28 @@ datadir='${prefix}/lib' 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' -puresize='' cpp='' cppflags='' libs='' ldflags='' dynamic='' with_x11='' @@ -384,6 +385,9 @@ with_toolbars="" 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 @@ -464,7 +468,8 @@ while test $# != 0; do dnl Process (many) boolean options with_site_lisp | \ - with_site_modules | \ + with_prefix | \ + with_site_modules | \ with_x | \ with_x11 | \ with_msw | \ @@ -483,7 +488,7 @@ while test $# != 0; do with_jpeg | \ with_png | \ with_tiff | \ - with_session | \ + with_wmcommand | \ with_xmu | \ with_purify | \ with_quantify | \ @@ -500,6 +505,7 @@ while test $# != 0; do with_sparcworks | \ with_tooltalk | \ with_ldap | \ + with_postgresql | \ with_pop | \ with_kerberos | \ with_hesiod | \ @@ -508,18 +514,15 @@ while test $# != 0; do external_widget | \ verbose | \ extra_verbose | \ - const_is_losing | \ usage_tracking | \ use_union_type | \ + pdump | \ debug | \ use_assertions | \ - gung_ho | \ - use_minimal_tagbits | \ - use_indexed_lrecord_implementation | \ 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 ;; @@ -529,7 +532,7 @@ while test $# != 0; do 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 | \ @@ -538,7 +541,6 @@ while test $# != 0; do cppflags | \ libs | \ ldflags | \ - puresize | \ cache_file | \ native_sound_lib| \ site_lisp | \ @@ -579,20 +581,20 @@ while test $# != 0; do "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 @@ -600,16 +602,54 @@ while test $# != 0; do 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\"" ;; @@ -632,9 +672,10 @@ while test $# != 0; do 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\"" ;; @@ -666,14 +707,20 @@ while test $# != 0; do 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."]) @@ -683,6 +730,8 @@ while test $# != 0; do 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 @@ -696,7 +745,7 @@ while test $# != 0; do 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 @@ -710,6 +759,8 @@ while test $# != 0; do 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) ;; @@ -722,7 +773,7 @@ while test $# != 0; do 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 ;; @@ -736,21 +787,25 @@ while test $# != 0; do 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 ;; * ) 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.]) ;; @@ -794,19 +849,6 @@ if test "$with_purify" = "yes" -o "$with_quantify" = "yes"; then test "$with_system_malloc" = "default" && with_system_malloc=yes fi -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 -fi - dnl XE_CHECK_FEATURE_DEPENDENCY(feature1, feature2) define([XE_CHECK_FEATURE_DEPENDENCY], [if test "$with_$1 $with_$2" = "yes no"; then @@ -869,7 +911,7 @@ dnl is still relative. We do not symlink lock because someone may dnl have stuck the source on a read-only partition. Instead we dnl create it as an actual directory later on if it does not already dnl exist. -for dir in lisp etc man info; 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" @@ -927,20 +969,25 @@ dnl Find out which version of XEmacs this is dnl ---------------------------------------- . "$srcdir/version.sh" || exit 1; dnl Must do the following first to determine verbosity for AC_DEFINE -if test -n "$emacs_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 @@ -959,23 +1006,28 @@ else PROGNAME=xemacs fi +AC_DEFINE_UNQUOTED(EMACS_PROGNAME, "$PROGNAME") + dnl ---------------------------------- dnl Error checking and debugging flags dnl ---------------------------------- dnl Error checking default to "yes" in beta versions, to "no" in releases. dnl Same goes for --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) @@ -1027,7 +1079,9 @@ case "$canonical" in 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 ;; @@ -1037,7 +1091,7 @@ case "$canonical" in m68*-sony-* ) machine=news ;; mips-sony-* ) machine=news-risc ;; clipper-* ) machine=clipper ;; - arm-* ) machine=arm ;; + arm* ) machine=arm ;; ns32k-* ) machine=ns32000 ;; esac @@ -1054,7 +1108,7 @@ case "$canonical" in *-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 ;; @@ -1481,10 +1535,13 @@ case "$canonical" in 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 ;; @@ -1494,13 +1551,28 @@ case "$canonical" in 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 ;; @@ -1529,9 +1601,6 @@ case "$opsys" in aix*) NON_GNU_CC=xlc ;; esac 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 -------------------------------------------------- @@ -1544,7 +1613,7 @@ if test "$with_workshop" = "yes"; then 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 @@ -1591,7 +1660,14 @@ test -n "$NON_GNU_CPP" -a "$GCC" != "yes" -a -z "$CPP" && CPP="$NON_GNU_CPP" 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 ],[ @@ -1605,6 +1681,23 @@ dnl I'm tired of pop being broken with GLIBC -slb dnl Well. then why not fix fucking pop? test "$have_glibc" = "yes" && AC_DEFINE(_GNU_SOURCE) +dnl We'd like to use vendor extensions, where available. +dnl We'd like to use functions from the latest Unix98 standards. +dnl See http://www.opengroup.org/onlinepubs/007908799/xsh/compilation.html +case "$opsys" in + sol2) + AC_DEFINE(__EXTENSIONS__) + dnl Solaris 2 before 2.5 had some bugs with feature test macro interaction. + if test "$os_release" -ge 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! @@ -1614,6 +1707,8 @@ AC_TRY_RUN([int main () { return 11; #elif defined __DECC return 12; +#elif defined __USLC__ && defined __SCO_VERSION__ +return 13; #else return 0; #endif @@ -1621,6 +1716,7 @@ return 0; [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]) @@ -1656,7 +1752,8 @@ configure___ [$2]=no [#]endif ])dnl CPP_boolean_to_sh -cat > $tempcname < $tempcname < confdefs.h +cat >> $tempcname < $tempcname < +socklen_t x; +],[],[AC_MSG_RESULT(yes)],[ +AC_TRY_COMPILE([#include +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 @@ -2198,7 +2445,7 @@ dnl check for long file names 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) @@ -2209,18 +2456,31 @@ AC_TRY_LINK([#include ], 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 -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) +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) @@ -2238,13 +2498,15 @@ if ${CC-cc} '-###' -xildon no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/nu 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 ---------------------- @@ -2341,7 +2603,9 @@ if test "$with_x11" = "yes"; then 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" @@ -2388,10 +2652,19 @@ EOF 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 @@ -2426,19 +2699,29 @@ EOF 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 +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, @@ -2477,7 +2760,7 @@ if test "$with_msw" != "no"; then 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 -lcomdlg32 -lcomctl32 -lwinspool, libs_system) test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto) if test "$window_system" != x11; then window_system=msw @@ -2489,6 +2772,7 @@ if test "$with_msw" != "no"; then && 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) @@ -2499,10 +2783,7 @@ if test "$with_msw" != "no"; then AC_TRY_RUN([#include 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 gui-msw.o) fi fi @@ -2545,7 +2826,7 @@ if test "$with_x11" != "yes"; then 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 + 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]) @@ -2554,6 +2835,14 @@ if test "$with_x11" != "yes"; then 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= @@ -2568,11 +2857,11 @@ case "$x_libraries" in *X11R4* ) 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 @@ -2596,9 +2885,9 @@ if test "$with_tooltalk" != "no" ; then dnl autodetect the location of tt_c.h dnl tt_c.h might be in Tt or desktop include directories for dir in "" "Tt/" "desktop/" ; do - AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_path="${dir}tt_c.h"; break) + 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 @@ -2620,7 +2909,7 @@ 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 @@ -2686,23 +2975,61 @@ AC_CHECKING(for LDAP) 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 ---------------------- @@ -2717,7 +3044,8 @@ if test "$window_system" != "none"; then if test -z "$with_xpm"; then AC_MSG_CHECKING(for Xpm - no older than 3.4f) xe_check_libs=-lXpm - AC_TRY_RUN([#include + AC_TRY_RUN([#define XPM_NUMBERS +#include int main(int c, char **v) { return c == 1 ? 0 : XpmIncludeVersion != XpmLibraryVersion() ? 1 : @@ -2850,13 +3178,101 @@ if test "$with_x11" = "yes"; then 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, @@ -2881,26 +3297,62 @@ dnl Finish ensuring that we have values for the various toolkit items. dnl Not all toolkits support all widgets dnl if Motif is available we use it for the dialog boxes. -case "$with_menubars" in "" | "yes" | "athena" | "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* ) @@ -2913,6 +3365,11 @@ esac 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) ;; @@ -2920,15 +3377,23 @@ esac 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) @@ -2936,30 +3401,21 @@ 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 -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 ---------------------- @@ -2983,7 +3439,7 @@ if test "$with_mule" = "yes" ; then 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) @@ -3099,25 +3555,54 @@ if test "$need_motif" = "yes" ; then 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 Check for PTY support functions. +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 pty.h or in libutil.h. +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) + 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(). +AC_CHECK_FUNCS(getloadavg) + +if test "$ac_cv_func_getloadavg" = "yes"; then + dnl Solaris 8 declares getloadavg() in . + dnl glibc 2.2 declares getloadavg() in ... + dnl ...if we #define _GNU_SOURCE, which we do. + AC_CHECK_HEADERS(sys/loadavg.h) +else + dnl We define our own getloadavg() using lower level functions. + XE_ADD_OBJS(getloadavg.o) + + dnl Used by getloadavg() - does not require root priveleges + AC_CHECK_LIB(kstat, kstat_open) + AC_CHECK_HEADERS(kstat.h) + + dnl Another way to get the load average + AC_CHECK_LIB(kvm, kvm_read) +fi dnl If netdb.h does not declare h_errno, we must declare it by hand. AC_MSG_CHECKING(whether netdb declares h_errno) @@ -3197,8 +3682,7 @@ AC_TRY_LINK([ ], [ struct timeval time; - struct timezone dummy; - gettimeofday (&time, &dummy); + gettimeofday (&time, 0); ], [AC_MSG_RESULT(two)], [AC_MSG_RESULT(one) @@ -3207,18 +3691,18 @@ fi 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. @@ -3272,12 +3756,24 @@ int main (int argc, char *argv[]) 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 ],[ +#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 @@ -3329,10 +3825,6 @@ dnl Check for sound of various sorts. dnl Autodetect native sound AC_CHECKING("for sound support") -case "$with_sound" in - native | both ) with_native_sound=yes;; - nas | no ) with_native_sound=no;; -esac test -z "$with_native_sound" -a -n "$native_sound_lib" && with_native_sound=yes if test "$with_native_sound" != "no"; then @@ -3390,19 +3882,22 @@ 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 @@ -3410,14 +3905,50 @@ 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 @@ -3436,8 +3967,8 @@ if test "$with_tty" = "yes" ; then 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) @@ -3447,7 +3978,7 @@ if test "$with_tty" = "yes" ; then dnl ) 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" @@ -3479,8 +4010,8 @@ if test "$with_tty" = "yes" ; then 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) } @@ -3508,26 +4039,26 @@ dnl We do not necessarily have to have libdb/lib(g)dbm for DB/(G)DBM support. dnl On FreeBSD, both DB and DBM are part of libc. dnl By default, we check for DBM support in libgdbm, then libc, then libdbm. -test "$with_database_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. @@ -3541,15 +4072,18 @@ fi 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 +#if !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1) +#ifdef HAVE_INTTYPES_H #define __BIT_TYPES_DEFINED__ #include typedef uint8_t u_int8_t; @@ -3559,18 +4093,19 @@ typedef uint32_t u_int32_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 @@ -3580,14 +4115,14 @@ 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) @@ -3606,25 +4141,48 @@ if test "$usage_tracking" = "yes"; then 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_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 + 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 @@ -3649,12 +4207,13 @@ AC_TRY_RUN([int main(int c,char *v[]){return 0;}],[:],[ 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 @@ -3711,15 +4270,32 @@ if test "$extra_verbose" = "yes"; then 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 " +$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 @@ -3740,6 +4316,8 @@ AC_SUBST(PROGNAME) AC_SUBST(version) AC_SUBST(configuration) AC_SUBST(canonical) +AC_SUBST(inststaticdir) +AC_SUBST(instvardir) AC_SUBST(srcdir) AC_SUBST(bindir) AC_SUBST(datadir) @@ -3749,6 +4327,7 @@ AC_SUBST(libdir) 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 @@ -3760,6 +4339,7 @@ done AC_SUBST(PREFIX) AC_SUBST(exec_prefix) +AC_SUBST(EXEC_PREFIX_USER_DEFINED) EXEC_PREFIX=$exec_prefix while true; do case "$EXEC_PREFIX" in @@ -3857,16 +4437,16 @@ while true; do 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) @@ -3915,6 +4495,10 @@ 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 @@ -3926,10 +4510,8 @@ if test "$with_site_modules" = "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 @@ -3946,8 +4528,6 @@ dnl at the point where the autodetection occurs or would occur, dnl so that the user gets immediate feedback on the results of the dnl autodetection. -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) @@ -3956,14 +4536,14 @@ fi 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 @@ -3980,63 +4560,136 @@ echo "" 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." + +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" @@ -4044,90 +4697,66 @@ elif test "$window_system" != "none"; then 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_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_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." - 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 "$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 "$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." @@ -4139,11 +4768,6 @@ echo "" 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 ----------------------------------- @@ -4161,12 +4785,10 @@ dnl except ./Makefile from $srcdir/Makefile.in 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 @@ -4204,9 +4826,9 @@ dnl Delete spurious blanks inserted by $CPP -e 's/^[ TAB][ TAB]*$//'\ -e 's/^ /TAB/' \ dnl Delete blank lines - | sed -n -e '/^..*$/p' \ + -e '/^[ ]*$/d' \ dnl Restore lines quoted above to original contents. - | sed '/^\"/ { + -e '/^\"/ { s/\\\([\"]\)/\1/g s/^[ TAB]*\"// s/\"[ TAB]*$//