X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=configure.in;h=a2cd2fbd5a44e132ed17d4cb1ef19b56953fcddf;hp=32fc3735f71869caf6590bf21b96ca56087a332d;hb=0a57cba46779af884cc537d18923dcb6313b9904;hpb=638658dc5a4af79f4b099eb24a17b136fe239a65 diff --git a/configure.in b/configure.in index 32fc373..a2cd2fb 100644 --- a/configure.in +++ b/configure.in @@ -1899,9 +1899,9 @@ dnl We only cope with headers in mingw, not mingw32: no previous version of dnl XEmacs supported mingw and cygnus have made this incompatible change dnl so we just go with the flow. case "$opsys" in mingw* | cygwin*) - cygwin_include=`eval "gcc -print-file-name=libc.a"` ; - cygwin_include=`eval "dirname $cygwin_include"` ; - cygwin_include="-I$cygwin_include/../include" ; + cygwin_include=`eval gcc -print-search-dirs | sed -ne s'/install: //p'` + cygwin_include=`eval "cd $cygwin_include/../../../..; pwd"` + cygwin_include="-I$cygwin_include/include" ; extra_includes="$cygwin_include/mingw $cygwin_include" ; case "$opsys" in mingw*) XE_APPEND($extra_includes, c_switch_system) ;; @@ -2094,8 +2094,6 @@ else *86* ) dynodump_arch=i386 ;; powerpc ) dynodump_arch=ppc ;; esac - dnl Dynodump requires the system linker - test "$GCC" = "yes" && XE_APPEND(-fno-gnu-linker, ld_switch_site) fi dnl Feed s&m crud to src/Makefile @@ -2749,7 +2747,7 @@ if test "$with_x11" != "no"; then if test "$x_libraries" = "NONE"; then for dir in "/usr/X11/lib" "/usr/X11R6/lib" "/usr/lib/X11R6"; do - if test -r "$dir/libX11.a"; then x_libraries="$dir"; break; fi + if test -r "$dir/libX11.a" -o -r "$dir/libX11.dylib"; then x_libraries="$dir"; break; fi done fi @@ -2917,7 +2915,7 @@ dnl Avoid re-AC_DEFINE-ing xmkmf symbols we've already defined above. esac fi - AC_CHECK_FUNCS(XConvertCase) + AC_CHECK_FUNCS(XConvertCase XtRegisterDrawable) AC_CHECK_HEADERS(X11/Xlocale.h) @@ -3212,33 +3210,113 @@ dnl Autodetect LDAP AC_CHECKING(for LDAP) test -z "$with_ldap" && { AC_CHECK_HEADER(ldap.h, ,with_ldap=no) } test -z "$with_ldap" && { AC_CHECK_HEADER(lber.h, ,with_ldap=no) } -if test "$with_ldap" != "no"; then - AC_CHECK_LIB(ldap, ldap_search, with_ldap=yes) - dnl Check for other libraries we need to link with to get the main routines. - test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes], , -llber) } - test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes], , -llber -lkrb) } - test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes with_ldap_des=yes], , -llber -lkrb -ldes) } - dnl Recently, we need -lber even though the main routines are elsewhere, - dnl because otherwise be get link errors w.r.t. ber_pvt_opt_on. So just - dnl check for that (it's a variable not a fun but that doesn't seem to - dnl matter in these checks) and stick in -lber if so. Can't hurt (even to - dnl stick it in always shouldn't hurt, I don't think) ... #### Someone who - dnl #### understands LDAP needs to fix this properly. - test "$with_ldap_lber" != "yes" && { AC_CHECK_LIB(lber, ber_pvt_opt_on, with_ldap_lber=yes) } +if test no != "$with_ldap";then + if test . != "${ldap_libs+.}";then + ldap_libs= + AC_CHECK_FUNC(ldap_open,dnl Allow it to be in generic "$LIBS" + [with_ldap=yes + test yes = "$extra_verbose" && + echo "Setting ldap_libs to $ldap_libs"],dnl + [AC_CHECK_LIB(ldap, ldap_open,dnl + [with_ldap=yes],dnl +dnl If logic of setting these vars change, change it the same way below. + [ldap_needs_lber=yes ldap_other_libs=-llber +dnl This requires `AC_CACHE_VAL' (which is called by `AC_CHECK_LIB') +dnl to be redefined to ignore cached (shell variable) value, as it is +dnl done above, because the same variable is used in all +dnl `AC_CHECK_LIB' expansions in macro invocation below. Worse, if it +dnl is not done, there is no portable way to compensate for this +dnl locally since `unset' command is not supported by all shells. The +dnl other solution would be changing `AC_CHECK_LIB' so that cache +dnl variable name depends on the macro OTHER-LIBRARIES argument. + AC_CHECK_LIB(ldap, ldap_open,dnl + [with_ldap=yes],dnl + [ldap_needs_krb=yes ldap_other_libs="$ldap_other_libs -lkrb" + AC_CHECK_LIB(ldap, ldap_open,dnl + [with_ldap=yes],dnl + [ldap_needs_des=yes ldap_other_libs="$ldap_other_libs -ldes" + AC_CHECK_LIB(ldap, ldap_open,dnl + [with_ldap=yes],dnl + [with_ldap=no],dnl + $ldap_other_libs)],dnl + $ldap_other_libs)],dnl + $ldap_other_libs)]) + if test yes = "$with_ldap" -a yes != "$ldap_needs_lber";then +dnl Need this check since `LDAP_OPT_ON' is (currently) used only with +dnl `ldap_set_option', and the latter may not exist at all, for which +dnl is testing later. So `LDAP_OPT_ON' is not necessarily defined. + AC_CACHE_CHECK([for LDAP_OPT_ON definition],xe_cv_have_LDAP_OPT_ON, + [AC_TRY_COMPILE( +[#include +#include +#ifdef LDAP_OPT_ON +/* Relying on const defined by ac_c_const (upper case). */ +const void *const v = LDAP_OPT_ON; +#else /* !defined (LDAP_OPT_ON) */ +choke me +#endif /* !defined (LDAP_OPT_ON) */],[], + [xe_cv_have_LDAP_OPT_ON=yes], + [xe_cv_have_LDAP_OPT_ON=no])]) + if test yes = "$xe_cv_have_LDAP_OPT_ON";then + AC_CACHE_CHECK([LDAP_OPT_ON linking], + xe_cv_LDAP_OPT_ON_links, + [xe_save_LIBS="$LIBS" + LIBS="-lldap $LIBS" +AC_TRY_LINK( +[#include +#include +const void *const v = LDAP_OPT_ON;],[], + xe_cv_LDAP_OPT_ON_links=yes, + xe_cv_LDAP_OPT_ON_links=no) + LIBS="$xe_save_LIBS"]) +dnl In some openldap installations other `ldap_*' functions link with +dnl `-lldap' alone, but `LDAP_OPT_ON' requires `-llber'. + if test yes != "$xe_cv_LDAP_OPT_ON_links";then + ldap_needs_lber=yes ldap_other_libs=-llber + AC_CACHE_CHECK([LDAP_OPT_ON linking with -llber], + xe_cv_LDAP_OPT_ON_links_w_lber, + [xe_save_LIBS="$LIBS" + LIBS="-lldap $ldap_other_libs $LIBS" +AC_TRY_LINK( +[#include +#include +const void *const v = LDAP_OPT_ON;],[], + xe_cv_LDAP_OPT_ON_links_w_lber=yes, + xe_cv_LDAP_OPT_ON_links_w_lber=no) + LIBS="$xe_save_LIBS"]) + if test yes != "$xe_cv_LDAP_OPT_ON_links_w_lber";then + with_ldap=no + fi + fi + fi + fi + if test yes = "$with_ldap";then + if test yes = "$ldap_needs_des";then + XE_PREPEND(-ldes, ldap_libs) + fi + if test yes = "$ldap_needs_krb";then + XE_PREPEND(-lkrb, ldap_libs) + fi + if test yes = "$ldap_needs_lber";then + XE_PREPEND(-llber, ldap_libs) + fi + XE_PREPEND(-lldap, ldap_libs) + fi]) + else +dnl Allow builder to override "$ldap_libs". + save_LIBS="$LIBS" LIBS="$ldap_libs $LIBS" + AC_CHECK_FUNC(ldap_open,dnl + [with_ldap=yes + test yes = "$extra_verbose" && + echo "Setting ldap_libs to $ldap_libs"],dnl + [with_ldap=no]) + LIBS="$save_LIBS" + fi fi if test "$with_ldap" = "yes"; then AC_DEFINE(HAVE_LDAP) XE_ADD_OBJS(eldap.o) - if test "$with_ldap_des" = "yes" ; then - XE_PREPEND(-ldes, LIBS) - fi - if test "$with_ldap_krb" = "yes" ; then - XE_PREPEND(-lkrb, LIBS) - fi - if test "$with_ldap_lber" = "yes" ; then - XE_PREPEND(-llber, LIBS) - fi - XE_PREPEND(-lldap, LIBS) + LIBS="$ldap_libs $LIBS" AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result) fi @@ -3285,17 +3363,18 @@ if test "$window_system" != "none"; then dnl -- should only happen if CYGWIN && WITH_XPM && WITH_MSW && !WITH_X libpath_xpm= incpath_xpm= + libname_xpm="-lXpm" case "$opsys" in cygwin*) - cygwin_top=`eval "gcc -print-file-name=libc.a"` ; - cygwin_top=`eval "dirname ${cygwin_top}"`; - cygwin_top="${cygwin_top}/.."; + cygwin_top=`eval gcc -print-search-dirs | sed -ne s'/install: //p'` + cygwin_top=`eval "cd $cygwin_top/../../../..; pwd"` case "$window_system" in dnl use "standard" search pattern x11) ;; dnl hardcode "standard" non-X11 xpm lib/inc dirs msw) libpath_xpm="-L${cygwin_top}/lib/noX" incpath_xpm="-I${cygwin_top}/include/noX" + libname_xpm="-lXpm-noX" ;; dnl not supported on cygwin (yet?) gtk) ;; @@ -3314,7 +3393,7 @@ if test "$window_system" != "none"; then XE_PREPEND("$incpath_xpm", CFLAGS) XE_PREPEND("$libpath_xpm", LDFLAGS) AC_MSG_CHECKING(for Xpm - no older than 3.4f) - xe_check_libs=-lXpm + xe_check_libs="$libname_xpm" AC_TRY_RUN([#define XPM_NUMBERS #include int main(int c, char **v) { @@ -3349,10 +3428,10 @@ if test "$window_system" != "none"; then dnl #### but doesn't actually verify this assumption. AC_DEFINE(HAVE_XPM) XE_PREPEND("$libpath_xpm", LDFLAGS) - XE_PREPEND(-lXpm, libs_x) + XE_PREPEND("$libname_xpm", libs_x) XE_PREPEND("$incpath_xpm", CFLAGS) AC_MSG_CHECKING(for \"FOR_MSW\" xpm) - xe_check_libs=-lXpm + xe_check_libs="$libname_xpm" AC_TRY_LINK(, [XpmCreatePixmapFromData()], [xpm_for_msw=no], [xpm_for_msw=yes]) @@ -3598,7 +3677,7 @@ dnl Not all toolkits support all widgets dnl Avoid using Motif :-( case "$opsys" in - *linux* ) lucid_prefers_motif="no" ;; + *linux* | cygwin* ) lucid_prefers_motif="no" ;; * ) lucid_prefers_motif="yes" ;; esac @@ -4526,6 +4605,24 @@ test "$with_database_gdbm" = "yes" -o \ "$with_database_dbm" = "yes" && \ AC_DEFINE(HAVE_DBM) +dnl Check for u_int*_t typedefs. +AC_CHECK_TYPE(u_int8_t, uint8_t) +if test $ac_cv_type_u_int8_t = yes; then +AC_DEFINE(HAVE_U_INT8_T,1) +fi +AC_CHECK_TYPE(u_int16_t, uint16_t) +if test $ac_cv_type_u_int16_t = yes; then +AC_DEFINE(HAVE_U_INT16_T,1) +fi +AC_CHECK_TYPE(u_int32_t, uint32_t) +if test $ac_cv_type_u_int32_t = yes; then +AC_DEFINE(HAVE_U_INT32_T,1) +fi +AC_CHECK_TYPE(u_int64_t, uint64_t) +if test $ac_cv_type_u_int64_t = yes; then +AC_DEFINE(HAVE_U_INT64_T,1) +fi + dnl Check for Berkeley DB. if test "$with_database_berkdb" != "no"; then AC_MSG_CHECKING(for Berkeley db.h) @@ -4550,14 +4647,22 @@ if test "$with_database_berkdb" != "no"; then #ifdef HAVE_INTTYPES_H #define __BIT_TYPES_DEFINED__ #include +#if !HAVE_U_INT8_T typedef uint8_t u_int8_t; +#endif +#if !HAVE_U_INT16_T typedef uint16_t u_int16_t; +#endif +#if !HAVE_U_INT32_T typedef uint32_t u_int32_t; +#endif #ifdef WE_DONT_NEED_QUADS +#if !HAVE_U_INT64_T typedef uint64_t u_int64_t; #endif #endif #endif +#endif #include <$header> ],[], db_h_file="$header"; break) ;; @@ -5104,8 +5209,8 @@ echo " Compiler: $CC $CFLAGS" dnl Let's save some helpful-for-debugging info like compiler and libc versions.. dnl First, see if it's gcc - the same check works everyplace... case "$CC" in - gcc*) echo " Compiler version: `$CC --version | head -1`" - echo " Compiler specs file: `$CC -v 2>&1 | sed 's/.* \([[^ ]]\)/\1/' | head -1`" + gcc*) echo " Compiler version: `$CC --version | sed 1q`" + echo " Compiler specs file: `$CC -v 2>&1 | sed 's/.* \([[^ ]]\)/\1/' | sed 1q`" ;; dnl non-gcc machine-specific magic - contributions welcome *) case "$canonical" in @@ -5136,7 +5241,7 @@ dnl non-gcc machine-specific magic - contributions welcome ;; *-*-solaris*) - ccvers=`$CC -V 2>&1 | head -1` + ccvers=`$CC -V 2>&1 | sed 1q` if test ! -z "$ccvers" ; then echo " Compiler version: $ccvers" fi