X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=configure.in;h=6485deb3a1980a2326d41a4bf39941846b6a3dfd;hb=242bf8d8a024ae52c1ed6f03d005f95b548b5056;hp=aabd639714489efafe32ba0a75d6afcd5abd5601;hpb=762383636a99307282c2d93d26c35c046ec24da1;p=chise%2Fxemacs-chise.git diff --git a/configure.in b/configure.in index aabd639..6485deb 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],[[ @@ -284,26 +284,6 @@ verbose= x_includes=NONE x_libraries=NONE -dnl Installation directory options. -dnl These are left unexpanded so users can "make install exec_prefix=/foo" -dnl and all the variables that are supposed to be based on exec_prefix -dnl by default will actually change. -dnl Use braces instead of parens because sh, perl, etc. also accept them. -dnl If you change these, you need to synchronize with the settings of the -dnl various ..._USER_DEFINED variables further down. -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${{exec_prefix}}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - dnl Initialize some other variables. subdirs= MFLAGS= MAKEFLAGS= @@ -369,6 +349,7 @@ with_widgets='' with_dialogs='' with_file_coding='' cpp='' cppflags='' libs='' ldflags='' +extra_includes='' dynamic='' with_x11='' with_msw='' @@ -497,6 +478,8 @@ while test $# != 0; do with_xfs | \ with_i18n3 | \ with_mule | \ + with_utf_2000 | \ + with_text_coding| \ with_file_coding| \ with_canna | \ with_wnn | \ @@ -637,7 +620,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 @@ -769,10 +752,12 @@ The default is to autodetect all sound support."]) infopath ) AC_DEFINE(INFOPATH_USER_DEFINED) ;; package_path ) AC_DEFINE(PACKAGE_PATH_USER_DEFINED) ;; datadir ) - AC_DEFINE(INFODIR_USER_DEFINED) - AC_DEFINE(LISPDIR_USER_DEFINED) - AC_DEFINE(MODULEDIR_USER_DEFINED) - AC_DEFINE(ETCDIR_USER_DEFINED) ;; + AC_DEFINE(INFODIR_USER_DEFINED) + AC_DEFINE(LISPDIR_USER_DEFINED) + AC_DEFINE(MODULEDIR_USER_DEFINED) + AC_DEFINE(ETCDIR_USER_DEFINED) + AC_DEFINE(DOCDIR_USER_DEFINED) + AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;; docdir ) AC_DEFINE(DOCDIR_USER_DEFINED) ;; exec_prefix | libdir | archlibdir ) AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;; esac @@ -795,6 +780,7 @@ The default is to autodetect all sound support."]) a | at | ath | athe | athen | athena ) val=athena ;; n | no | non | none ) val=no ;; y | ye | yes ) val=yes ;; + m | ms | msw ) val=msw ;; * ) USAGE_ERROR(["The \`--$optname' option must have one of these values: \`lucid', \`motif', \`athena', \`yes', or \`no'."]) ;; esac @@ -1093,7 +1079,6 @@ case "$canonical" in clipper-* ) machine=clipper ;; arm* ) machine=arm ;; ns32k-* ) machine=ns32000 ;; - s390-* ) machine=s390 ;; esac dnl Straightforward OS determination @@ -1109,7 +1094,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 ;; @@ -1552,13 +1537,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 ;; @@ -1587,9 +1587,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 -------------------------------------------------- @@ -1696,6 +1693,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 @@ -1703,6 +1702,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]) @@ -1738,7 +1738,8 @@ configure___ [$2]=no [#]endif ])dnl CPP_boolean_to_sh -cat > $tempcname < $tempcname < confdefs.h +cat >> $tempcname < $tempcname < +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, @@ -2714,6 +2754,12 @@ if test "$with_msw" != "no"; then AC_CHECK_LIB(gdi32,main,with_msw=yes) if test "$with_msw" = "yes"; then AC_DEFINE(HAVE_MS_WINDOWS) + + dnl The net installer only works with MS-Windows currently + XE_APPEND(netinstall, MAKE_SUBDIR) + XE_APPEND(netinstall, SRC_SUBDIR_DEPS) + XE_APPEND(netinstall, INSTALL_ARCH_DEP_SUBDIR) + install_pp="$blddir/lib-src/installexe.sh" XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lwinspool, libs_system) test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto) @@ -2790,6 +2836,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= @@ -2904,8 +2958,8 @@ fi dnl Autodetect Drag'n'Drop support dnl always included if CDE, Offix, or MSWindows are defined -AC_MSG_CHECKING(if drag and drop API is needed) if test "$with_dragndrop" != "no" ; then + AC_MSG_CHECKING(if drag and drop API is needed) if test -n "$dragndrop_proto" ; then with_dragndrop=yes AC_MSG_RESULT([yes (${dragndrop_proto} )]) @@ -3020,6 +3074,9 @@ if test "$window_system" != "none"; then AC_MSG_RESULT($with_xpm) fi if test "$with_xpm" = "yes"; then + dnl #### This code assumes that if AC_CHECK_LIB fails, + dnl #### then it will succeed if FOR_MSW is defined, + dnl #### but doesn't actually verify this assumption. AC_DEFINE(HAVE_XPM) XE_PREPEND(-lXpm, libs_x) AC_MSG_CHECKING(for \"FOR_MSW\" xpm) @@ -3386,12 +3443,22 @@ 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 file-coding.o) - + XE_ADD_OBJS(mule.o mule-ccl.o mule-charset.o) + if test "$with_utf_2000" = "yes" && test "$with_text_coding" = "yes"; then + AC_DEFINE(TEXT_CODING) + XE_ADD_OBJS(text-coding.o) + else + XE_ADD_OBJS(file-coding.o) + fi dnl Use -lintl to get internationalized strerror for Mule AC_CHECK_HEADERS(libintl.h) AC_CHECK_LIB(intl, strerror) + if test "$with_utf_2000" = "yes" ; then + AC_DEFINE(CHAR_IS_UCS4) + AC_DEFINE(UTF2000) + fi + AC_CHECKING(for Mule input methods) dnl Do we have the XmIm* routines? And if so, do we want to use them? dnl XIM seems to be flaky except on Solaris... @@ -3427,7 +3494,7 @@ if test "$with_mule" = "yes" ; then if test "$with_xfs" = "yes" && test "$with_menubars" = "lucid"; then AC_DEFINE(USE_XFONTSET) if test "$with_xim" = "no" ; then - XE_ADD_OBJS(input-method-xfs.o) + XE_ADD_OBJS(input-method-xlib.o) fi fi fi dnl with_xfs @@ -3435,6 +3502,8 @@ if test "$with_mule" = "yes" ; then dnl Autodetect WNN test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/jllib.h, ,with_wnn=no) } + dnl gcc 2.97 fixincludes breaks inclusion of wnn/commonhd.h + test -z "$with_wnn" && { AC_CHECK_HEADER(wnn/commonhd.h, ,with_wnn=no) } dnl Detour to find crypt if test "$with_wnn" != "no"; then AC_CHECK_FUNCS(crypt) @@ -3502,20 +3571,57 @@ 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 ---------------------------------------------------------------- +dnl Check for PTY support functions. +dnl ---------------------------------------------------------------- + +dnl There is no "standard" pty allocation method. Every system is different. +dnl getpt() is the preferred pty allocation method on glibc systems. +dnl _getpty() is the preferred pty allocation method on SGI systems. +dnl grantpt(), unlockpt(), ptsname() are defined by Unix98. +AC_CHECK_FUNCS(getpt _getpty grantpt unlockpt ptsname killpg tcgetpgrp) + +dnl openpty() is the preferred pty allocation method on BSD and Tru64 systems. +dnl openpty() might be declared in: +dnl - pty.h (Tru64 or Linux) +dnl - libutil.h (FreeBSD) +dnl - util.h (NetBSD) +AC_CHECK_FUNC(openpty, have_openpty=yes, [ + AC_CHECK_LIB(util, openpty, have_openpty=yes need_libutil=yes)]) +if test "$have_openpty" = "yes"; then + AC_DEFINE(HAVE_OPENPTY) + AC_CHECK_HEADERS(pty.h libutil.h util.h, break) + test "$need_libutil" = "yes" && XE_APPEND(-lutil, libs_system) +fi + +dnl 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) @@ -3615,8 +3721,11 @@ 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. @@ -4023,7 +4132,14 @@ typedef uint64_t u_int64_t; #if DB_VERSION_MAJOR > 1 yes #endif -], [AC_MSG_RESULT(2); dbfunc=db_open], [AC_MSG_RESULT(1); dbfunc=dbopen]) +], [AC_EGREP_CPP(yes, +[#include <$db_h_file> +#if DB_VERSION_MAJOR > 2 +yes +#endif +], [AC_MSG_RESULT(3); dbfunc=db_create],[ + AC_MSG_RESULT(2); dbfunc=db_open])],[ + AC_MSG_RESULT(1); dbfunc=dbopen]) AC_CHECK_FUNC($dbfunc, with_database_berkdb=yes need_libdb=no, [ AC_CHECK_LIB(db, $dbfunc, with_database_berkdb=yes need_libdb=yes)]) fi @@ -4064,8 +4180,16 @@ if test "$with_modules" != "no"; then 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 ])])]) + AC_MSG_CHECKING([for dlopen in -lc]) + AC_TRY_LINK([#include ],dnl + [dlopen ("", 0);], [ have_dl=yes ], [ + AC_MSG_CHECKING([for dlopen in -ldl]) + ac_save_LIBS="$LIBS" + LIBS="-ldl $LIBS" + AC_TRY_LINK([#include ],dnl + [dlopen ("", 0);], [ have_dl=yes ], + [LIBS="$ac_save_LIBS"]) + ac_save_LIBS=])]) if test -n "$have_dl"; then AC_DEFINE(HAVE_DLOPEN) else @@ -4239,6 +4363,7 @@ AC_SUBST(pkgdir) AC_SUBST(statedir) AC_SUBST(libdir) AC_SUBST(mandir) +AC_SUBST(extra_includes) AC_SUBST(prefix) AC_SUBST(PREFIX_USER_DEFINED) @@ -4426,8 +4551,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 @@ -4508,8 +4631,16 @@ fi if test -n "$runpath"; then echo " Runtime library search path: $runpath" fi -echo " Operating system description file: \`$opsysfile'" -echo " Machine description file: \`$machfile'" + +if test -n "$opsysfile" +then echo " Operating system description file: \`$opsysfile'" +else echo " Not using any operating system description file" +fi +if test -n "$machfile" +then echo " Machine description file: \`$machfile'" +else echo " Not using any machine description file" +fi + echo " Compiler: $CC $CFLAGS" echo " Relocating allocator for buffers: $rel_alloc" echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}" @@ -4633,6 +4764,8 @@ fi echo " Internationalization:" test "$with_mule" = yes && echo " Compiling in support for Mule (multi-lingual Emacs)." +test "$with_utf_2000" = yes && echo " Using UTF-2000 (UTF-8) buffer/string representation." +test "$with_text_coding" = yes && echo " Compiling in support for text coding." test "$with_file_coding" = yes && echo " Compiling in support for file coding." test "$with_xim" != no && echo " Compiling in support for XIM (X11R5+ I18N input method)." test "$with_xim" = motif && echo " - Using Motif to provide XIM support." @@ -4734,9 +4867,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]*$//