X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=configure.in;h=cfa5b2030dfd8f49d1e1dfbcada0a02830b829dc;hb=bafb3afeea5535db5d03df0209295068282d9e74;hp=8802a9bd7c6221c4aec588085a9029946b365d94;hpb=74f1ef06d302e2f5b0c048e3249bd6f3fc7e5922;p=chise%2Fxemacs-chise.git diff --git a/configure.in b/configure.in index 8802a9b..cfa5b20 100644 --- a/configure.in +++ b/configure.in @@ -7,6 +7,7 @@ define([AC_INIT_NOTICE], #### Copyright (C) 1993-1995 Board of Trustees, University of Illinois. #### Copyright (C) 1996, 1997 Sun Microsystems, Inc. #### Copyright (C) 1995, 1996 Ben Wing. +#### Copyright (C) 1998, 1999 J. Kean Johnston. ### Don't edit this script! ### This script was automatically generated by the `autoconf' program @@ -230,7 +231,7 @@ define([XE_PREPEND], if test "$extra_verbose" = "yes"; then echo " Prepending \"[$1]\" to \$[$2]"; fi]) dnl XE_DIE(message) -define([XE_DIE], [{ echo $1 >&2; exit 1; }]) +define([XE_DIE], [{ echo "Error:" $1 >&2; exit 1; }]) dnl XE_STRIP_4TH_COMPONENT(var) dnl Changes i986-pc-linux-gnu to i986-pc-linux, as God (not RMS) intended. @@ -348,13 +349,16 @@ infodir='${datadir}/${PROGNAME}-${version}/info' infopath='' install_pp='' lispdir='${datadir}/${PROGNAME}-${version}/lisp' -dnl sitelispdir='${datadir}/xemacs/site-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}/${PROGNAME}-${version}/etc' lockdir='${statedir}/${PROGNAME}/lock' -archlibdir='${libdir}/${PROGNAME}-${version}/${configuration}' +archlibdir='${datadir}/${PROGNAME}-${version}/${configuration}' with_site_lisp='no' +with_site_modules='yes' with_menubars='' with_scrollbars='' with_dialogs='' @@ -362,7 +366,6 @@ 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='' @@ -460,6 +463,7 @@ while test $# != 0; do dnl Process (many) boolean options with_site_lisp | \ + with_site_modules | \ with_x | \ with_x11 | \ with_msw | \ @@ -478,7 +482,7 @@ while test $# != 0; do with_jpeg | \ with_png | \ with_tiff | \ - with_session | \ + with_wmcommand | \ with_xmu | \ with_purify | \ with_quantify | \ @@ -508,9 +512,6 @@ while test $# != 0; do use_union_type | \ debug | \ use_assertions | \ - gung_ho | \ - use_minimal_tagbits | \ - use_indexed_lrecord_implementation | \ memory_usage_stats | \ with_clash_detection | \ with_shlib | \ @@ -524,7 +525,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 | \ @@ -533,7 +534,6 @@ while test $# != 0; do cppflags | \ libs | \ ldflags | \ - puresize | \ cache_file | \ native_sound_lib| \ site_lisp | \ @@ -661,14 +661,17 @@ 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 ;; + * ) 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', and \`nobyte-code'." else - types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', and \`malloc'." + types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', \`malloc', and \`byte-code'." fi USAGE_ERROR(["Valid types for the \`--$optname' option are: $types."]) @@ -678,6 +681,7 @@ 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 new_default= # reset this fi echeck_notfirst=true @@ -706,7 +710,8 @@ while test $# != 0; do dnl default values are built. case "$opt" in lispdir ) AC_DEFINE(LISPDIR_USER_DEFINED) ;; -dnl sitelispdir ) AC_DEFINE(SITELISPDIR_USER_DEFINED) ;; + sitelispdir ) AC_DEFINE(SITELISPDIR_USER_DEFINED) ;; + moduledir ) AC_DEFINE(MODULEDIR_USER_DEFINED) ;; etcdir ) AC_DEFINE(ETCDIR_USER_DEFINED) ;; infodir ) AC_DEFINE(INFODIR_USER_DEFINED) ;; infopath ) AC_DEFINE(INFOPATH_USER_DEFINED) ;; @@ -714,6 +719,7 @@ dnl sitelispdir ) AC_DEFINE(SITELISPDIR_USER_DEFINED) ;; datadir ) AC_DEFINE(INFODIR_USER_DEFINED) AC_DEFINE(LISPDIR_USER_DEFINED) + AC_DEFINE(MODULEDIR_USER_DEFINED) AC_DEFINE(ETCDIR_USER_DEFINED) ;; statedir | lockdir ) AC_DEFINE(LOCKDIR_USER_DEFINED) ;; exec_prefix | libdir | archlibdir ) AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;; @@ -787,19 +793,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,13 +862,22 @@ for dir in lisp etc man info; do fi done +dnl Do our best to deal with automounter brokenness +dnl CANONICALIZE_PATH(varname) +define([CANONICALIZE_PATH], +[if test -d "/net"; then + if test -d "/tmp_mnt/net"; then tdir="tmp_mnt/net"; else tdir="tmp_mnt"; fi + $1=`echo "[$]$1" | \ + sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"` +fi])dnl + dnl Calculate canonical name for blddir (i.e. current directory). dnl PWD may already be the preferable absolute name for ".", dnl but we can't trust it - it is sometimes inaccurate. absolute_pwd="`pwd`"; if test -n "$PWD" -a "`cd $PWD && pwd`" = "$absolute_pwd" then blddir="$PWD" -else blddir="$absolute_pwd" +else blddir="$absolute_pwd"; CANONICALIZE_PATH(blddir) fi AC_SUBST(blddir) @@ -885,7 +887,7 @@ dnl give you automounter prefixes, which can go away. case "$srcdir" in /* ) ;; . ) srcdir="$blddir" ;; - * ) srcdir="`cd $srcdir && pwd`" ;; + * ) srcdir="`cd $srcdir && pwd`"; CANONICALIZE_PATH(srcdir) ;; esac dnl Check if the source directory already has a configured system in it. @@ -911,14 +913,19 @@ 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") @@ -948,12 +955,13 @@ 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) dnl debug=yes must be set when error checking is present. This should be dnl fixed up. dnl debug implies other options @@ -1449,6 +1457,7 @@ case "$canonical" in *-xenix* ) opsys=xenix ;; *-sco3.2v4* ) opsys=sco4 NON_GNU_CPP=/lib/cpp ;; *-bsd386* | *-bsdi1* ) opsys=bsd386 ;; + *-bsdi4* ) opsys=bsdos4 ;; *-bsdi3* ) opsys=bsdos3 ;; *-bsdi2.1* ) opsys=bsdos2-1 ;; *-bsdi2* ) opsys=bsdos2 ;; @@ -1467,7 +1476,9 @@ case "$canonical" in *-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 ;; @@ -1486,7 +1497,7 @@ fi if test -z "$dynamic"; then case "$opsys" in - hpux* | sunos4* | sco5 ) dynamic=no ;; + hpux* | sunos4* ) dynamic=no ;; *) dynamic=yes ;; esac fi @@ -1707,6 +1718,7 @@ CPP_boolean_to_sh(SYSTEM_MALLOC, system_malloc) CPP_boolean_to_sh(TERMINFO, have_terminfo) CPP_boolean_to_sh(MAIL_USE_FLOCK, mail_use_flock) CPP_boolean_to_sh(MAIL_USE_LOCKF, mail_use_lockf) +CPP_boolean_to_sh(HAVE_WIN32_PROCESSES, win32_processes) EOF dnl The value of CPP is a quoted variable reference, so we need to do this @@ -1745,9 +1757,6 @@ if test "$cflags_specified" = "no"; then dnl I'm not convinced this is a good idea any more. -sb dnl test "$opsys $machine" = "linux intel386" && \ dnl CFLAGS="$CFLAGS -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2" - dnl cygwin can't cope with -O3 - test "$opsys $machine" = "cygwin32 intel386" && \ - CFLAGS="-g -O2 -Wall -Wno-switch" elif test "$__SUNPRO_C" = "yes"; then case "$opsys" in sol2 ) CFLAGS="-v -xO4" ;; @@ -1883,16 +1892,15 @@ dnl site-includes and site-libraries. 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" 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 - XE_APPEND("-I$inc_dir", c_switch_site) + if test -d "$inc_dir"; then + XE_APPEND("-I$inc_dir", c_switch_site) + fi XE_APPEND("-L$lib_dir", ld_switch_site) fi done @@ -1934,7 +1942,7 @@ if test "$add_runtime_path" = "yes"; then AC_MSG_CHECKING("for runtime libraries flag") case "$opsys" in sol2 ) dash_r="-R" ;; - decosf* | linux* ) dash_r="-rpath " ;; + decosf* | linux* | irix*) dash_r="-rpath " ;; *) dash_r="" for try_dash_r in "-R" "-R " "-rpath "; do @@ -2022,6 +2030,9 @@ fi ])dnl XE_COMPUTE_RUNPATH() +dnl JKJ REMOVEME +dnl XE_SHLIB_STUFF + dnl ----------------------------------- dnl Do some misc autoconf-special tests dnl ----------------------------------- @@ -2178,7 +2189,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) @@ -2196,12 +2207,6 @@ elif test "$mail_locking" = "flock"; then AC_DEFINE(REAL_MAIL_USE_FLOCK) else mail_locking="dot-locking" 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) - case "$opsys" in decosf*) AC_CHECK_LIB(pthreads, cma_open) test "$ac_cv_lib_pthreads_cma_open" = "yes" && \ @@ -2481,9 +2486,7 @@ if test "$with_msw" != "no"; then [AC_DEFINE(HAVE_MSG_SELECT)]) const_is_losing=no with_file_coding=yes - use_minimal_tagbits=yes - use_indexed_lrecord_implementation=yes - XE_ADD_OBJS(console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o) + XE_ADD_OBJS(console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o gui-msw.o) fi fi @@ -2493,7 +2496,7 @@ test -z "$window_system" && window_system="none" dnl Test for features that require a window system - ANY window system if test "$window_system" = "none"; then - for feature in menubars scrollbars toolbars dialogs dragndrop + for feature in menubars scrollbars toolbars dialogs dragndrop xface do if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then AC_MSG_WARN([--with-$feature ignored: Not valid without window system support]) @@ -2525,8 +2528,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 \ - xface + for feature in tooltalk cde offix wmcommand 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]) @@ -2549,11 +2551,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 @@ -2740,6 +2742,15 @@ if test "$window_system" != "none"; then fi fi + dnl Autodetect XFACE + test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) } + test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) } + test -z "$with_xface" && with_xface=yes + if test "$with_xface" = "yes"; then + AC_DEFINE(HAVE_XFACE) + XE_PREPEND(-lcompface, libs_x) + fi + dnl For a brief period we had the GIF code split out into a separate library, dnl but patent problems, etc. sort of squashed that idea. dnl We default to building with builtin GIF decoding @@ -2822,15 +2833,6 @@ if test "$with_x11" = "yes"; then AC_CHECKING(for X11 graphics libraries) - dnl Autodetect XFACE - test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) } - test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) } - test -z "$with_xface" && with_xface=yes - if test "$with_xface" = "yes"; then - AC_DEFINE(HAVE_XFACE) - XE_PREPEND(-lcompface, libs_x) - fi - dnl Autodetect -lXaw AC_CHECK_LIB(Xaw, XawScrollbarSetThumb, have_xaw=yes, have_xaw=no) dnl if test "$have_xaw" = "yes"; then @@ -2922,7 +2924,6 @@ test "$with_menubars" != "no" && XE_ADD_OBJS(menubar.o) test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar.o) test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog.o) test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar.o) -test "$all_widgets" != "no no no no" && XE_ADD_OBJS(gui.o) if test "$with_x11" = "yes"; then test "$with_menubars" != "no" && XE_ADD_OBJS(menubar-x.o) @@ -2938,10 +2939,6 @@ else fi 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 ---------------------- @@ -2965,7 +2962,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) @@ -2977,10 +2974,11 @@ if test "$with_mule" = "yes" ; then dnl test -z "$with_xim" -a "$opsys" != "sol2" && with_xim=no case "$with_xim" in "" | "yes" ) AC_CHECKING(for XIM) + AC_CHECK_LIB(X11, XOpenIM, with_xim=xlib, with_xim=no) dnl XIM + Lesstif is not (yet?) usable - if test "$have_lesstif" = "yes"; then with_xim=xlib - else AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif, with_xim=xlib) - fi + if test "$have_motif $have_lesstif" = "yes no"; then + AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif) + fi ;; esac if test "$with_xim" != "no"; then AC_DEFINE(HAVE_XIM) @@ -2998,7 +2996,7 @@ if test "$with_mule" = "yes" ; then fi fi - dnl "with_xim" = "yes" + dnl "with_xfs" = "yes" if test "$with_xfs" = "yes" ; then AC_CHECKING(for XFontSet) AC_CHECK_LIB(X11, XmbDrawString, [:], with_xfs=no) @@ -3008,7 +3006,7 @@ if test "$with_mule" = "yes" ; then XE_ADD_OBJS(input-method-xfs.o) fi fi - fi dnl with_xim + fi dnl with_xfs dnl Autodetect WNN test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support @@ -3100,6 +3098,20 @@ case "$opsys" in esac ;; esac +dnl Check whether the system provides getloadavg (Solaris 7 has it) +AC_CHECK_FUNCS(getloadavg) + +if test "$ac_cv_func_getloadavg" != "yes" +then + XE_ADD_OBJS(getloadavg.o) + + dnl Used by getloadavg() - does not require root priveleges + AC_CHECK_LIB(kstat, kstat_open) + + dnl Another way to get the load average + AC_CHECK_LIB(kvm, kvm_read) +fi + dnl If netdb.h does not declare h_errno, we must declare it by hand. AC_MSG_CHECKING(whether netdb declares h_errno) AC_TRY_LINK([#include ], @@ -3485,45 +3497,48 @@ dnl Do we need event-unixoid.o ? test "$with_x11" = "yes" -o "$with_tty" = "yes" && XE_ADD_OBJS(event-unixoid.o) dnl Database support -dnl dnl We do not necessarily have to have libdb/lib(g)dbm for DB/(G)DBM support. dnl On FreeBSD, both DB and DBM are part of libc. -dnl Note that unless support for DB/(G)DBM is explicitly disabled, we always -dnl want to check for libdb/lib(g)dbm. Also note that libc will not be -dnl checked if we have the libraries. -dnl If support for DB/(G)DBM is requested, but we neither have libdb/lib(g)dbm, -dnl nor does libc implement it, we are a bit lost :) - -AC_CHECKING(for database support) +dnl By default, we check for DBM support in libgdbm, then libc, then libdbm. + +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_gnudbm $with_database_dbm" != "no no"; then + AC_CHECK_HEADER(ndbm.h, [:], [ + test "$with_database_gnudbm" = "yes" -o \ + "$with_database_dbm" = "yes" && \ + XE_DIE("Required DBM support cannot be provided.") + with_database_gnudbm=no with_database_dbm=no]) +fi +dnl Check for DBM support in libgdbm. if test "$with_database_gnudbm" != "no"; then - AC_CHECK_HEADERS(ndbm.h, have_ndbm_h=yes) - if test "$have_ndbm_h" = "yes"; then - AC_CHECK_LIB(gdbm, dbm_open, with_database_gnudbm=yes have_libgdbm=yes) - fi - if test "$with_database_gnudbm" != "yes"; then - AC_CHECK_FUNC(dbm_open, with_database_gnudbm=yes) - fi - if test "$with_database_gnudbm" = "yes"; then - AC_DEFINE(HAVE_DBM) - test "$have_libgdbm" = "yes" && XE_PREPEND(-lgdbm, LIBS) - with_database_dbm=no - else with_database_gnudbm=no - fi + AC_CHECK_LIB(gdbm, dbm_open, [ + 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_gnudbm=no]) fi +dnl Check for DBM support in libc and libdbm. if test "$with_database_dbm" != "no"; then - AC_CHECK_FUNC(dbm_open, with_database_dbm=yes need_libdbm=no) - if test "$need_libdbm" != "no"; then - AC_CHECK_LIB(dbm, dbm_open, with_database_dbm=yes need_libdbm=yes) - fi - if test "$with_database_dbm" = "yes"; then - AC_DEFINE(HAVE_DBM) - test "$need_libdbm" = "yes" && XE_PREPEND(-ldbm, LIBS) - else with_database_dbm=no - fi + AC_CHECK_FUNC(dbm_open, [with_database_dbm=yes libdbm=], [ + AC_CHECK_LIB(dbm, dbm_open, [with_database_dbm=yes libdbm=-ldbm], [ + test "$with_database_dbm" = "yes" && \ + XE_DIE("Required DBM support cannot be provided.") + with_database_dbm=no])]) fi +dnl Tell make about the DBM support we detected. +test -n "$libdbm" && XE_PREPEND("$libdbm", LIBS) +test "$with_database_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 path in "db/db.h" "db.h"; do @@ -3583,30 +3598,27 @@ if test "$usage_tracking" = "yes"; then XE_PREPEND(-Bstatic -lut -Bdynamic, LIBS) fi -dnl cygwin can't cope with dlfcn at the moment -test -z "$with_shlib" && test "$opsys $machine" = "cygwin32 intel386" && with_shlib=no - dnl autodetect dll support -AC_CHECK_HEADERS(dlfcn.h, have_dlfcn=yes) +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 - AC_DEFINE(HAVE_SHLIB) - XE_ADD_OBJS(sysdll.o) - XE_ADD_OBJS(dll.o) - test ! -z "$DLL_LIB" && XE_PREPEND(-l${DLL_LIB}, LIBS) - XE_MAKE_SHAREDLIB - AC_CHECK_FUNCS(dlerror) - ld_dynamic_link_flags= - dnl Fill this in with other values as this gets more testing - case "$opsys" in - hpux*) ld_dynamic_link_flags="-Wl,-E" ;; - linux*) ld_dynamic_link_flags="-rdynamic" ;; - *) ;; - esac + XE_SHLIB_STUFF + if test "$can_build_shared" = "yes"; then + AC_DEFINE(HAVE_SHLIB) + XE_ADD_OBJS(sysdll.o) + XE_ADD_OBJS(emodules.o) + XE_APPEND(src, INSTALL_ARCH_DEP_SUBDIR) + test ! -z "$DLL_LIB" && XE_PREPEND(-l${DLL_LIB}, LIBS) + AC_CHECK_FUNCS(dlerror _dlerror) + else + AC_MSG_WARN(disabling shared library support) + with_shlib=no + fi fi dnl Unfortunately, just because we can link doesn't mean we can run. @@ -3630,12 +3642,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 @@ -3794,16 +3807,38 @@ while true; do done AC_SUBST(LISPDIR) -dnl AC_SUBST(sitelispdir) -dnl AC_SUBST(SITELISPDIR_USER_DEFINED) -dnl SITELISPDIR=$sitelispdir -dnl while true; do -dnl case "$SITELISPDIR" in -dnl *\$* ) eval "SITELISPDIR=$SITELISPDIR" ;; -dnl *) break ;; -dnl esac -dnl done -dnl AC_SUBST(SITELISPDIR) +AC_SUBST(moduledir) +AC_SUBST(MODULEDIR_USER_DEFINED) +MODULEDIR=$moduledir +while true; do + case "$MODULEDIR" in + *\$* ) eval "MODULEDIR=$MODULEDIR" ;; + *) break ;; + esac +done +AC_SUBST(MODULEDIR) + +AC_SUBST(sitelispdir) +AC_SUBST(SITELISPDIR_USER_DEFINED) +SITELISPDIR=$sitelispdir +while true; do + case "$SITELISPDIR" in + *\$* ) eval "SITELISPDIR=$SITELISPDIR" ;; + *) break ;; + esac +done +AC_SUBST(SITELISPDIR) + +AC_SUBST(sitemoduledir) +AC_SUBST(SITEMODULEDIR_USER_DEFINED) +SITEMODULEDIR=$sitemoduledir +while true; do + case "$SITEMODULEDIR" in + *\$* ) eval "SITEMODULEDIR=$SITEMODULEDIR" ;; + *) break ;; + esac +done +AC_SUBST(SITEMODULEDIR) AC_SUBST(etcdir) AC_SUBST(ETCDIR_USER_DEFINED) @@ -3841,13 +3876,12 @@ AC_SUBST(ARCHLIBDIR) AC_SUBST(docdir) AC_SUBST(bitmapdir) AC_SUBST(extra_objs) -AC_SUBST(ld_dynamic_link_flags) dnl The following flags combine all the information from: dnl - command line options (user always gets priority) dnl - user environment variables dnl - determined by configure -dnl - the s&m header files (deprecated) +dnl - the s&m header files (required for ellcc) AC_SUBST(machfile) AC_SUBST(opsysfile) AC_SUBST(c_switch_general) @@ -3876,10 +3910,14 @@ dnl Useful for building XEmacs with a C++ or 64-bit compiler. AC_SUBST(XEMACS_CC) -dnl The default is yes +dnl The default is no if test "$with_site_lisp" = "no"; then AC_DEFINE(INHIBIT_SITE_LISP) fi +dnl The default is yes +if test "$with_site_modules" = "no"; then + AC_DEFINE(INHIBIT_SITE_MODULES) +fi XE_SPACE(ac_configure_args, $ac_configure_args) AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$canonical") @@ -3902,8 +3940,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) @@ -3936,8 +3972,15 @@ 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' ( @@ -4042,7 +4085,7 @@ 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." +test "$with_wmcommand" != no && echo " Compiling in support for proper WM_COMMAND handling." case "$with_menubars" in lucid ) echo " Using Lucid menubars." ;; motif ) echo " Using Motif menubars." @@ -4057,7 +4100,15 @@ case "$with_scrollbars" in athena3d ) echo " Using Athena-3d scrollbars." ;; esac case "$with_dialogs" in - motif ) echo " Using Motif dialog boxes." ;; + motif ) + echo " Using Motif dialog boxes." + if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then + echo " *WARNING* The Motif dialog boxes cause problems on AIX 4.3 and higher." + echo " We recommend using the Athena dialog boxes instead." + echo " Install libXaw and re-run configure with --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 @@ -4069,10 +4120,7 @@ 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 @@ -4087,11 +4135,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 ----------------------------------- @@ -4112,6 +4155,9 @@ for file in $internal_makefile_list; do ac_output_files="${ac_output_files+$ac_output_files }$file" 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 AC_OUTPUT($ac_output_files, [for dir in . $MAKE_SUBDIR; do