Mercurial > hg > xemacs-beta
diff configure.in @ 412:697ef44129c6 r21-2-14
Import from CVS: tag r21-2-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:20:41 +0200 |
parents | de805c49cfc1 |
children | da8ed4261e83 |
line wrap: on
line diff
--- a/configure.in Mon Aug 13 11:19:22 2007 +0200 +++ b/configure.in Mon Aug 13 11:20:41 2007 +0200 @@ -14,7 +14,7 @@ ### from the file `./configure.in'. ### To rebuild it, execute the command ### autoconf -### in the this directory. You must have autoconf version 2.13 or later. +### in the this directory. You must have autoconf version 2.12 or later. ### This file is part of XEmacs. @@ -50,7 +50,7 @@ dnl We use the m4 quoting characters [ ] (as established by the dnl autoconf system), so quote them like this: [[foo]] -AC_PREREQ(2.13)dnl +AC_PREREQ(2.12)dnl dnl Redefine some standard autoconf macros dnl here is how XEmacs is different: dnl - no cache file @@ -307,7 +307,6 @@ 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 @@ -346,28 +345,27 @@ statedir='${prefix}/lib' libdir='${exec_prefix}/lib' mandir='${prefix}/man/man1' -inststaticdir='${PROGNAME}' -instvardir='${PROGNAME}-${version}' -infodir='${datadir}/${instvardir}/info' +infodir='${datadir}/${PROGNAME}-${version}/info' infopath='' install_pp='' -lispdir='${datadir}/${instvardir}/lisp' -moduledir='${datadir}/${instvardir}/${configuration}/modules' -sitelispdir='${datadir}/${inststaticdir}/site-lisp' -sitemoduledir='${datadir}/${inststaticdir}/site-modules' -pkgdir='${datadir}/${instvardir}/lisp' +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' package_path='' -etcdir='${datadir}/${instvardir}/etc' -archlibdir='${datadir}/${instvardir}/${configuration}' -docdir='${archlibdir}' -with_prefix='yes' +etcdir='${datadir}/${PROGNAME}-${version}/etc' +lockdir='${statedir}/${PROGNAME}/lock' +archlibdir='${datadir}/${PROGNAME}-${version}/${configuration}' 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='' dynamic='' with_x11='' @@ -385,9 +383,6 @@ 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 @@ -468,8 +463,7 @@ dnl Process (many) boolean options with_site_lisp | \ - with_prefix | \ - with_site_modules | \ + with_site_modules | \ with_x | \ with_x11 | \ with_msw | \ @@ -488,7 +482,7 @@ with_jpeg | \ with_png | \ with_tiff | \ - with_wmcommand | \ + with_session | \ with_xmu | \ with_purify | \ with_quantify | \ @@ -505,7 +499,6 @@ with_sparcworks | \ with_tooltalk | \ with_ldap | \ - with_postgresql | \ with_pop | \ with_kerberos | \ with_hesiod | \ @@ -514,15 +507,15 @@ external_widget | \ verbose | \ extra_verbose | \ + const_is_losing | \ usage_tracking | \ use_union_type | \ - pdump | \ debug | \ use_assertions | \ memory_usage_stats | \ with_clash_detection | \ - with_modules | \ - quick_build ) + with_shlib | \ + no_doc_file ) dnl Make sure the value given was either "yes" or "no". case "$val" in y | ye | yes ) val=yes ;; @@ -581,20 +574,20 @@ "with_database" ) with_database_berkdb=no with_database_dbm=no - with_database_gdbm=no + with_database_gnudbm=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 | gdbm) with_database_gdbm=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 ) with_database_gnudbm=yes ;; + * ) USAGE_ERROR(["The \`--$optname' option value must be either \`no' or a comma-separated list of one or more of \`berkdb' and either \`dbm' or \`gnudbm'."]) ;; esac done - if test "$with_database_dbm" = "yes" -a \ - "$with_database_gdbm" = "yes"; then + if test "$with_database_dbm" = "yes" -a \ + "$with_database_gnudbm" = "yes"; then USAGE_ERROR("Only one of \`dbm' and \`gnudbm' may be specified with the \`--$optname' option.") fi @@ -602,54 +595,16 @@ dnl Has the user requested sound support? "with_sound" ) - dnl values is a subset of all,native,nas,esd - dnl or their negatives: none,nonative,nonas,noesd - for x in `echo "$val" | sed -e 's/,/ /g'` ; do - case "$x" in - dnl all and none are only permitted as the first in the list. - n | no | non | none ) new_sdefault=no ;; - a | al | all | both ) new_sdefault=yes ;; - - native ) with_native_sound=yes ;; - nonative ) with_native_sound=no ;; - - nas ) with_nas_sound=yes ;; - nonas ) with_nas_sound=no ;; - - esd ) with_esd_sound=yes ;; - noesd ) with_esd_sound=no ;; - - * ) bogus_sound=yes ;; - esac - if test "$bogus_sound" -o \ - \( -n "$new_sdefault" -a -n "$sound_notfirst" \) ; then - types="\`all', \`none', \`(no)native', \`no(nas)', \`(no)esd'." - USAGE_ERROR(["Valid types for the \`--$optname' option are: - $types. -The default is to autodetect all sound support."]) - elif test -n "$new_sdefault" ; then - with_native_sound=$new_sdefault - with_nas_sound=$new_sdefault - with_esd_sound=$new_sdefault - new_sdefault= # reset this - fi - sound_notfirst=true - done - ;; - - dnl Has the user specified a prefered Athena widget set? - dnl This bit expands any alias names out for us... - "with_athena" ) + dnl value can be native, nas or both. yes is allowed + dnl as a backwards compatible synonym for native case "$val" in - xa | xaw ) val=xaw ;; - 3 | 3d | xaw3d ) val=3d ;; - dnl No `n' for next, someone may try `no' - ne | nex | next | naxtaw) val=next ;; - dnl Have not tested the next two... - 9 | 95 | xaw95 ) val=95 ;; - xp | xpm | xawxpm ) val=xpm ;; + 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;; * ) USAGE_ERROR(["The \`--$optname' option must have one of these values: - \`xaw', \`3d', \`next', \`95', or \`xpm'."]) ;; + \`native', \`nas', \`both', or \`none'."]) ;; esac eval "$opt=\"$val\"" ;; @@ -672,10 +627,9 @@ case "$val" in lockf ) val=lockf ;; flock ) val=flock ;; - file | dot ) val=file ;; - locking ) val=locking ;; + file ) val=file ;; * ) USAGE_ERROR(["The \`--$optname' option must have one of these values: - \`lockf', \`flock', \`file', \`locking', or \`mmdf'."]) ;; + \`lockf', \`flock', or \`file'."]) ;; esac eval "$opt=\"$val\"" ;; @@ -707,20 +661,14 @@ 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', \`nomalloc', \`noglyphs' and \`nobyte-code'." + types="\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', and \`nomalloc'." else - types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', \`malloc', \`glyphs' and \`byte-code'." + types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', and \`malloc'." fi USAGE_ERROR(["Valid types for the \`--$optname' option are: $types."]) @@ -730,8 +678,6 @@ 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 @@ -745,7 +691,7 @@ dnl Has the user specified one of the path options? prefix | exec_prefix | bindir | datadir | statedir | libdir | \ - mandir | infodir | infopath | lispdir | etcdir | pkgdir | \ + mandir | infodir | infopath | lispdir | etcdir | lockdir | pkgdir | \ archlibdir | docdir | package_path ) dnl If the value was omitted, get it from the next argument. if test "$valomitted" = "yes"; then @@ -759,8 +705,6 @@ 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) ;; @@ -773,7 +717,7 @@ AC_DEFINE(LISPDIR_USER_DEFINED) AC_DEFINE(MODULEDIR_USER_DEFINED) AC_DEFINE(ETCDIR_USER_DEFINED) ;; - docdir ) AC_DEFINE(DOCDIR_USER_DEFINED) ;; + statedir | lockdir ) AC_DEFINE(LOCKDIR_USER_DEFINED) ;; exec_prefix | libdir | archlibdir ) AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;; esac ;; @@ -787,25 +731,21 @@ dnl Has the user specified the toolkit(s) to use for GUI elements? "with_menubars" | \ "with_scrollbars" | \ - "with_dialogs" | \ - "with_widgets" ) + "with_dialogs" ) 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 ;; - y | ye | yes ) val=yes ;; + n | no | non | none ) val=no ;; * ) USAGE_ERROR(["The \`--$optname' option must have one of these values: - \`lucid', \`motif', \`athena', \`yes', or \`no'."]) ;; + \`lucid', \`motif', \`athena', \`athena3d', 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.]) ;; @@ -911,7 +851,7 @@ dnl have stuck the source on a read-only partition. Instead we dnl create it as an actual directory later on if it does not already dnl exist. -for dir in lisp etc man info tests; do +for dir in lisp etc man info; do if test ! -d "$dir" ; then echo Making symbolic link to "$srcdir/$dir" ${LN_S} "$srcdir/$dir" "$dir" @@ -969,25 +909,20 @@ dnl ---------------------------------------- . "$srcdir/version.sh" || exit 1; dnl Must do the following first to determine verbosity for AC_DEFINE -if test -n "$emacs_is_beta"; then beta=yes; else beta=no; fi +if test -n "$emacs_beta_version"; then beta=yes; else beta=no; fi : "${extra_verbose=$beta}" version="${emacs_major_version}.${emacs_minor_version}" AC_DEFINE_UNQUOTED(EMACS_MAJOR_VERSION, $emacs_major_version) AC_DEFINE_UNQUOTED(EMACS_MINOR_VERSION, $emacs_minor_version) -if test -n "$emacs_beta_version" ; then - if test "$beta" = "yes"; then - version="${version}-b${emacs_beta_version}" - AC_DEFINE_UNQUOTED(EMACS_BETA_VERSION, $emacs_beta_version) - else - version="${version}.${emacs_beta_version}" - AC_DEFINE_UNQUOTED(EMACS_PATCH_LEVEL, $emacs_beta_version) - fi +if test -n "$emacs_beta_version"; then + version="${version}-b${emacs_beta_version}" + AC_DEFINE_UNQUOTED(EMACS_BETA_VERSION, $emacs_beta_version) 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 @@ -1006,28 +941,23 @@ 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_is_beta"; then beta=yes; else beta=no; fi +if test -n "$emacs_beta_version"; 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) @@ -1079,9 +1009,7 @@ 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 ;; @@ -1091,9 +1019,8 @@ m68*-sony-* ) machine=news ;; mips-sony-* ) machine=news-risc ;; clipper-* ) machine=clipper ;; - arm* ) machine=arm ;; + arm-* ) machine=arm ;; ns32k-* ) machine=ns32000 ;; - s390-* ) machine=s390 ;; esac dnl Straightforward OS determination @@ -1536,7 +1463,6 @@ else NON_GNU_CPP="/lib/cpp -D_XOPEN_SOURCE" ; fi ;; - *-sysv5* ) opsys=sco7 ;; *-386bsd* ) opsys=386bsd ;; *-freebsd* ) opsys=freebsd ;; *-nextstep* ) opsys=nextstep ;; @@ -1602,7 +1528,7 @@ XE_ADD_OBJS(sunpro.o) fi -if test "$with_clash_detection" != "no"; then +if test "$with_clash_detection" = "yes"; then AC_DEFINE(CLASH_DETECTION) XE_ADD_OBJS(filelock.o) fi @@ -1649,14 +1575,7 @@ AC_PROG_CPP -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_AIX AC_MSG_CHECKING(for GNU libc) AC_TRY_COMPILE([#include <features.h>],[ @@ -1670,23 +1589,6 @@ 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! @@ -1767,11 +1669,8 @@ CPP_to_sh(LD_SWITCH_SHARED, ld_switch_shared, -c) -#define ORDINARY_LD "\$(CC) \$(CFLAGS)" -configure___ ordinary_ld=ORDINARY_LD - #ifdef ORDINARY_LINK -#define LD ORDINARY_LD +#define LD "\$(CC) \$(CFLAGS)" #else /* no ORDINARY LINK */ #ifdef COFF_ENCAPSULATE #define LD "\$(CC) -nostdlib" @@ -1807,10 +1706,8 @@ 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 @@ -1825,15 +1722,6 @@ 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 @@ -1842,19 +1730,12 @@ ld lib_gcc ld_text_start_addr start_files ordinary_link have_terminfo mail_use_flock mail_use_lockf) && echo "" -dnl Pick up mingw32 include path -case "$opsys" in mingw*) mingw_include=`eval "gcc -print-file-name=libc.a"` ; - mingw_include=`eval "dirname $mingw_include"` ; - mingw_include="-I$mingw_include/../include/mingw32" ; - XE_APPEND($mingw_include, c_switch_system) ;; -esac - dnl Non-ordinary link usually requires -lc test "$ordinary_link" = "no" -a -z "$libs_standard" && libs_standard="-lc" dnl Compiler-specific hacks -dnl DEC C `-std1' means ANSI C mode -test "$__DECC" = "yes" && XE_APPEND(-std1, c_switch_site) +dnl DEC C requires -std +test "$__DECC" = "yes" && XE_APPEND(-std, c_switch_site) dnl Calculalate value of CFLAGS: dnl Use either command line flag, environment var, or autodetection @@ -1862,7 +1743,7 @@ 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 -Wpointer-arith -Winline -Wmissing-prototypes -Wshadow" + CFLAGS="-g -O3 -Wall -Wno-switch" 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" @@ -1881,70 +1762,6 @@ fi fi -dnl Search for GCC specific build problems we know about -if test "$GCC" = "yes"; then -AC_MSG_CHECKING(for buggy gcc versions) -GCC_VERSION=`$CC --version` -case `uname -s`:`uname -m`:$GCC_VERSION in - dnl egcs 2.90.21 (egcs-1.00 release) - dnl egcs 2.90.29 (egcs-1.0.3 release) - *:sun4*:2.8.1|*:sun4*:egcs-2.90.*) - dnl Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures - dnl without also using `-fno-schedule-insns'. - case "$CFLAGS" in - *-O2*|*-O3*) - case "$CFLAGS" in - *-fno-schedule-insns*) ;; - *) - AC_MSG_RESULT(Yes) - AC_MSG_WARN(Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures) - AC_MSG_WARN(without also using -fno-schedule-insns.) - AC_MSG_ERROR(Aborting due to known problem) - ;; - esac - ;; - esac - ;; - dnl egcs-2.91.57 (egcs-1.1 release) - dnl egcs-2.91.66 (egcs-1.1.2 release) - Linux:alpha:egcs-2.91.*) - AC_MSG_RESULT(Yes) - AC_MSG_WARN(There have been reports of egcs-1.1 not compiling XEmacs correctly on) - AC_MSG_WARN(Alpha Linux. There have also been reports that egcs-1.0.3a is O.K.) - AC_MSG_ERROR(Aborting due to known problem) - ;; - *:i*86*:2.7.2*) - case "$GCC_VERSION" in - 2.7.2) - case "$CFLAGS" in - *-O2*|*-O3*) - case "$CFLAGS" in - *-fno-strength-reduce*) ;; - *) - AC_MSG_RESULT(Yes) - AC_MSG_WARN(Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using) - AC_MSG_WARN(-fno-strength-reduce.) - AC_MSG_ERROR(Aborting due to known problem) - ;; - esac - ;; - esac - ;; - esac - case "$CFLAGS" in - *-fno-caller-saves*) ;; - *) - AC_MSG_RESULT(Yes) - AC_MSG_WARN(Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using) - AC_MSG_WARN(-fno-caller-saves.) - AC_MSG_ERROR(Aborting due to known problem) - ;; - esac - ;; -esac -fi -AC_MSG_RESULT(No) - dnl Inform compiler that certain flags are meant for the linker dnl XE_PROTECT_LINKER_FLAGS(shell_var) define([XE_PROTECT_LINKER_FLAGS], [ @@ -1968,8 +1785,7 @@ dnl Add s&m-determined objects (including unexec) to link line test -n "$objects_machine" && XE_ADD_OBJS($objects_machine) test -n "$objects_system" && XE_ADD_OBJS($objects_system) -test -n "$unexec" && test ! "$pdump" = "yes" && XE_ADD_OBJS($unexec) -test "$pdump" = "yes" && XE_ADD_OBJS(dumper.o) +test -n "$unexec" && XE_ADD_OBJS($unexec) dnl Dynodump (Solaris 2.x, x<6) AC_MSG_CHECKING(for dynodump) @@ -2066,16 +1882,16 @@ COLON_TO_SPACE(site_prefixes) if test -n "$site_prefixes"; then for dir in $site_prefixes; do + inc_dir="${dir}/include" lib_dir="${dir}/lib" - inc_dir="${dir}/include" if test ! -d "$dir"; then XE_DIE("Invalid site prefix \`$dir': no such directory") + elif test ! -d "$inc_dir"; then + XE_DIE("Invalid site prefix \`$dir': no such directory \`$inc_dir'") elif test ! -d "$lib_dir"; then XE_DIE("Invalid site prefix \`$dir': no such directory \`$lib_dir'") else - if test -d "$inc_dir"; then - XE_APPEND("-I$inc_dir", c_switch_site) - fi + XE_APPEND("-I$inc_dir", c_switch_site) XE_APPEND("-L$lib_dir", ld_switch_site) fi done @@ -2089,7 +1905,7 @@ dnl Extra system-specific library directories - please add to list for dir in "/usr/ccs/lib"; do - test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_system) + test -d "$dir" && XE_APPEND(-L${dir}, ld_switch_site) done dnl --site-runtime-libraries (multiple dirs) @@ -2099,31 +1915,11 @@ 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 -n "$add_runtime_path"; then :; -elif test "$dynamic" = "no"; then add_runtime_path=no +if 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 ;; @@ -2241,6 +2037,7 @@ 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], @@ -2250,26 +2047,29 @@ 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" -a "$GNU_MALLOC" = "yes" ; then - GNU_MALLOC_reason=" - - Using Doug Lea's new malloc from the GNU C Library." +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 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. @@ -2298,25 +2098,9 @@ AC_PROG_YACC dnl checks for header files -AC_CHECK_HEADERS(dnl - a.out.h dnl - cygwin/version.h dnl - fcntl.h dnl - inttypes.h dnl - libgen.h dnl - locale.h dnl - mach/mach.h dnl - sys/param.h dnl - sys/pstat.h dnl - sys/stropts.h dnl - sys/time.h dnl - sys/timeb.h dnl - sys/un.h dnl - kstat.h dnl - ulimit.h dnl - unistd.h dnl - utime.h dnl -) +AC_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_HEADER_SYS_WAIT AC_HEADER_STDC AC_HEADER_TIME @@ -2348,20 +2132,6 @@ 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 @@ -2421,32 +2191,13 @@ 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 -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 +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" 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" && \ @@ -2463,15 +2214,13 @@ fi dnl Link with "-z ignore" on Solaris if supported -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 +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 fi dnl ---------------------- @@ -2615,19 +2364,10 @@ cd .. rm -fr conftestdir for word in $xmkmf_defines; do - 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 ;; + case "$word" in + -D*=* ) ;; + -D* ) word=`echo '' $word | sed -e 's:^ *-D::'` + AC_DEFINE_UNQUOTED($word) ;; esac done fi @@ -2662,8 +2402,6 @@ AC_MSG_RESULT(R${x11_release}) AC_DEFINE_UNQUOTED(THIS_IS_X11R${x11_release}) - AC_CHECK_FUNCS(XConvertCase) - AC_CHECK_HEADERS(X11/Xlocale.h) dnl remove this - we should avoid checking for specific OS @@ -2715,7 +2453,7 @@ if test "$with_msw" = "yes"; then AC_DEFINE(HAVE_MS_WINDOWS) install_pp="$blddir/lib-src/installexe.sh" - XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lwinspool, libs_system) + XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomctl32, libs_system) test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto) if test "$window_system" != x11; then window_system=msw @@ -2727,7 +2465,6 @@ && 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) @@ -2738,6 +2475,7 @@ 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 @@ -2781,7 +2519,7 @@ dnl if test "$with_tty" = "no" ; then dnl AC_MSG_ERROR([No window system support and no TTY support - Unable to proceed.]) dnl fi - for feature in tooltalk cde offix wmcommand xim xmu nas_sound + for feature in tooltalk cde offix session xim xmu do if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then AC_MSG_WARN([--with-$feature ignored: Not valid without X support]) @@ -2804,11 +2542,11 @@ test "$opsys" = "hpux9-shr" && opsysfile="s/hpux9shxr4.h" esac -dnl Enable or disable proper handling of WM_COMMAND -AC_CHECKING(for WM_COMMAND option); -dnl if test "$with_wmcommand" = "yes"; then -if test "$with_wmcommand" != "no"; then - AC_DEFINE(HAVE_WMCOMMAND) +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) fi dnl Autodetect Xauth @@ -2832,9 +2570,9 @@ dnl autodetect the location of tt_c.h dnl tt_c.h might be in Tt or desktop include directories for dir in "" "Tt/" "desktop/" ; do - AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_file="${dir}tt_c.h"; break) + AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_path="${dir}tt_c.h"; break) done - if test -z "$tt_c_h_file"; then + if test -z "$tt_c_h_path"; then if test "$with_tooltalk" = "yes"; then USAGE_ERROR("Unable to find required tooltalk header files.") fi @@ -2856,7 +2594,7 @@ test -z "$with_tooltalk" && with_tooltalk=yes if test "$with_tooltalk" = "yes"; then AC_DEFINE(TOOLTALK) - AC_DEFINE_UNQUOTED(TT_C_H_FILE, "$tt_c_h_file") + AC_DEFINE_UNQUOTED(TT_C_H_PATH, "$tt_c_h_path") XE_PREPEND($tt_libs, libs_x) XE_ADD_OBJS(tooltalk.o) fi @@ -2922,60 +2660,22 @@ test -z "$with_ldap" && { AC_CHECK_HEADER(ldap.h, ,with_ldap=no) } test -z "$with_ldap" && { AC_CHECK_HEADER(lber.h, ,with_ldap=no) } if test "$with_ldap" != "no"; then - AC_CHECK_LIB(ldap, ldap_search, with_ldap_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 + 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 fi if test "$with_ldap" = "yes"; then AC_DEFINE(HAVE_LDAP) XE_ADD_OBJS(eldap.o) - if test "$with_ldap_nolber" = "yes" ; then - XE_PREPEND(-lldap, LIBS) - 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 + if test "$with_umich_ldap" = "yes" ; then + AC_DEFINE(HAVE_UMICH_LDAP) 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.") + 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 + XE_PREPEND(-lldap, LIBS) fi fi @@ -2991,8 +2691,7 @@ if test -z "$with_xpm"; then AC_MSG_CHECKING(for Xpm - no older than 3.4f) xe_check_libs=-lXpm - AC_TRY_RUN([#define XPM_NUMBERS -#include <X11/xpm.h> + AC_TRY_RUN([#include <X11/xpm.h> int main(int c, char **v) { return c == 1 ? 0 : XpmIncludeVersion != XpmLibraryVersion() ? 1 : @@ -3125,101 +2824,13 @@ AC_CHECKING(for X11 graphics libraries) - 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 -lXaw + AC_CHECK_LIB(Xaw, XawScrollbarSetThumb, have_xaw=yes, have_xaw=no) + dnl if test "$have_xaw" = "yes"; then + dnl AC_CHECK_HEADER(X11/Xaw/Reports.h, [ + dnl XE_APPEND(pkg-src/tree-x, MAKE_SUBDIR) + dnl XE_APPEND(pkg-src/tree-x, INSTALL_ARCH_DEP_SUBDIR)]) + dnl fi dnl autodetect Motif - but only add to libs_x later (if necessary) AC_CHECK_HEADER(Xm/Xm.h, @@ -3244,62 +2855,26 @@ 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" ) +case "$with_menubars" in "" | "yes" | "athena" | "athena3d" ) with_menubars="lucid" ;; esac case "$with_dialogs" in "" | "yes" | "lucid" ) - if test "$have_motif" = "yes"; then with_dialogs="motif" - elif test "$have_xaw" = "yes"; then with_dialogs="athena" + if test "$have_motif" = "yes"; then with_dialogs="motif" + elif test "$have_xaw" = "yes"; then with_dialogs="athena" else with_dialogs=no fi ;; esac case "$with_scrollbars" in "" | "yes" ) with_scrollbars="lucid" ;; esac -case "$with_widgets" in "" | "yes" | "lucid") - if test "$have_motif" = "yes"; then with_widgets="motif" - elif test "$have_xaw" = "yes"; then with_widgets="athena" - else with_widgets=no - fi ;; -esac - -all_widgets="$with_menubars $with_scrollbars $with_dialogs $with_toolbars $with_widgets" - -case "$all_widgets" in - *athena* ) - if test "$have_xaw" != "yes"; then - XE_DIE("Could not find a suitable Athena library to build with.") - fi - - dnl Add the Lucid widget Athena code - XE_APPEND(lwlib-Xaw.o, lwlib_objs) - - 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 - ;; + +all_widgets="$with_menubars $with_scrollbars $with_dialogs $with_toolbars" + +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) ;; esac case "$all_widgets" in *motif* ) @@ -3312,11 +2887,6 @@ 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) ;; @@ -3324,23 +2894,15 @@ AC_SUBST(lwlib_objs) -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) +case "$with_scrollbars" in athena* ) AC_DEFINE(LWLIB_SCROLLBARS_ATHENA);; esac +case "$with_dialogs" in athena* ) AC_DEFINE(LWLIB_DIALOGS_ATHENA) ;; esac +test "$with_scrollbars" = "athena3d" && AC_DEFINE(LWLIB_SCROLLBARS_ATHENA3D) +test "$with_dialogs" = "athena3d" && AC_DEFINE(LWLIB_DIALOGS_ATHENA3D) test "$with_menubars" != "no" && AC_DEFINE(HAVE_MENUBARS) test "$with_scrollbars" != "no" && AC_DEFINE(HAVE_SCROLLBARS) test "$with_dialogs" != "no" && AC_DEFINE(HAVE_DIALOGS) test "$with_toolbars" != "no" && AC_DEFINE(HAVE_TOOLBARS) -test "$with_widgets" != "no" && AC_DEFINE(HAVE_WIDGETS) test "$with_menubars" = "lucid" && AC_DEFINE(LWLIB_MENUBARS_LUCID) test "$with_scrollbars" = "lucid" && AC_DEFINE(LWLIB_SCROLLBARS_LUCID) @@ -3348,19 +2910,24 @@ 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 no" && XE_ADD_OBJS(gui-x.o) + 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 fi dnl ---------------------- @@ -3502,10 +3069,25 @@ XE_COMPUTE_RUNPATH() fi -AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getpt getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strcasecmp strerror tzset ulimit usleep utimes waitpid vsnprintf fsync ftruncate umask) - -dnl Use our own realpath always. -XE_ADD_OBJS(realpath.o) +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) + +dnl realpath is buggy on linux, decosf and aix4 + +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 Check whether the system provides getloadavg (Solaris 7 has it) AC_CHECK_FUNCS(getloadavg) @@ -3599,7 +3181,8 @@ ], [ struct timeval time; - gettimeofday (&time, 0); + struct timezone dummy; + gettimeofday (&time, &dummy); ], [AC_MSG_RESULT(two)], [AC_MSG_RESULT(one) @@ -3608,7 +3191,10 @@ AC_C_INLINE -test "$ac_cv_c_inline" != "no" -a "$GCC" = "yes" && XE_ADD_OBJS(inline.o) +if test "$ac_cv_c_inline" != "no"; then + AC_DEFINE(HAVE_INLINE) + test "$GCC" = "yes" && XE_ADD_OBJS(inline.o) +fi dnl HP-UX has a working alloca in libPW. dnl case "${GCC}${opsys}" in hpux* ) @@ -3670,24 +3256,12 @@ 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 -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 "$GNU_MALLOC" != "yes" -a "$have_mmap" != "yes" && rel_alloc=no +test "$rel_alloc" = "default" -a "$have_mmap" = "yes" && rel_alloc=yes test "$rel_alloc" = "yes" && AC_DEFINE(REL_ALLOC) dnl Check for terminal I/O variants @@ -3739,6 +3313,10 @@ 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 @@ -3796,22 +3374,19 @@ for dir in "machine" "sys" "linux"; do AC_CHECK_HEADER(${dir}/soundcard.h, sound_found=yes - need_miscplay=yes XE_ADD_OBJS(linuxplay.o) - [AC_DEFINE_UNQUOTED(SOUNDCARD_H_FILE, "${dir}/soundcard.h")] + [AC_DEFINE_UNQUOTED(SOUNDCARD_H_PATH, "${dir}/soundcard.h")] break) done fi - 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 + test "$sound_found" = "yes" && with_native_sound=yes +fi + +if test -z "$with_sound"; then + if test "$with_native_sound" = "yes" -o -n "$native_sound_lib"; then + with_sound=native fi - - test "$sound_found" = "yes" && with_native_sound=yes fi if test "$with_native_sound" = "yes"; then @@ -3819,50 +3394,14 @@ test -n "$native_sound_lib" && XE_PREPEND($native_sound_lib, LIBS) fi -dnl NAS Sound support -if test "$with_nas_sound" != "no"; then - AC_CHECK_HEADER(audio/audiolib.h, [ - AC_CHECK_LIB(audio, AuOpenServer, have_nas_sound=yes)]) - if test "$have_nas_sound" = "yes"; then - with_nas_sound=yes - AC_DEFINE(HAVE_NAS_SOUND) - XE_ADD_OBJS(nas.o) - XE_PREPEND(-laudio, libs_x) - dnl If the nas library does not contain the error jump point, - dnl then we force safer behavior. - AC_EGREP_HEADER(AuXtErrorJump,audio/Xtutil.h,,[old_nas=yes; AC_DEFINE(NAS_NO_ERROR_JUMP)]) - else - test "$with_nas_sound" = "yes" && \ - XE_DIE("Required NAS sound support cannot be provided.") - with_nas_sound=no - fi -fi - -dnl ESD Sound support -if test "$with_esd_sound" != "no"; then - AC_CHECK_PROG(have_esd_config, esd-config, yes, no) - if test "$have_esd_config" = "yes"; then - save_c_switch_site="$c_switch_site" save_LIBS="$LIBS" - XE_APPEND(`esd-config --cflags`, c_switch_site) - XE_PREPEND(`esd-config --libs`, LIBS) - AC_CHECK_FUNC(esd_play_stream, - have_esd_sound=yes, - c_switch_site="$save_c_switch_site" LIBS="$save_LIBS") - fi - - if test "$have_esd_sound" = "yes"; then - with_esd_sound=yes - need_miscplay=yes - XE_ADD_OBJS(esd.o) - AC_DEFINE(HAVE_ESD_SOUND) - else - test "$with_esd_sound" = "yes" && \ - XE_DIE("Required ESD sound support cannot be provided.") - with_esd_sound=no - fi -fi - -test "$need_miscplay" = "yes" && XE_ADD_OBJS(miscplay.o) +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 --------------------- dnl TTY-dependent options @@ -3881,8 +3420,8 @@ fi if test "$with_ncurses" = "yes"; then AC_DEFINE(HAVE_NCURSES) - AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h) - AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h) + AC_CHECK_HEADER(ncurses/curses.h, curses_h_path=ncurses/curses.h) + AC_CHECK_HEADER(ncurses/term.h, term_h_path=ncurses/term.h) XE_ADD_OBJS(terminfo.o) XE_PREPEND(-lncurses, LIBS) @@ -3892,7 +3431,7 @@ dnl <ncurses/unctrl.h>) save_c_switch_site="$c_switch_site" c_switch_site="$c_switch_site -I/usr/include/ncurses" - AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h) + AC_CHECK_HEADER(ncurses/curses.h, curses_h_path=ncurses/curses.h) if test "$ac_cv_header_ncurses_curses_h" = "yes" then AC_MSG_WARN("Your system has the bogus ncurses include bug.") else c_switch_site="$save_c_switch_site" @@ -3924,8 +3463,8 @@ fi fi fi - AC_DEFINE_UNQUOTED(CURSES_H_FILE, "${curses_h_file-curses.h}") - AC_DEFINE_UNQUOTED(TERM_H_FILE, "${term_h_file-term.h}") + AC_DEFINE_UNQUOTED(CURSES_H_PATH, "${curses_h_path-curses.h}") + AC_DEFINE_UNQUOTED(TERM_H_PATH, "${term_h_path-term.h}") dnl Autodetect gpm test -z "$with_gpm" && { AC_CHECK_HEADER(gpm.h, , with_gpm=no) } @@ -3953,26 +3492,26 @@ dnl On FreeBSD, both DB and DBM are part of libc. dnl By default, we check for DBM support in libgdbm, then libc, then libdbm. -test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \ +test "$with_database_gnudbm $with_database_dbm $with_database_berkdb" \ != "no no no" && AC_CHECKING(for database support) dnl Check for ndbm.h, required for either kind of DBM support. -if test "$with_database_gdbm $with_database_dbm" != "no no"; then +if test "$with_database_gnudbm $with_database_dbm" != "no no"; then AC_CHECK_HEADER(ndbm.h, [:], [ - test "$with_database_gdbm" = "yes" -o \ - "$with_database_dbm" = "yes" && \ + test "$with_database_gnudbm" = "yes" -o \ + "$with_database_dbm" = "yes" && \ XE_DIE("Required DBM support cannot be provided.") - with_database_gdbm=no with_database_dbm=no]) + with_database_gnudbm=no with_database_dbm=no]) fi dnl Check for DBM support in libgdbm. -if test "$with_database_gdbm" != "no"; then +if test "$with_database_gnudbm" != "no"; then AC_CHECK_LIB(gdbm, dbm_open, [ - with_database_gdbm=yes with_database_dbm=no libdbm=-lgdbm], [ - if test "$with_database_gdbm" = "yes"; then + with_database_gnudbm=yes with_database_dbm=no libdbm=-lgdbm], [ + if test "$with_database_gnudbm" = "yes"; then XE_DIE("Required GNU DBM support cannot be provided.") fi - with_database_gdbm=no]) + with_database_gnudbm=no]) fi dnl Check for DBM support in libc and libdbm. @@ -3986,18 +3525,15 @@ dnl Tell make about the DBM support we detected. test -n "$libdbm" && XE_PREPEND("$libdbm", LIBS) -test "$with_database_gdbm" = "yes" -o \ - "$with_database_dbm" = "yes" && \ +test "$with_database_gnudbm" = "yes" -o \ + "$with_database_dbm" = "yes" && \ AC_DEFINE(HAVE_DBM) dnl Check for Berkeley DB. if test "$with_database_berkdb" != "no"; then AC_MSG_CHECKING(for Berkeley db.h) - for header in "db/db.h" "db.h"; do - AC_TRY_COMPILE([ -#include <stdlib.h> -#if !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1) -#ifdef HAVE_INTTYPES_H + for path in "db/db.h" "db.h"; do + AC_TRY_COMPILE([#ifdef HAVE_INTTYPES_H #define __BIT_TYPES_DEFINED__ #include <inttypes.h> typedef uint8_t u_int8_t; @@ -4007,19 +3543,18 @@ typedef uint64_t u_int64_t; #endif #endif -#endif -#include <$header> -],[], db_h_file="$header"; break) +#include <$path> +],[], db_h_path="$path"; break) done - if test -z "$db_h_file" + if test -z "$db_h_path" then AC_MSG_RESULT(no); with_database_berkdb=no - else AC_MSG_RESULT($db_h_file) + else AC_MSG_RESULT($db_h_path) fi if test "$with_database_berkdb" != "no"; then AC_MSG_CHECKING(for Berkeley DB version) AC_EGREP_CPP(yes, -[#include <$db_h_file> +[#include <$db_h_path> #if DB_VERSION_MAJOR > 1 yes #endif @@ -4029,14 +3564,14 @@ fi if test "$with_database_berkdb" = "yes"; then - AC_DEFINE_UNQUOTED(DB_H_FILE, "$db_h_file") + AC_DEFINE_UNQUOTED(DB_H_PATH, "$db_h_path") AC_DEFINE(HAVE_BERKELEY_DB) test "$need_libdb" = "yes" && XE_PREPEND(-ldb, LIBS) else with_database_berkdb=no fi fi -if test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \ +if test "$with_database_gnudbm $with_database_dbm $with_database_berkdb" \ != "no no no"; then AC_DEFINE(HAVE_DATABASE) XE_ADD_OBJS(database.o) @@ -4055,48 +3590,25 @@ fi dnl autodetect dll support -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 - +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 "$can_build_shared" = "yes"; then AC_DEFINE(HAVE_SHLIB) - XE_ADD_OBJS(sysdll.o emodules.o) + XE_ADD_OBJS(sysdll.o) + XE_ADD_OBJS(emodules.o) XE_APPEND(src, INSTALL_ARCH_DEP_SUBDIR) - test -n "$libdl" && XE_PREPEND(-l${libdl}, LIBS) + test ! -z "$DLL_LIB" && XE_PREPEND(-l${DLL_LIB}, LIBS) AC_CHECK_FUNCS(dlerror _dlerror) - with_modules=yes else - if test "$with_modules" = "yes"; then - XE_DIE("Required module support cannot be provided.") - else - AC_MSG_WARN("Module support cannot be provided.") - fi - with_modules=no + AC_MSG_WARN(disabling shared library support) + with_shlib=no fi fi @@ -4184,32 +3696,15 @@ echo "" fi -dnl ---------------------------------------------- -dnl Create some auxiliary files for developers. -dnl ---------------------------------------------- - -dnl Create a .gdbinit useful for debugging XEmacs -if test -f "$srcdir/src/.gdbinit" -a ! -f "src/.gdbinit"; then - test "$extra_verbose" = "yes" && echo "creating src/.gdbinit" - echo "source $srcdir/src/.gdbinit" > "src/.gdbinit" -fi - -dnl Create a .dbxrc useful for debugging XEmacs -if test -f "$srcdir/src/.dbxrc" -a ! -f "src/.dbxrc"; then - test "$extra_verbose" = "yes" && echo "creating src/.dbxrc" - echo ". $srcdir/src/.dbxrc" > "src/.dbxrc" -fi - -dnl Create a useful TAGS file -if test -f "$srcdir/TAGS" -a ! -f "TAGS"; then - test "$extra_verbose" = "yes" && echo "creating TAGS" - echo " -$srcdir/TAGS,include" > "TAGS" +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 fi dnl Create top level .sbinit for Sun compilers if test "$__SUNPRO_C" = "yes"; then - test "$extra_verbose" = "yes" && echo "creating .sbinit" + echo "creating .sbinit"; echo "" ( 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 @@ -4230,8 +3725,6 @@ AC_SUBST(version) AC_SUBST(configuration) AC_SUBST(canonical) -AC_SUBST(inststaticdir) -AC_SUBST(instvardir) AC_SUBST(srcdir) AC_SUBST(bindir) AC_SUBST(datadir) @@ -4241,7 +3734,6 @@ 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 @@ -4253,7 +3745,6 @@ AC_SUBST(PREFIX) AC_SUBST(exec_prefix) -AC_SUBST(EXEC_PREFIX_USER_DEFINED) EXEC_PREFIX=$exec_prefix while true; do case "$EXEC_PREFIX" in @@ -4351,16 +3842,16 @@ done AC_SUBST(ETCDIR) -AC_SUBST(docdir) -AC_SUBST(DOCDIR_USER_DEFINED) -DOCDIR=$docdir +AC_SUBST(lockdir) +AC_SUBST(LOCKDIR_USER_DEFINED) +LOCKDIR=$lockdir while true; do - case "$DOCDIR" in - *\$* ) eval "DOCDIR=$DOCDIR" ;; + case "$LOCKDIR" in + *\$* ) eval "LOCKDIR=$LOCKDIR" ;; *) break ;; esac done -AC_SUBST(DOCDIR) +AC_SUBST(LOCKDIR) AC_SUBST(archlibdir) AC_SUBST(ARCHLIBDIR_USER_DEFINED) @@ -4409,10 +3900,6 @@ : ${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 @@ -4424,7 +3911,7 @@ fi XE_SPACE(ac_configure_args, $ac_configure_args) -AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$configuration") +AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$canonical") AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "$ac_configure_args") AC_DEFINE_UNQUOTED(config_machfile, "$machfile") AC_DEFINE_UNQUOTED(config_opsysfile, "$opsysfile") @@ -4452,14 +3939,14 @@ test "$with_i18n3" = "yes" && AC_DEFINE(I18N3) test "$GCC" = "yes" && AC_DEFINE(USE_GCC) test "$external_widget" = "yes" && AC_DEFINE(EXTERNAL_WIDGET) -test "$quick_build" = "yes" && AC_DEFINE(QUICK_BUILD) +test "$no_doc_file" = "yes" && AC_DEFINE(NO_DOC_FILE) +dnl test "$const_is_losing" = "yes" && AC_DEFINE(CONST_IS_LOSING) 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 @@ -4476,128 +3963,63 @@ echo "$0 $quoted_arguments" ) > Installation -if test ! -z ${emacs_beta_version} ; then - if test -z "${emacs_is_beta}" ; then - xemacs_betaname=".${emacs_beta_version}" - else - xemacs_betaname="-b${emacs_beta_version}" - fi -else - xemacs_betaname="" -fi +xemacs_betaname="" +test ! -z "${emacs_beta_version}" && xemacs_betaname="-b${emacs_beta_version}" dnl Start stdout redirection to '| tee -a Installation' ( echo " XEmacs ${emacs_major_version}.${emacs_minor_version}${xemacs_betaname} \"$xemacs_codename\" configured for \`$canonical'. -" -echo " -Compilation / Installation:" -echo " Source code location: $srcdir" -echo " Installation prefix: $prefix" + + 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 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" -fi -echo " Operating system description file: \`$opsysfile'" -echo " Machine description file: \`$machfile'" -echo " Compiler: $CC $CFLAGS" -echo " Relocating allocator for buffers: $rel_alloc" -echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}" - -echo " -Window System:" -if test "$with_msw" = "yes"; then - echo " Compiling in support for the Microsoft window system." -fi -if test "$with_x11" = "yes"; then - echo " Compiling in support for the X window system:" - echo " - X Windows headers location: $x_includes" - echo " - X Windows libraries location: $x_libraries" - if test "$with_xauth" != yes; then - echo " - Xau (X authority) not available." - fi - if test "$with_xmu" != yes; then - echo " - Xmu library not available; substituting equivalent routines." - fi - if test "$with_wmcommand" != no; then - echo " - Handling WM_COMMAND properly." - fi -fi -if test "$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" + echo " Runtime library search path: $runpath" 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." +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." 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 " WARNING: -----------------------------------------------------------" - echo " WARNING: Compiling without XPM image support." + echo " --------------------------------------------------------------------" + echo " WARNING: Compiling without XPM support." if test "$xpm_problem" != ""; then echo " Reason: $xpm_problem" fi echo " WARNING: You should strongly consider installing XPM." echo " WARNING: Otherwise toolbars and other graphics will look suboptimal." echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)" - echo " WARNING: -----------------------------------------------------------" + echo " --------------------------------------------------------------------" fi if test "$with_png" = yes; then - echo " Compiling in support for PNG images." + echo " Compiling in support for PNG image handling." elif test "$window_system" != "none"; then - echo " WARNING: -----------------------------------------------------------" + echo " --------------------------------------------------------------------" echo " WARNING: Compiling without PNG image support." if test "$png_problem" != ""; then echo " Reason: $png_problem" @@ -4605,66 +4027,87 @@ echo " WARNING: You should strongly consider installing the PNG libraries." echo " WARNING: Otherwise certain images and glyphs may not display." echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)" - echo " WARNING: -----------------------------------------------------------" + echo " --------------------------------------------------------------------" fi -test "$with_jpeg" = yes && echo " Compiling in support for JPEG images." -test "$with_tiff" = yes && echo " Compiling in support for TIFF images." +test "$with_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_xface" = yes && echo " Compiling in support for X-Face message headers." - -echo " -Sound:" -test "$with_native_sound" = yes && echo " Compiling in support for sound (native)." -test "$with_nas_sound" = yes && echo " Compiling in support for NAS (network audio system)." -test "$old_nas" = yes && echo " - NAS library lacks error trapping; will play synchronously." -test "$with_esd_sound" = yes && echo " Compiling in support for ESD (Enlightened Sound Daemon)." - -echo " -Databases:" -test "$with_database_berkdb" = yes && echo " Compiling in support for Berkeley database." +case "$with_sound" in + nas ) echo " Compiling in network sound (NAS) support." ;; + native ) echo " Compiling in native sound support." ;; + both ) echo " Compiling in both network and native sound support." ;; +esac +test "$old_nas" = yes && echo " nas library lacks error trapping, will play synchronously." + +test "$with_database_berkdb" = yes && echo " Compiling in support for Berkeley DB." test "$with_database_dbm" = yes && echo " Compiling in support for DBM." -test "$with_database_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." +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." 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 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." - -echo " -Other Features:" +test "$with_i18n3" = yes && echo " Compiling in I18N support, level 3 (doesn't currently work)." + +test "$with_cde" = yes && echo " Compiling in support for CDE." 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_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 +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 "$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 echo " WARNING: ---------------------------------------------------------" echo " WARNING: Compiling in support for runtime error checking." echo " WARNING: XEmacs will run noticeably more slowly as a result." @@ -4693,10 +4136,12 @@ for file in $internal_makefile_list; do test "$file" = src/Makefile.in && \ file="src/Makefile.in:src/Makefile.in.in:src/depend" - XE_APPEND($file, ac_output_files) + ac_output_files="${ac_output_files+$ac_output_files }$file" done ac_output_files="$ac_output_files src/paths.h lib-src/config.values" -test "$with_modules" = "yes" && XE_APPEND(lib-src/ellcc.h, ac_output_files) +if test "$with_shlib" = "yes"; then + ac_output_files="$ac_output_files lib-src/ellcc.h" +fi AC_OUTPUT($ac_output_files, [for dir in . $MAKE_SUBDIR; do