X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=configure.in;h=34c5136bf91dd8d57e466b9f53ac7927c4b707b4;hb=c63945cbc8551fe0313a46fe02f12233d4f2b92c;hp=ff22b3f3b507872990f2b2b3fc131c7981924888;hpb=a1655b870904de973c366d85ebdc8adde4ef5e1e;p=chise%2Fxemacs-chise.git diff --git a/configure.in b/configure.in index ff22b3f..34c5136 100644 --- a/configure.in +++ b/configure.in @@ -358,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' @@ -498,6 +497,8 @@ while test $# != 0; do with_xfs | \ with_i18n3 | \ with_mule | \ + with_utf_2000 | \ + with_text_coding| \ with_file_coding| \ with_canna | \ with_wnn | \ @@ -746,7 +747,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 @@ -774,7 +775,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 @@ -789,15 +789,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\"" ;; @@ -1094,6 +1095,7 @@ case "$canonical" in clipper-* ) machine=clipper ;; arm* ) machine=arm ;; ns32k-* ) machine=ns32000 ;; + s390-* ) machine=s390 ;; esac dnl Straightforward OS determination @@ -1655,37 +1657,7 @@ dnl -------------------------------------------------------------------- AC_AIX dnl Defines _ALL_SOURCE on AIX. -dnl Determine which SMART_INCLUDE macro will work for this system -cat > $srcdir/conffoo.h < -#define CONFFOO_H_PATH $srcdir -#define CONFFOO_INCLUDE(file) SMART_INCLUDE (CONFFOO_H_PATH,file) -#include CONFFOO_INCLUDE(conffoo.h) -], [ AC_MSG_RESULT(direct); AC_DEFINE(SMART_INCLUDE_INDIRECTIONS,0) ], -AC_TRY_COMPILE(,[ -#define GLUE_INCLUDE(path,file) <##path##/##file##> -#define SMART_INCLUDE(path,file) GLUE_INCLUDE(path,file) -#define CONFFOO_H_PATH $srcdir -#define CONFFOO_INCLUDE(file) SMART_INCLUDE(CONFFOO_H_PATH,file) -#include CONFFOO_INCLUDE(conffoo.h) -], [ AC_MSG_RESULT(simple); AC_DEFINE(SMART_INCLUDE_INDIRECTIONS,1) ], -AC_TRY_COMPILE(,[ -#define GLUE_INCLUDE_2(path,file) <##path##/##file##> -#define GLUE_INCLUDE_1(path,file) GLUE_INCLUDE_2(path,file) -#define SMART_INCLUDE(path,file) GLUE_INCLUDE_1(path,file) -#define CONFFOO_H_PATH $srcdir -#define CONFFOO_INCLUDE(file) SMART_INCLUDE (CONFFOO_H_PATH,file) -#include CONFFOO_INCLUDE(conffoo.h) -], [ AC_MSG_RESULT(double); AC_DEFINE(SMART_INCLUDE_INDIRECTIONS,2) ], - AC_MSG_ERROR([Cannot define a proper SMART_INCLUDE macro. Please report.])))) -rm -f $srcdir/conffoo.h - - -dnl We want feature macros defined here and in config.h.in, so that +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) @@ -1861,7 +1833,7 @@ if test "$pdump" = "yes"; then start_files= libs_standard= unexec= - lib_gcc= + lib_gcc= fi dnl For debugging... @@ -1883,8 +1855,8 @@ 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 requires -std -test "$__DECC" = "yes" && XE_APPEND(-std, c_switch_site) +dnl DEC C `-std1' means ANSI C mode +test "$__DECC" = "yes" && XE_APPEND(-std1, c_switch_site) dnl Calculalate value of CFLAGS: dnl Use either command line flag, environment var, or autodetection @@ -2271,7 +2243,6 @@ else 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], @@ -2292,18 +2263,15 @@ elif test "$with_debug_malloc" = "yes" ; then - User chose to use Debugging Malloc." fi -if test "$doug_lea_malloc" = "yes" ; then - if test "$GNU_MALLOC" = yes ; then - GNU_MALLOC_reason=" +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." - 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." AC_DEFINE(_NO_MALLOC_WARNING_) fi - use_minimal_tagbits=yes fi dnl #### mcheck is broken in all versions of Linux libc and glibc. @@ -2384,6 +2352,19 @@ 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 +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 @@ -2447,9 +2428,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" && \ @@ -2627,10 +2617,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 @@ -2718,7 +2717,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 @@ -2951,67 +2950,35 @@ if test "$with_ldap" = "yes"; then fi dnl Autodetect PostgreSQL -dnl The default installation location (non-Linux) is /usr/local/pgsql; -dnl a different prefix can be selected at build/install time. If PostgreSQL -dnl is installed into a different prefix, that prefix must be specified in -dnl in the --site-prefixes flag. -dnl The default RPM-based Linux installation location is /usr. -AC_CHECKING(for PostgreSQL) -postgres_h_path="" -postgres_includes_found=no -save_c_switch_site="$c_switch_site" - -dnl First, test standard location and site prefixes only: +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_CHECK_HEADER(libpq-fe.h,postgres_includes_found=yes) -fi + AC_CHECKING(for PostgreSQL) -dnl Otherwise, test different known headers locations on linux: -if test "$postgres_includes_found" = "no" -a "$with_postgresql" != "no" -a \ - -d "/usr/local/pgsql/include"; then - c_switch_site="$c_switch_site -I/usr/local/pgsql/include" - AC_CHECK_HEADER(libpq-fe.h,postgres_includes_found=yes) - if test "$postgres_includes_found" != "yes"; then - postgres_h_path="/usr/local/pgsql/include" - fi - c_switch_site="$save_c_switch_site" -fi -if test "$postgres_includes_found" = "no" -a "$with_postgresql" != "no" -a \ - -d "/usr/include/pgsql"; then - c_switch_site="$c_switch_site -I/usr/include/pgsql" - AC_CHECK_HEADER(libpq-fe.h,postgres_includes_found=yes) - if test "$postgres_includes_found" = "yes"; then - postgres_h_path="pgsql" - fi - c_switch_site="$save_c_switch_site" - fi -if test "$postgres_includes_found" = "no" -a "$with_postgresql" != "no" -a \ - -d "/usr/include/postgresql"; then - c_switch_site="$c_switch_site -I/usr/include/postgresql" - AC_CHECK_HEADER(libpq-fe.h,postgres_includes_found=yes) - if test "$postgres_includes_found" = "yes"; then - postgres_h_path="postgresql" -fi - c_switch_site="$save_c_switch_site" -fi +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 -dnl Finally, check if we can link with libpq: -if test "$postgres_includes_found" = "yes"; then - AC_CHECK_LIB(pq,PQconnectdb,with_postgresql=yes,with_postgresql=no) -fi -if test "$with_postgresql" = "yes"; then - AC_CHECK_LIB(pq,PQconnectStart,with_postgresqlv7=yes,with_postgresqlv7=no) -fi -if test "$with_postgresql" = "yes"; then - if test -n "$postgres_h_path"; then - AC_DEFINE_UNQUOTED(POSTGRES_H_PATH, $postgres_h_path) - fi - AC_DEFINE(HAVE_POSTGRESQL) - if test "$with_postgresqlv7" = "yes"; then - AC_DEFINE(HAVE_POSTGRESQLV7) - fi - XE_PREPEND(-lpq, LIBS) - XE_ADD_OBJS(postgresql.o) + 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 ---------------------- @@ -3312,12 +3279,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,12 +3388,23 @@ 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) + AC_DEFINE(HAVE_GGC) + 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... @@ -3826,6 +3816,14 @@ if test "$with_native_sound" != "no"; then 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 @@ -4073,20 +4071,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 @@ -4361,17 +4364,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 @@ -4554,7 +4546,7 @@ if test "$with_x11" = "yes"; then echo " - Handling WM_COMMAND properly." fi fi -if test "$have_xaw" = "yes"; then +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" @@ -4647,17 +4639,15 @@ 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." - if test "$with_postgresqlv7" = yes; then - echo " - Using PostgreSQL V7 bindings." - fi - if test -n "$postgres_h_path"; then - echo " - PostgreSQL headers location: $postgres_h_path" - fi + 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_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." @@ -4675,7 +4665,7 @@ 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." -echo " Compiling in support for \"$mail_locking\" mail spool file locking method." +test -n "$mail_locking" && echo " Compiling in support for \"$mail_locking\" mail spool file locking method." echo " Other Features:" @@ -4684,8 +4674,6 @@ 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 "$with_clash_detection" != "no" && \ - echo " Clash detection will use \"$lockdir\" for locking files." 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."