#### Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
#### 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) 1995, 1996, 2005 Ben Wing.
#### Copyright (C) 2000, 2001 Martin Buchholz.
#### Copyright (C) 1998, 1999 J. Kean Johnston.
with_xfs | \
with_i18n3 | \
with_mule | \
+ with_utf_2000 | \
+ with_chise | \
+ with_text_coding| \
with_file_coding| \
with_canna | \
with_wnn | \
with_workshop | \
with_sparcworks | \
with_tooltalk | \
+ with_concord | \
with_ldap | \
with_postgresql | \
with_pop | \
case "$opsys" in
linux* ) pdump=yes ;; dnl glibc 2.3.1 seems to hose unexec
darwin ) pdump=yes ;; dnl No "native" working dumper available
+ cygwin* ) pdump=yes ;; dnl unexec is broken
*) pdump=no ;;
esac
fi
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) ;;
*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
dnl Linux/powerpc needs the following magic for some reason
-test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript"
+dnl [Not needed with YellowDog 2.3 and causes link problems with YellowDog 3.0,
+dnl the two most popular PowerPC distributions.]
+dnl test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript"
if test "$unexec" = "unexaix.o"; then
dnl AIX needs various hacks to make static linking work.
possible_version=`${possible} --version 2> /dev/null`
if test "x${possible_version}" != "x"; then
GTK_CONFIG="${possible}"
+ case "${possible_version}" in
+ 1.0.*) AC_MSG_WARN([GTK 1.2 is required, please upgrade your version of GTK.]); with_gtk=no;;
+ 1.3.*) AC_MSG_WARN([GTK 1.3 is not supported right now]); with_gtk=no;;
+ 1.2.*)
+ with_gtk=yes
+ break
+ ;;
+ *) AC_MSG_WARN([Found unsupported version of GTK: $possible_version]);;
+ esac
fi
- case "${possible_version}" in
- 1.0.*) AC_MSG_WARN([GTK 1.2 is required, please upgrade your version of GTK.]); with_gtk=no;;
- 1.3.*) AC_MSG_WARN([GTK 1.3 is not supported right now]); with_gtk=no;;
- 1.2.*)
- with_gtk=yes
- break
- ;;
- *) AC_MSG_WARN([Found unsupported version of GTK: $possible_version]);;
- esac
done
AC_MSG_RESULT([${GTK_CONFIG}])
fi
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
esac
fi
- AC_CHECK_FUNCS(XConvertCase)
+ AC_CHECK_FUNCS(XConvertCase XtRegisterDrawable)
AC_CHECK_HEADERS(X11/Xlocale.h)
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_nolber=yes, with_ldap_nolber=no)
- test "$with_ldap_nolber" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_lber=yes, with_ldap_lber=no, -llber) }
- test "$with_ldap_nolber" = "no" -a "$with_ldap_lber" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_krb=yes, with_ldap_krb=no, -llber -lkrb) }
- test "$with_ldap_nolber" = "no" -a "$with_ldap_lber" = "no" -a "$with_ldap_krb" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_krbdes=yes, with_ldap_krbdes=no, -llber -lkrb -ldes) }
- test -z "$with_ldap" -a \( "$with_ldap_lber" = "yes" -o "$with_ldap_nolber" = "yes" -o "$with_ldap_krb" = "yes" -o "$with_ldap_krbdes" = "yes" \) && with_ldap=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 <lber.h>
+#include <ldap.h>
+#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 <lber.h>
+#include <ldap.h>
+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 <lber.h>
+#include <ldap.h>
+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_nolber" = "yes" ; then
- XE_PREPEND(-lldap, LIBS)
- else
- if test "$with_ldap_krb" = "yes" ; then
- XE_PREPEND(-lkrb, LIBS)
- fi
- if test "$with_ldap_krbdes" = "yes" ; then
- XE_PREPEND(-ldes, LIBS)
- XE_PREPEND(-lkrb, LIBS)
- fi
- XE_PREPEND(-llber, LIBS)
- XE_PREPEND(-lldap, LIBS)
- fi
+ LIBS="$ldap_libs $LIBS"
AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result)
fi
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) ;;
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 <X11/xpm.h>
int main(int c, char **v) {
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])
dnl Avoid using Motif :-(
case "$opsys" in
- *linux* ) lucid_prefers_motif = "no" ;;
- * ) lucid_prefers_motif = "yes" ;;
+ *linux* | cygwin* ) lucid_prefers_motif="no" ;;
+ * ) lucid_prefers_motif="yes" ;;
esac
case "$with_menubars" in "" | "yes" | "athena" )
XE_ADD_OBJS(file-coding.o)
fi
+dnl Autodetect concord
+concord_includes_found=no
+if test "$with_concord" != "no"; then
+ AC_CHECK_HEADER(concord.h, ,with_concord=no)
+fi
+if test "$concord_includes_found" = "no" -a "$with_concord" != "no" -a \
+ -d "/usr/local/concord/include"; then
+ save_c_switch_site="$c_switch_site"
+ c_switch_site="$c_switch_site -I/usr/local/concord/include"
+ AC_CHECK_HEADER(concord.h,concord_includes_found=yes)
+ if test "$concord_includes_found" != "yes"; then
+ c_switch_site="$save_c_switch_site"
+ with_concord="no"
+ fi
+fi
+
+test -z "$with_concord" && with_concord=yes
+if test "$with_concord" = "yes"; then
+ AC_DEFINE(HAVE_CONCORD)
+ XE_PREPEND(-lconcord, libs_x)
+ XE_ADD_OBJS(concord.o)
+fi
+
+test -z "$with_chise" && with_chise=yes
+if test "$with_chise" = "yes"; then
+ with_mule=yes
+ with_utf_2000=yes
+ with_text_coding=yes
+fi
+
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)
+ dnl Autodetect chise
+ chise_includes_found=no
+ if test "$with_chise" != "no"; then
+ AC_CHECK_HEADER(chise.h, ,with_chise=no)
+ fi
+ if test "$chise_includes_found" = "no" -a "$with_chise" != "no" -a \
+ -d "/usr/local/chise/include"; then
+ save_c_switch_site="$c_switch_site"
+ c_switch_site="$c_switch_site -I/usr/local/chise/include"
+ AC_CHECK_HEADER(chise.h,chise_includes_found=yes)
+ if test "$chise_includes_found" != "yes"; then
+ c_switch_site="$save_c_switch_site"
+ with_chise="no"
+ fi
+ fi
+
+ test -z "$with_chise" && with_chise=yes
+ if test "$with_chise" = "yes"; then
+ AC_DEFINE(HAVE_CHISE)
+ AC_DEFINE(HAVE_LIBCHISE)
+ XE_PREPEND(-lchise, libs_x)
+ fi
+
+ AC_DEFINE(FILE_CODING)
+ 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)
+ with_wnn=no
+ with_wnn6=no
+ 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...
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) }
- test -z "$with_gpm" && { AC_CHECK_LIB(gpm, Gpm_Open, with_gpm=yes, with_gpm=no) }
- if test "$with_gpm" = "yes"; then
- AC_DEFINE(HAVE_GPM)
- XE_ADD_OBJS(gpmevent.o)
- XE_PREPEND(-lgpm, LIBS)
+ dnl General Purpose Mouse (libgpm) support
+ if test "$with_gpm" != "no"; then
+ AC_CHECK_HEADER(gpm.h, [
+ AC_CHECK_LIB(gpm, Gpm_Open, have_gpm=yes)])
+ if test "$have_gpm" = "yes"; then
+ with_gpm=yes
+ AC_DEFINE(HAVE_GPM)
+ XE_ADD_OBJS(gpmevent.o)
+ XE_PREPEND(-lgpm, LIBS)
+ elif test "$with_gpm" = "yes"; then
+ XE_DIE(["GPM requested, but gpm.h or libgpm seems to be missing."])
+ else
+ with_gpm=no
+ fi
fi
else dnl "$with_tty" = "no"
"$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)
#ifdef HAVE_INTTYPES_H
#define __BIT_TYPES_DEFINED__
#include <inttypes.h>
+#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)
;;
!= "no no no"; then
AC_DEFINE(HAVE_DATABASE)
XE_ADD_OBJS(database.o)
+ if test "$with_utf_2000" = "yes" -a "$with_chise" != "yes" ; then
+ AC_DEFINE(HAVE_CHISE)
+ fi
fi
dnl Socks support
AC_SUBST(CFLAGS)
AC_SUBST(CPPFLAGS)
AC_SUBST(LDFLAGS)
-RECURSIVE_MAKE="\$(MAKE) \$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'"
-AC_SUBST(RECURSIVE_MAKE)
+RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'"
+AC_SUBST(RECURSIVE_MAKE_ARGS)
AC_SUBST(native_sound_lib)
AC_SUBST(sound_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
;;
*-*-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
echo " - Using PostgreSQL header file: $libpq_fe_h_file"
test "$with_postgresqlv7" = yes && echo " - Using PostgreSQL V7 bindings."
fi
+if test "$with_concord" = yes; then
+ echo " Compiling in support for CONCORD."
+fi
echo "
-Internationalization:"
+Multiscriptization / Multilingualization / Internationalization:"
test "$with_mule" = yes && echo " Compiling in support for Mule (multi-lingual Emacs)."
+test "$with_chise" = yes && echo " Using CHISE (CHaracter Information Service Environment) support."
+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."