X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=configure.in;h=6dcfa758570793d0762c9b1d151773c43aa50af8;hp=df3b77b5598e541d710bd2d112b100856324a06d;hb=98a6e4055a1fa624c592ac06f79287d55196ca37;hpb=3890a2e3064a7f562107c58e59d928284ec04741 diff --git a/configure.in b/configure.in index df3b77b..6dcfa75 100644 --- a/configure.in +++ b/configure.in @@ -57,7 +57,7 @@ dnl - no cache file dnl - non-standard options dnl - suport for extra-verbosity dnl - ordinary libs are handled separately from X libs (might be a mistake) -dnl - various random kludges (e.g. -with-dnet=no +dnl - various random kludges (e.g. -with-dnet=no) dnl PRINT_VAR(var var ...) prints values of shell variables define([PRINT_VAR],[for var in patsubst([$1],[[ @@ -307,6 +307,7 @@ mandir='${prefix}/man' dnl Initialize some other variables. subdirs= MFLAGS= MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} dnl Maximum number of lines to put in a shell here document. ac_max_here_lines=12 ])dnl AC_INIT_PARSE_ARGS @@ -357,7 +358,6 @@ sitemoduledir='${datadir}/${inststaticdir}/site-modules' pkgdir='${datadir}/${instvardir}/lisp' package_path='' etcdir='${datadir}/${instvardir}/etc' -lockdir='${statedir}/${inststaticdir}/lock' archlibdir='${datadir}/${instvardir}/${configuration}' docdir='${archlibdir}' with_prefix='yes' @@ -505,6 +505,7 @@ while test $# != 0; do with_sparcworks | \ with_tooltalk | \ with_ldap | \ + with_postgresql | \ with_pop | \ with_kerberos | \ with_hesiod | \ @@ -521,7 +522,7 @@ while test $# != 0; do memory_usage_stats | \ with_clash_detection | \ with_modules | \ - no_doc_file ) + quick_build ) dnl Make sure the value given was either "yes" or "no". case "$val" in y | ye | yes ) val=yes ;; @@ -636,7 +637,7 @@ The default is to autodetect all sound support."]) done ;; - dnl Has the user specified a prefered Athena widget set? + dnl Has the user specified a preferred Athena widget set? dnl This bit expands any alias names out for us... "with_athena" ) case "$val" in @@ -709,14 +710,17 @@ The default is to autodetect all sound support."]) byte_code ) error_check_byte_code=yes ;; nobyte_code ) error_check_byte_code=no ;; + glyphs ) error_check_glyphs=yes ;; + noglyphs ) error_check_glyphs=no ;; + * ) bogus_error_check=yes ;; esac if test "$bogus_error_check" -o \ \( -n "$new_default" -a -n "$echeck_notfirst" \) ; then if test "$error_check_default" = yes ; then - types="\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', \`nomalloc', and \`nobyte-code'." + types="\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', \`nomalloc', \`noglyphs' and \`nobyte-code'." else - types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', \`malloc', and \`byte-code'." + types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', \`malloc', \`glyphs' and \`byte-code'." fi USAGE_ERROR(["Valid types for the \`--$optname' option are: $types."]) @@ -727,6 +731,7 @@ The default is to autodetect all sound support."]) 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 @@ -740,7 +745,7 @@ The default is to autodetect all sound support."]) dnl Has the user specified one of the path options? prefix | exec_prefix | bindir | datadir | statedir | libdir | \ - mandir | infodir | infopath | lispdir | etcdir | lockdir | pkgdir | \ + mandir | infodir | infopath | lispdir | etcdir | pkgdir | \ archlibdir | docdir | package_path ) dnl If the value was omitted, get it from the next argument. if test "$valomitted" = "yes"; then @@ -768,7 +773,6 @@ The default is to autodetect all sound support."]) AC_DEFINE(LISPDIR_USER_DEFINED) AC_DEFINE(MODULEDIR_USER_DEFINED) AC_DEFINE(ETCDIR_USER_DEFINED) ;; - statedir | lockdir ) AC_DEFINE(LOCKDIR_USER_DEFINED) ;; docdir ) AC_DEFINE(DOCDIR_USER_DEFINED) ;; exec_prefix | libdir | archlibdir ) AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;; esac @@ -783,15 +787,16 @@ The default is to autodetect all sound support."]) dnl Has the user specified the toolkit(s) to use for GUI elements? "with_menubars" | \ "with_scrollbars" | \ - "with_dialogs" | \ + "with_dialogs" | \ "with_widgets" ) case "$val" in l | lu | luc | luci | lucid ) val=lucid ;; m | mo | mot | moti | motif ) val=motif ;; a | at | ath | athe | athen | athena ) val=athena ;; - n | no | non | none ) val=no ;; + n | no | non | none ) val=no ;; + y | ye | yes ) val=yes ;; * ) USAGE_ERROR(["The \`--$optname' option must have one of these values: - \`lucid', \`motif', \`athena', or \`no'."]) ;; + \`lucid', \`motif', \`athena', \`yes', or \`no'."]) ;; esac eval "$opt=\"$val\"" ;; @@ -1001,6 +1006,8 @@ else PROGNAME=xemacs fi +AC_DEFINE_UNQUOTED(EMACS_PROGNAME, "$PROGNAME") + dnl ---------------------------------- dnl Error checking and debugging flags dnl ---------------------------------- @@ -1013,6 +1020,7 @@ 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 @@ -1100,7 +1108,7 @@ case "$canonical" in *-dec-osf1.2 | *-dec-osf1* ) opsys=decosf1-2 ;; *-dec-osf3.[[2-9]] ) opsys=decosf3-2 ;; *-dec-osf3* ) opsys=decosf3-1 ;; - *-dec-osf4* ) opsys=decosf4-0 ;; + *-dec-osf[[4-9]]* ) opsys=decosf4-0 ;; dnl DEC Ultrix *-*-ultrix[[0-3]].* | *-*-ultrix4.0* ) opsys=bsd4-2 ;; @@ -1543,13 +1551,28 @@ case "$canonical" in esac -if test -z "$machine" -o -z "$opsys"; then - (echo "$progname: XEmacs hasn't been ported to \`$canonical' systems." - echo "$progname: Check \`etc/MACHINES' for recognized configuration names." - ) >&2 - exit 1 +dnl Initialize machine and opsys from $canonical if not in our database above. +test -z "$machine" && machine=`echo $canonical | sed 's/-.*$//'` +test -z "$opsys" && opsys=`echo $canonical | sed 's/^[^-]*-[^-]*-//'` + +dnl Use configure-time autodetection if s&m not available +if test -r "${srcdir}/src/m/${machine}.h"; then + machfile="m/${machine}.h" + AC_DEFINE_UNQUOTED(config_machfile, "$machfile") +else + echo "XEmacs has no builtin knowledge of \`$machine' machines." + echo "Using configure-time autodetection only." fi +if test -r "${srcdir}/src/s/${opsys}.h"; then + opsysfile="s/${opsys}.h" + AC_DEFINE_UNQUOTED(config_opsysfile, "$opsysfile") +else + echo "XEmacs has no builtin knowledge of \`$opsys' operating systems." + echo "Using configure-time autodetection only." +fi + + if test -z "$dynamic"; then case "$opsys" in hpux* | sunos4* ) dynamic=no ;; @@ -1578,9 +1601,6 @@ case "$opsys" in aix*) NON_GNU_CC=xlc ;; esac stack_trace_eye_catcher=`echo ${PROGNAME}_${version}_${canonical} | sed 'y/.-/__/'` AC_DEFINE_UNQUOTED(STACK_TRACE_EYE_CATCHER, $stack_trace_eye_catcher) -machfile="m/${machine}.h" -opsysfile="s/${opsys}.h" - dnl -------------------------------------------------- dnl Determine the compiler, set up for feature testing dnl -------------------------------------------------- @@ -1593,7 +1613,7 @@ if test "$with_workshop" = "yes"; then XE_ADD_OBJS(sunpro.o) fi -if test "$with_clash_detection" = "yes"; then +if test "$with_clash_detection" != "no"; then AC_DEFINE(CLASH_DETECTION) XE_ADD_OBJS(filelock.o) fi @@ -1644,11 +1664,11 @@ dnl -------------------------------------------------------------------- dnl Compiler feature macros dnl -------------------------------------------------------------------- -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 dnl Defines _ALL_SOURCE on AIX. +dnl We want feature macros defined here *and* in config.h.in, so that +dnl the compilation environment at configure time and compile time agree. + AC_MSG_CHECKING(for GNU libc) AC_TRY_COMPILE([#include ],[ #if ! (defined __GLIBC__ || defined __GNU_LIBRARY__) @@ -1665,7 +1685,7 @@ 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) + 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 @@ -1687,6 +1707,8 @@ AC_TRY_RUN([int main () { return 11; #elif defined __DECC return 12; +#elif defined __USLC__ && defined __SCO_VERSION__ +return 13; #else return 0; #endif @@ -1694,6 +1716,7 @@ return 0; [case "$conftest_rc" in 11) echo "You appear to be using the SunPro C compiler."; __SUNPRO_C=yes ;; 12) echo "You appear to be using the DEC C compiler." ; __DECC=yes ;; + 13) echo "You appear to be using the SCO C compiler." ; __USLC__=yes ;; esac]) @@ -1729,7 +1752,8 @@ configure___ [$2]=no [#]endif ])dnl CPP_boolean_to_sh -cat > $tempcname < $tempcname < confdefs.h +cat >> $tempcname < $tempcname < +socklen_t x; +],[],[AC_MSG_RESULT(yes)],[ +AC_TRY_COMPILE([#include +int accept (int, struct sockaddr *, size_t *); +],[],[ +AC_MSG_RESULT(size_t) +AC_DEFINE(socklen_t,size_t)], [ +AC_MSG_RESULT(int) +AC_DEFINE(socklen_t,int)])]) + AC_MSG_CHECKING(for struct timeval) AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME #include @@ -2395,9 +2461,18 @@ 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 +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" && \ @@ -2528,7 +2603,9 @@ if test "$with_x11" = "yes"; then done dnl Avoid version mismatch for shared library libXm.so on osf4 - if test "$GCC" = yes -a -d /usr/shlib; then XE_APPEND(-L/usr/shlib, X_LIBS); fi + case "$opsys" in + decosf*) if test "$GCC" = yes -a -d /usr/shlib; then XE_APPEND(-L/usr/shlib, X_LIBS); fi ;; + esac ld_switch_x_site="$X_LIBS" @@ -2575,10 +2652,19 @@ EOF cd .. rm -fr conftestdir for word in $xmkmf_defines; do - case "$word" in - -D*=* ) ;; - -D* ) word=`echo '' $word | sed -e 's:^ *-D::'` - AC_DEFINE_UNQUOTED($word) ;; + case "$word" in -D* ) + sym=`echo '' $word | sed -e 's:^ *-D::' -e 's:=.*::'` + case "$word" in + -D*=* ) val=`echo '' $word | sed -e 's:^.*=::'` ;; + * ) val=1 ;; + esac +dnl Avoid re-AC_DEFINE-ing xmkmf symbols we've already defined above. + if grep "^#define $sym " confdefs.h >/dev/null; then :; else + if test "$val" = "1" + then AC_DEFINE_UNQUOTED($sym) + else AC_DEFINE_UNQUOTED($sym,$val) + fi + fi ;; esac done fi @@ -2613,21 +2699,29 @@ EOF AC_MSG_RESULT(R${x11_release}) AC_DEFINE_UNQUOTED(THIS_IS_X11R${x11_release}) + if test "${x11_release}" = "4"; then + case "$with_widgets" in + "" | "no") with_widgets=no ;; + *) XE_DIE("Widget support requires X11R5 or greater") ;; + esac + fi + AC_CHECK_FUNCS(XConvertCase) AC_CHECK_HEADERS(X11/Xlocale.h) - dnl remove this - we should avoid checking for specific OS - AC_MSG_CHECKING(for XFree86) - if test -d "/usr/X386/include" -o \ - -f "/etc/XF86Config" -o \ - -f "/etc/X11/XF86Config" -o \ - -f "/usr/X11R6/lib/X11/XF86Config"; then - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_XFREE386) - else - AC_MSG_RESULT(no) - fi + dnl XFree86 has a non-standard prototype for this X11R6 function + AC_CHECK_FUNCS(XRegisterIMInstantiateCallback) + AC_MSG_CHECKING(for standard XRegisterIMInstantiateCallback prototype) + AC_TRY_COMPILE([ +#define NeedFunctionPrototypes 1 +#include +extern Bool XRegisterIMInstantiateCallback( + Display*, struct _XrmHashBucketRec*, char*, char*, XIMProc, XPointer*); +], [], + [AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no) + AC_DEFINE(XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE)]) dnl autodetect -lXmu test -z "$with_xmu" && { AC_CHECK_LIB(Xmu, XmuReadBitmapDataFromFile, @@ -2666,7 +2760,7 @@ if test "$with_msw" != "no"; then if test "$with_msw" = "yes"; then AC_DEFINE(HAVE_MS_WINDOWS) install_pp="$blddir/lib-src/installexe.sh" - XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomctl32 -lwinspool, libs_system) + XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lwinspool, libs_system) test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto) if test "$window_system" != x11; then window_system=msw @@ -2741,6 +2835,14 @@ if test "$with_x11" != "yes"; then done fi +dnl Balloon Help requires the Shape extension, not available everywhere, +dnl for example not on AIX 4.3. +if test "$with_x11" = "yes"; then + AC_CHECK_HEADER(X11/extensions/shape.h, [ + AC_DEFINE(HAVE_BALLOON_HELP) + XE_ADD_OBJS(balloon_help.o balloon-x.o)]) +fi + dnl FSF 19.29 has some bitmapdir stuff here. bitmapdir= @@ -2783,9 +2885,9 @@ if test "$with_tooltalk" != "no" ; then dnl autodetect the location of tt_c.h dnl tt_c.h might be in Tt or desktop include directories for dir in "" "Tt/" "desktop/" ; do - AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_path="${dir}tt_c.h"; break) + AC_CHECK_HEADER(${dir}tt_c.h, tt_c_h_file="${dir}tt_c.h"; break) done - if test -z "$tt_c_h_path"; then + if test -z "$tt_c_h_file"; then if test "$with_tooltalk" = "yes"; then USAGE_ERROR("Unable to find required tooltalk header files.") fi @@ -2807,7 +2909,7 @@ fi test -z "$with_tooltalk" && with_tooltalk=yes if test "$with_tooltalk" = "yes"; then AC_DEFINE(TOOLTALK) - AC_DEFINE_UNQUOTED(TT_C_H_PATH, "$tt_c_h_path") + AC_DEFINE_UNQUOTED(TT_C_H_FILE, "$tt_c_h_file") XE_PREPEND($tt_libs, libs_x) XE_ADD_OBJS(tooltalk.o) fi @@ -2898,6 +3000,38 @@ if test "$with_ldap" = "yes"; then AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result) fi +dnl Autodetect PostgreSQL +dnl On many Linux systems, PostgreSQL is packaged to be installed in /usr; +dnl in this case, configure will easily detect it there. +dnl +dnl If PostgreSQL is installed into a different prefix, +dnl (such as the default /usr/local/pgsql when building from source), +dnl that prefix must be specified using the --site-prefixes flag. +if test "$with_postgresql" != "no"; then + AC_CHECKING(for PostgreSQL) + +dnl Look for these standard header file locations, known to be used on Linux + for header_dir in "" "pgsql/" "postgresql/"; do + AC_CHECK_HEADER(${header_dir}libpq-fe.h, + libpq_fe_h_file=${header_dir}libpq-fe.h; break) + done + + test -n "$libpq_fe_h_file" && { AC_CHECK_LIB(pq,PQconnectdb,have_libpq=yes) } + + if test -n "$libpq_fe_h_file" -a "$have_libpq" = "yes"; then + with_postgresql=yes + AC_DEFINE(HAVE_POSTGRESQL) + AC_CHECK_LIB(pq,PQconnectStart, [ + with_postgresqlv7=yes; + AC_DEFINE(HAVE_POSTGRESQLV7)]) + AC_DEFINE_UNQUOTED(LIBPQ_FE_H_FILE, "$libpq_fe_h_file") + XE_PREPEND(-lpq, LIBS) + XE_ADD_OBJS(postgresql.o) + elif test "$with_postgresql" = "yes"; then + XE_DIE("Required PostgreSQL support cannot be provided. Check --site-prefixes.") + fi +fi + dnl ---------------------- dnl Graphics libraries dnl ---------------------- @@ -3196,12 +3330,24 @@ case "$all_widgets" in dnl Add the Athena widget library we located earlier XE_PREPEND(-l$athena_lib, libs_x) - dnl Export the path for lwlib, used to build and include the headers - dnl from the right place later on. - AC_DEFINE_UNQUOTED(ATHENA_H_PATH, $athena_h_path) + 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) @@ -3409,20 +3555,50 @@ if test "$need_motif" = "yes" ; then 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) +AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strerror tzset ulimit usleep utimes waitpid vsnprintf fsync ftruncate umask) + +dnl Check for PTY support functions. +dnl getpt is the preferred pty allocation method on glibc systems. +dnl _getpty is the preferred pty allocation method on SGI systems. +dnl grantpt, unlockpt, ptsname are defined by Unix98. +AC_CHECK_FUNCS(getpt _getpty grantpt unlockpt ptsname killpg tcgetpgrp) + +dnl openpty is the preferred pty allocation method on BSD and Tru64 systems. +dnl openpty might be declared in pty.h or in libutil.h. +AC_CHECK_FUNC(openpty, have_openpty=yes, [ + AC_CHECK_LIB(util, openpty, have_openpty=yes need_libutil=yes)]) +if test "$have_openpty" = "yes"; then + AC_DEFINE(HAVE_OPENPTY) + AC_CHECK_HEADERS(pty.h libutil.h) + test "$need_libutil" = "yes" && XE_APPEND(-lutil, libs_system) +fi + +dnl Check for STREAM support functions. +dnl Confusingly, "str" means both "string" and "SysV Streams". +AC_CHECK_HEADERS(stropts.h) +if test "$ac_cv_header_stropts_h" = "yes"; then + AC_CHECK_FUNCS(isastream) + AC_CHECK_HEADERS(strtio.h) dnl TIOCSIGNAL +fi dnl Use our own realpath always. XE_ADD_OBJS(realpath.o) -dnl Check whether the system provides getloadavg (Solaris 7 has it) +dnl Check whether the system provides getloadavg(). AC_CHECK_FUNCS(getloadavg) -if test "$ac_cv_func_getloadavg" != "yes" -then +if test "$ac_cv_func_getloadavg" = "yes"; then + dnl Solaris 8 declares getloadavg() in . + dnl glibc 2.2 declares getloadavg() in ... + dnl ...if we #define _GNU_SOURCE, which we do. + AC_CHECK_HEADERS(sys/loadavg.h) +else + dnl We define our own getloadavg() using lower level functions. XE_ADD_OBJS(getloadavg.o) dnl Used by getloadavg() - does not require root priveleges AC_CHECK_LIB(kstat, kstat_open) + AC_CHECK_HEADERS(kstat.h) dnl Another way to get the load average AC_CHECK_LIB(kvm, kvm_read) @@ -3515,18 +3691,18 @@ fi AC_C_INLINE -if test "$ac_cv_c_inline" != "no"; then - AC_DEFINE(HAVE_INLINE) - test "$GCC" = "yes" && XE_ADD_OBJS(inline.o) -fi +test "$ac_cv_c_inline" != "no" -a "$GCC" = "yes" && XE_ADD_OBJS(inline.o) dnl HP-UX has a working alloca in libPW. dnl case "${GCC}${opsys}" in hpux* ) dnl AC_CHECK_FUNC(alloca, [:], [AC_CHECK_LIB(PW, alloca)]) dnl esac -AC_FUNC_ALLOCA -test -n "$ALLOCA" && XE_ADD_OBJS($ALLOCA) +dnl AC_FUNC_ALLOCA doesn't know about DEC C's #pragma intrinsic(alloca) +if test "$__DECC" != "yes"; then + AC_FUNC_ALLOCA + test -n "$ALLOCA" && XE_ADD_OBJS($ALLOCA) +fi dnl Check whether vfork exists and works correctly. (This does more dnl than just check for its existence.) If so, it defines HAVE_VFORK_H. @@ -3708,11 +3884,19 @@ if test "$with_native_sound" != "no"; then sound_found=yes need_miscplay=yes XE_ADD_OBJS(linuxplay.o) - [AC_DEFINE_UNQUOTED(SOUNDCARD_H_PATH, "${dir}/soundcard.h")] + [AC_DEFINE_UNQUOTED(SOUNDCARD_H_FILE, "${dir}/soundcard.h")] break) done fi + dnl Win32 Native uses native sound + if test -z "$sound_found"; then + if test "$with_msw" = "yes"; then + sound_found=yes + native_sound_lib= + fi + fi + test "$sound_found" = "yes" && with_native_sound=yes fi @@ -3783,8 +3967,8 @@ if test "$with_tty" = "yes" ; then fi if test "$with_ncurses" = "yes"; then AC_DEFINE(HAVE_NCURSES) - AC_CHECK_HEADER(ncurses/curses.h, curses_h_path=ncurses/curses.h) - AC_CHECK_HEADER(ncurses/term.h, term_h_path=ncurses/term.h) + AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h) + AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h) XE_ADD_OBJS(terminfo.o) XE_PREPEND(-lncurses, LIBS) @@ -3794,7 +3978,7 @@ if test "$with_tty" = "yes" ; then dnl ) save_c_switch_site="$c_switch_site" c_switch_site="$c_switch_site -I/usr/include/ncurses" - AC_CHECK_HEADER(ncurses/curses.h, curses_h_path=ncurses/curses.h) + AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h) if test "$ac_cv_header_ncurses_curses_h" = "yes" then AC_MSG_WARN("Your system has the bogus ncurses include bug.") else c_switch_site="$save_c_switch_site" @@ -3826,8 +4010,8 @@ if test "$with_tty" = "yes" ; then fi fi fi - AC_DEFINE_UNQUOTED(CURSES_H_PATH, "${curses_h_path-curses.h}") - AC_DEFINE_UNQUOTED(TERM_H_PATH, "${term_h_path-term.h}") + AC_DEFINE_UNQUOTED(CURSES_H_FILE, "${curses_h_file-curses.h}") + AC_DEFINE_UNQUOTED(TERM_H_FILE, "${term_h_file-term.h}") dnl Autodetect gpm test -z "$with_gpm" && { AC_CHECK_HEADER(gpm.h, , with_gpm=no) } @@ -3895,7 +4079,7 @@ test "$with_database_gdbm" = "yes" -o \ 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 + for header in "db/db.h" "db.h"; do AC_TRY_COMPILE([ #include #if !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1) @@ -3910,18 +4094,18 @@ typedef uint64_t u_int64_t; #endif #endif #endif -#include <$path> -],[], db_h_path="$path"; break) +#include <$header> +],[], db_h_file="$header"; break) done - if test -z "$db_h_path" + if test -z "$db_h_file" then AC_MSG_RESULT(no); with_database_berkdb=no - else AC_MSG_RESULT($db_h_path) + else AC_MSG_RESULT($db_h_file) fi if test "$with_database_berkdb" != "no"; then AC_MSG_CHECKING(for Berkeley DB version) AC_EGREP_CPP(yes, -[#include <$db_h_path> +[#include <$db_h_file> #if DB_VERSION_MAJOR > 1 yes #endif @@ -3931,7 +4115,7 @@ yes fi if test "$with_database_berkdb" = "yes"; then - AC_DEFINE_UNQUOTED(DB_H_PATH, "$db_h_path") + AC_DEFINE_UNQUOTED(DB_H_FILE, "$db_h_file") AC_DEFINE(HAVE_BERKELEY_DB) test "$need_libdb" = "yes" && XE_PREPEND(-ldb, LIBS) else with_database_berkdb=no @@ -3960,20 +4144,25 @@ dnl autodetect dll support if test "$with_modules" != "no"; then AC_CHECKING(for module support) - dnl Find headers and libraries - AC_CHECK_HEADER(dlfcn.h, [ - AC_CHECK_LIB(dl, dlopen, [ have_dl=yes libdl=dl], [ - AC_CHECK_LIB(c, dlopen, [ have_dl=yes ])])]) - if test -n "$have_dl"; then - AC_DEFINE(HAVE_DLOPEN) + dnl Check for MS-Windows + if test "$with_msw" = "yes"; then + have_dl=yes; 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 + 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 @@ -4248,17 +4437,6 @@ while true; do done AC_SUBST(ETCDIR) -AC_SUBST(lockdir) -AC_SUBST(LOCKDIR_USER_DEFINED) -LOCKDIR=$lockdir -while true; do - case "$LOCKDIR" in - *\$* ) eval "LOCKDIR=$LOCKDIR" ;; - *) break ;; - esac -done -AC_SUBST(LOCKDIR) - AC_SUBST(docdir) AC_SUBST(DOCDIR_USER_DEFINED) DOCDIR=$docdir @@ -4334,8 +4512,6 @@ fi XE_SPACE(ac_configure_args, $ac_configure_args) AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$configuration") AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "$ac_configure_args") -AC_DEFINE_UNQUOTED(config_machfile, "$machfile") -AC_DEFINE_UNQUOTED(config_opsysfile, "$opsysfile") dnl Following are deprecated @@ -4360,7 +4536,7 @@ fi test "$with_i18n3" = "yes" && AC_DEFINE(I18N3) test "$GCC" = "yes" && AC_DEFINE(USE_GCC) test "$external_widget" = "yes" && AC_DEFINE(EXTERNAL_WIDGET) -test "$no_doc_file" = "yes" && AC_DEFINE(NO_DOC_FILE) +test "$quick_build" = "yes" && AC_DEFINE(QUICK_BUILD) test "$with_purify" = "yes" && AC_DEFINE(PURIFY) test "$with_quantify" = "yes" && AC_DEFINE(QUANTIFY) test "$with_pop" = "yes" && AC_DEFINE(MAIL_USE_POP) @@ -4399,59 +4575,121 @@ dnl Start stdout redirection to '| tee -a Installation' echo " XEmacs ${emacs_major_version}.${emacs_minor_version}${xemacs_betaname} \"$xemacs_codename\" configured for \`$canonical'. - - Where should the build process find the source code? $srcdir - What installation prefix should install use? $prefix - What operating system and machine description files should XEmacs use? - \`$opsysfile' and \`$machfile' - What compiler should XEmacs be built with? $CC $CFLAGS - Should XEmacs use the GNU version of malloc? ${GNU_MALLOC}${GNU_MALLOC_reason} - Should XEmacs use the relocating allocator for buffers? $rel_alloc - What window system should XEmacs use? ${window_system}" -if test "$with_x11" = "yes"; then - echo " Where do we find X Windows header files? $x_includes" - echo " Where do we find X Windows libraries? $x_libraries" -fi +" +echo " +Compilation / Installation:" +echo " Source code location: $srcdir" +echo " Installation prefix: $prefix" if test -n "$site_includes"; then - echo " Additional header files: $site_includes" + echo " Additional header files: $site_includes" fi if test -n "$site_libraries"; then - echo " Additional libraries: $site_libraries" + echo " Additional libraries: $site_libraries" fi if test -n "$site_prefixes"; then - echo " Additional prefixes: $site_prefixes" + echo " Additional prefixes: $site_prefixes" fi if test -n "$runpath"; then - echo " Runtime library search path: $runpath" + echo " Runtime library search path: $runpath" fi -if test "$have_xaw" = "yes"; then - echo " Athena library to link: $athena_lib" - echo " Athena header include path: $athena_h_path" + +if test -n "$opsysfile" +then echo " Operating system description file: \`$opsysfile'" +else echo " Not using any operating system description file" fi -test "$with_dnet" = yes && echo " Compiling in support for DNET." -test "$with_socks" = yes && echo " Compiling in support for SOCKS." -test "$with_xauth" = yes && echo " Compiling in support for XAUTH." -if test "$with_xmu" != yes -a "$with_x11" = yes; then - echo " No Xmu; substituting equivalent routines." +if test -n "$machfile" +then echo " Machine description file: \`$machfile'" +else echo " Not using any machine description file" fi +echo " Compiler: $CC $CFLAGS" +echo " Relocating allocator for buffers: $rel_alloc" +echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}" + +echo " +Window System:" +if test "$with_msw" = "yes"; then + echo " Compiling in support for the Microsoft window system." +fi +if test "$with_x11" = "yes"; then + echo " Compiling in support for the X window system:" + echo " - X Windows headers location: $x_includes" + echo " - X Windows libraries location: $x_libraries" + if test "$with_xauth" != yes; then + echo " - Xau (X authority) not available." + fi + if test "$with_xmu" != yes; then + echo " - Xmu library not available; substituting equivalent routines." + fi + if test "$with_wmcommand" != no; then + echo " - Handling WM_COMMAND properly." + fi +fi +if test "$need_athena" = "yes"; then + echo " Compiling in support for the Athena widget set:" + echo " - Athena headers location: $athena_h_path" + echo " - Athena library to link: $athena_lib" +fi +case "$with_menubars" in + lucid ) echo " Using Lucid menubars." ;; + motif ) echo " Using Motif menubars." + echo " *WARNING* The Motif menubar implementation is currently buggy." + echo " We recommend using the Lucid menubar instead." + echo " Re-run configure with --with-menubars='lucid'." ;; + msw ) echo " Using MS-Windows menubars." ;; +esac +case "$with_scrollbars" in + lucid ) echo " Using Lucid scrollbars." ;; + motif ) echo " Using Motif scrollbars." ;; + athena ) echo " Using Athena scrollbars." ;; + msw ) echo " Using MS-Windows scrollbars." ;; +esac +case "$with_dialogs" in + motif ) echo " Using Motif dialog boxes." + if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then + echo " *WARNING* The Motif dialog boxes cause problems on AIX 4.3 and higher." + echo " We recommend using the Athena dialog boxes instead." + echo " Install libXaw and re-run configure with --with-dialogs='athena'." + echo " Read the PROBLEMS file for more information." + fi; fi ;; + athena ) echo " Using Athena dialog boxes." ;; + msw ) echo " Using MS-Windows dialog boxes." ;; +esac +case "$with_widgets" in + motif ) echo " Using Motif native widgets." ;; + athena ) echo " Using Athena native widgets." ;; + msw ) echo " Using MS-Windows native widgets." ;; +esac +if test "$with_dragndrop" = yes; then + echo " Compiling in support for Drag'n'Drop (EXPERIMENTAL)." + echo " - Drag'n'Drop prototype: $dragndrop_proto." +fi + +echo " +TTY:" +test "$with_ncurses" = yes && echo " Compiling in support for ncurses." +test "$with_gpm" = yes && echo " Compiling in support for GPM (General Purpose Mouse)." + +echo " +Images:" +test "$with_gif" = yes && echo " Compiling in support for GIF images (builtin)." if test "$with_xpm" = yes; then - echo " Compiling in support for XPM images." + echo " Compiling in support for XPM images." elif test "$with_x11" = yes; then - echo " --------------------------------------------------------------------" - echo " WARNING: Compiling without XPM support." + echo " WARNING: -----------------------------------------------------------" + echo " WARNING: Compiling without XPM image support." if test "$xpm_problem" != ""; then echo " Reason: $xpm_problem" fi echo " WARNING: You should strongly consider installing XPM." echo " WARNING: Otherwise toolbars and other graphics will look suboptimal." echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)" - echo " --------------------------------------------------------------------" + echo " WARNING: -----------------------------------------------------------" fi if test "$with_png" = yes; then - echo " Compiling in support for PNG image handling." + echo " Compiling in support for PNG images." elif test "$window_system" != "none"; then - echo " --------------------------------------------------------------------" + echo " WARNING: -----------------------------------------------------------" echo " WARNING: Compiling without PNG image support." if test "$png_problem" != ""; then echo " Reason: $png_problem" @@ -4459,91 +4697,66 @@ elif test "$window_system" != "none"; then echo " WARNING: You should strongly consider installing the PNG libraries." echo " WARNING: Otherwise certain images and glyphs may not display." echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)" - echo " --------------------------------------------------------------------" + echo " WARNING: -----------------------------------------------------------" fi -test "$with_gif" = yes && echo " Compiling in support for (builtin) GIF image handling." -test "$with_jpeg" = yes && echo " Compiling in support for JPEG image handling." -test "$with_tiff" = yes && echo " Compiling in support for TIFF image handling." +test "$with_jpeg" = yes && echo " Compiling in support for JPEG images." +test "$with_tiff" = yes && echo " Compiling in support for TIFF images." test "$with_xface" = yes && echo " Compiling in support for X-Face message headers." -test "$with_native_sound" = yes && echo " Compiling in native sound support." -test "$with_nas_sound" = yes && echo " Compiling in network sound (NAS) support." -test "$old_nas" = yes && echo " nas library lacks error trapping, will play synchronously." -test "$with_esd_sound" = yes && echo " Compiling in support for Enlightened Sound Daemon (ESD)." +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)." -test "$with_database_berkdb" = yes && echo " Compiling in support for Berkeley DB." +echo " +Databases:" +test "$with_database_berkdb" = yes && echo " Compiling in support for Berkeley database." test "$with_database_dbm" = yes && echo " Compiling in support for DBM." test "$with_database_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 -test "$with_ldap" = yes && echo " Compiling in support for LDAP." - -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." +echo " +Internationalization:" +test "$with_mule" = yes && echo " Compiling in support for Mule (multi-lingual Emacs)." +test "$with_file_coding" = yes && echo " Compiling in support for file coding." +test "$with_xim" != no && echo " Compiling in support for XIM (X11R5+ I18N input method)." +test "$with_xim" = motif && echo " - Using Motif to provide XIM support." +test "$with_xim" = xlib && echo " - Using raw Xlib to provide XIM support." +test "$with_xfs" = yes && echo " - Using XFontSet to provide bilingual menubar." +test "$with_canna" = yes && echo " Compiling in support for Canna on Mule." if test "$with_wnn" = yes; then echo " Compiling in support for the WNN input method on Mule." - test "$with_wnn6" = yes && echo " Using WNN version 6." + test "$with_wnn6" = yes && echo " - Using WNN version 6." fi -test "$with_i18n3" = yes && echo " Compiling in I18N support, level 3 (doesn't currently work)." +test "$with_i18n3" = yes && echo " Compiling in support for I18N level 3 (doesn't currently work)." + +echo " +Mail:" +test "$with_pop" = yes && echo " Compiling in support for POP mail retrieval." +test "$with_kerberos" = yes && echo " Compiling in support for Kerberos POP authentication." +test "$with_hesiod" = yes && echo " Compiling in support for Hesiod POP server access." +test -n "$mail_locking" && echo " Compiling in support for \"$mail_locking\" mail spool file locking method." -test "$with_cde" = yes && echo " Compiling in support for CDE." +echo " +Other Features:" test "$with_tooltalk" = yes && echo " Compiling in support for ToolTalk." -test "$with_offix" = yes && echo " Compiling in support for OffiX." -test "$with_dragndrop" = yes && echo " Compiling in EXPERIMENTAL support for Drag'n'Drop ($dragndrop_proto )." test "$with_workshop" = yes && echo " Compiling in support for Sun WorkShop." -test "$with_wmcommand" != no && echo " Compiling in support for proper WM_COMMAND handling." -case "$with_menubars" in - lucid ) echo " Using Lucid menubars." ;; - motif ) echo " Using Motif menubars." - echo " *WARNING* The Motif menubar implementation is currently buggy." - echo " We recommend using the Lucid menubar instead." - echo " Re-run configure with --with-menubars='lucid'." ;; - 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_widgets" in - motif ) echo " Using Motif native widgets." ;; - athena ) echo " Using Athena native widgets." ;; - msw ) echo " Using MS-Windows native widgets." ;; -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 -test "$with_modules" = "yes" && echo " Compiling in dynamic shared object module 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 "$pdump" = yes && echo " Using the new portable dumper (wishful thinking)." -test "$debug" = yes && echo " Compiling in extra code for debugging." -test "$usage_tracking" = yes && echo " Compiling with usage tracking active (Sun internal)." -if test "$error_check_extents $error_check_typecheck $error_check_bufpos $error_check_gc $error_check_malloc" \ - != "no no no no no"; then +test "$with_socks" = yes && echo " Compiling in support for SOCKS." +test "$with_dnet" = yes && echo " Compiling in support for DNET." +test "$with_modules" = "yes" && echo " Compiling in support for dynamic shared object modules." +test "$use_union_type" = yes && echo " Using the union type for Lisp_Objects." +test "$pdump" = yes && echo " Using the new portable dumper." +test "$debug" = yes && echo " Compiling in support for extra debugging code." +test "$usage_tracking" = yes && echo " Compiling in support for active usage tracking (Sun internal)." +if test "$error_check_extents $error_check_typecheck $error_check_bufpos $error_check_gc $error_check_malloc $error_check_glyphs" \ + != "no no no no no no"; then echo " WARNING: ---------------------------------------------------------" echo " WARNING: Compiling in support for runtime error checking." echo " WARNING: XEmacs will run noticeably more slowly as a result." @@ -4613,9 +4826,9 @@ dnl Delete spurious blanks inserted by $CPP -e 's/^[ TAB][ TAB]*$//'\ -e 's/^ /TAB/' \ dnl Delete blank lines - | sed -n -e '/^..*$/p' \ + -e '/^[ ]*$/d' \ dnl Restore lines quoted above to original contents. - | sed '/^\"/ { + -e '/^\"/ { s/\\\([\"]\)/\1/g s/^[ TAB]*\"// s/\"[ TAB]*$//