[#### Configuration script for XEmacs. Largely divergent from FSF.
#### Guess values for system-dependent variables and create Makefiles.
#### Generated automatically using autoconf version] AC_ACVERSION [
-#### Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#### 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.
### Don't edit this script!
### To rebuild it, execute the command
### autoconf
### in the this directory. You must have autoconf version 2.13 or later.
+### Note: this script has not yet been ported to autoconf version 2.5x.
### This file is part of XEmacs.
dnl here is how XEmacs is different:
dnl - no cache file
dnl - non-standard options
-dnl - suport for extra-verbosity
+dnl - support 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 redefine AC_CHECK_LIB in accordance with our own value of ac_link
dnl Add in extra kludgy check to support with_dnet=no
-dnl Add in extra LDFLAGS arg, which PRECEDE libs
+dnl Add in extra LDFLAGS arg, which PRECEDES libs
dnl Support --with-dnet=no
dnl AC_CHECK_LIB(LIBRARY, FUNCTION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND
dnl ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC'
xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS'
xe_ldflags='$LDFLAGS $ld_switch_site $ld_switch_machine $ld_switch_system $ld_switch_x_site $ld_switch_run'
-xe_libs='$ld_call_shared $xe_check_libs $X_EXTRA_LIBS $libs_x $X_PRE_LIBS $LIBS $libs_machine $libs_system $libs_standard'
+xe_libs='$ld_call_shared $xe_check_libs $X_EXTRA_LIBS $libs_x $libs_gtk $X_PRE_LIBS $LIBS $libs_machine $libs_system $libs_standard'
ac_cpp='$CPP '"$xe_cppflags"
ac_compile='${CC-cc} -c $CFLAGS '"$xe_cppflags"' conftest.$ac_ext 1>&AC_FD_CC'
ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&AC_FD_CC'
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=
infopath=''
install_pp=''
lispdir='${datadir}/${instvardir}/lisp'
-moduledir='${datadir}/${instvardir}/${configuration}/modules'
+moduledir='${libdir}/${instvardir}/${configuration}/modules'
sitelispdir='${datadir}/${inststaticdir}/site-lisp'
-sitemoduledir='${datadir}/${inststaticdir}/site-modules'
+sitemoduledir='${libdir}/${inststaticdir}/site-modules'
pkgdir='${datadir}/${instvardir}/lisp'
package_path=''
etcdir='${datadir}/${instvardir}/etc'
-archlibdir='${datadir}/${instvardir}/${configuration}'
+archlibdir='${libdir}/${instvardir}/${configuration}'
docdir='${archlibdir}'
+with_netinstall="no"
with_prefix='yes'
with_site_lisp='no'
with_site_modules='yes'
with_menubars=''
with_scrollbars=''
+dnl can't turn off widgets here because of systems where they are demanded
with_widgets=''
with_dialogs=''
with_file_coding=''
cpp='' cppflags='' libs='' ldflags=''
+extra_includes=''
dynamic=''
with_x11=''
with_msw=''
rel_alloc='default'
with_system_malloc='default'
with_dlmalloc='default'
+use_regex_malloc='yes'
+dnl ESD is associated with crashes and lockups due to incorrect signal use.
+with_esd_sound='no'
native_sound_lib=''
+dnl These should be set to the empty string when we want gtk / gnome to
+dnl be auto-detected instead of manually specified.
+with_gtk='no'
+with_gnome='no'
dnl use_assertions should be 'yes' by default. Too many people in this
dnl world have core dumps turned off by default or \"cannot find where the
dnl core file went\". At least we should get some useful output ...
with_tty=""
use_union_type="no"
with_dnet=""
-pdump="no"
+dnl pdump now defaults by opsys
+pdump=''
dnl dragndrop is still experimental. When it is stable, comment out the following line:
with_dragndrop="no"
+dnl Too annoying, even if mandated by IPv6 (and I'm not even sure of that)
+with_ipv6_cname="no"
dnl ------------------
dnl Options Processing
with_site_modules | \
with_x | \
with_x11 | \
+ with_gtk | \
+ with_gnome | \
with_msw | \
with_gcc | \
dynamic | \
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 | \
with_hesiod | \
with_dnet | \
with_infodock | \
+ with_netinstall | \
+ with_ipv6_cname | \
external_widget | \
verbose | \
extra_verbose | \
pdump | \
debug | \
use_assertions | \
+ use_regex_malloc | \
memory_usage_stats | \
with_clash_detection | \
- with_modules | \
+ with_modules | \
quick_build )
dnl Make sure the value given was either "yes" or "no".
case "$val" in
types="\`all', \`none', \`(no)native', \`no(nas)', \`(no)esd'."
USAGE_ERROR(["Valid types for the \`--$optname' option are:
$types.
-The default is to autodetect all sound support."])
+Option \`all' or \`none' must be first in the list.
+The default is to autodetect native and NAS sound support."])
elif test -n "$new_sdefault" ; then
with_native_sound=$new_sdefault
with_nas_sound=$new_sdefault
dnl Has the user specified one of the path options?
prefix | exec_prefix | bindir | datadir | statedir | libdir | \
mandir | infodir | infopath | lispdir | etcdir | pkgdir | \
- archlibdir | docdir | package_path )
+ archlibdir | docdir | package_path | moduledir )
dnl If the value was omitted, get it from the next argument.
if test "$valomitted" = "yes"; then
if test "$#" = 0; then
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
"with_widgets" )
case "$val" in
l | lu | luc | luci | lucid ) val=lucid ;;
- m | mo | mot | moti | motif ) val=motif ;;
+ mo | mot | moti | motif ) val=motif ;;
a | at | ath | athe | athen | athena ) val=athena ;;
n | no | non | none ) val=no ;;
y | ye | yes ) val=yes ;;
+ dnl Explicit --with-widgets on command line means yes.
+ "") val=yes ;;
+ g | gt | gtk ) val=gtk ;;
+ ms | msw ) val=msw ;;
* ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
- \`lucid', \`motif', \`athena', \`yes', or \`no'."]) ;;
+ \`gtk', \`lucid', \`motif', \`athena', \`yes', or \`no'."]) ;;
esac
eval "$opt=\"$val\""
;;
*-*-ultrix* ) opsys=ultrix4-3 ;;
dnl AIX
- *-*-aix3.1* ) opsys=aix3-1 ;;
- *-*-aix3.2.5 ) opsys=aix3-2-5 ;;
- *-*-aix3* ) opsys=aix3-2 ;;
- *-*-aix4.0* ) opsys=aix4 ;;
- *-*-aix4.1* ) opsys=aix4-1 ;;
- *-*-aix4* ) opsys=aix4-2 ;;
+ *-*-aix3.1* ) opsys=aix3-1 ;;
+ *-*-aix3.2.5 ) opsys=aix3-2-5 ;;
+ *-*-aix3* ) opsys=aix3-2 ;;
+ *-*-aix4.0* ) opsys=aix4 ;;
+ *-*-aix4.1* ) opsys=aix4-1 ;;
+ *-*-aix[[4-9]]* ) opsys=aix4-2 ;;
dnl Other generic OSes
*-gnu* ) opsys=gnu ;;
dnl Cubix QBx/386
i[[3-9]]86-cubix-sysv* ) machine=intel386 opsys=usg5-3 ;;
+ dnl Darwin, a.k.a. MacOS X (based on Mach and Freebsd)
+ *-*-darwin*)
+ opsys=darwin
+ RANLIB="ranlib -c" dnl Avoids a link error with lwlib-config.c
+ ;;
+
dnl Data General AViiON Machines
i586-dg-dgux*R4* | i586-dg-dgux5.4.4* ) machine=aviion opsys=dgux5-4r4 ;;
m88k-dg-dgux5.4R3* | m88k-dg-dgux5.4.3* ) opsys=dgux5-4r3 ;;
esac
case "$canonical" in
- *-solaris* )
+ *-solaris* )
opsys=sol2
- os_release=`uname -r | sed -e 's/^\([[0-9]]\)\.\([[0-9]]\).*/\1\2/'`
+ os_release_major=`uname -r | sed -e 's/^\([[0-9]]\{1,\}\)\.\([[0-9]]\{1,\}\).*/\1/'`
+ os_release_minor=`uname -r | sed -e 's/^\([[0-9]]\{1,\}\)\.\([[0-9]]\{1,\}\).*/\2/'`
+ case "$os_release_minor" in [[0-9]])
+ os_release_minor="0${os_release_minor}";;
+ esac
+ os_release="${os_release_major}${os_release_minor}"
AC_DEFINE_UNQUOTED(OS_RELEASE, $os_release) ;;
dnl The last Sun386 ran 4.0.
*-bsdi3* ) opsys=bsdos3 ;;
*-bsdi2.1* ) opsys=bsdos2-1 ;;
*-bsdi2* ) opsys=bsdos2 ;;
- *-sco3.2v5* ) opsys=sco5 ;
- dnl This is a pain. Like the current USL cc, SCO cc -E
- dnl tokenizes as it preprocesses, making configure very
- dnl unhappy. Unfortunately, /lib/cpp does not understand
- dnl flags like "-b elf", so we have to cheat in order to
- dnl pick up the right defines for UNEXEC from the s-file.
- dnl 01/05/95 robertl@dgii.com
- if test "$dynamic" = "yes" ; then
- NON_GNU_CPP="/lib/cpp -D_XOPEN_SOURCE -D_SCO_ELF" ;
- else
- NON_GNU_CPP="/lib/cpp -D_XOPEN_SOURCE" ;
- fi ;;
+ *-sco3.2v5* ) opsys=sco5 ;;
*-sysv5* ) opsys=sco7 ;;
*-386bsd* ) opsys=386bsd ;;
*-freebsd* ) opsys=freebsd ;;
esac
-dnl Initialize machine and opsys from $canonical if not in our database above.
+dnl Initialize machine 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 Initialize opsys from `uname -s` if not in our database above.
+test -z "$opsys" && opsys=`uname -s | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
dnl Use configure-time autodetection if s&m not available
if test -r "${srcdir}/src/m/${machine}.h"; then
echo "Using configure-time autodetection only."
fi
+dnl --------------------------------------------------------------
+dnl $opsys detection complete; defaults depending on $opsys follow
+dnl --------------------------------------------------------------
+
+if test -z "$pdump"; then
+ 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
if test -z "$dynamic"; then
case "$opsys" in
case "$opsys" in
hpux* | sunos4* | sco5 ) opsys="${opsys}-shr" ;;
decosf* ) ld_call_shared="-call_shared" ;;
+ darwin ) AC_DEFINE(DLSYM_NEEDS_UNDERSCORE) ;;
esac
else dnl "$dynamic" = "no"
case "$opsys" in
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
+ if test "$os_release" -ge 505; then
AC_DEFINE(_XOPEN_SOURCE,500)
AC_DEFINE(_XOPEN_SOURCE_EXTENDED)
fi ;;
return 12;
#elif defined __USLC__ && defined __SCO_VERSION__
return 13;
+#elif defined __INTEL_COMPILER
+return 14;
#else
return 0;
#endif
}], [],
[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 ;;
+ 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 ;;
+ 14) echo "You appear to be using the Intel C++ compiler."; __ICC=yes
+ dnl Newer versions of icc claim to be GCC
+ GCC=no ;;
esac])
ld lib_gcc ld_text_start_addr start_files ordinary_link
have_terminfo mail_use_flock mail_use_lockf) && echo ""
-dnl Pick up mingw32 include path
-case "$opsys" in mingw*) mingw_include=`eval "gcc -print-file-name=libc.a"` ;
- mingw_include=`eval "dirname $mingw_include"` ;
- mingw_include="-I$mingw_include/../include/mingw32" ;
- XE_APPEND($mingw_include, c_switch_system) ;;
+dnl Pick up mingw include path
+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-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) ;;
+ esac
+ ;;
esac
dnl Non-ordinary link usually requires -lc
test "$need_kalloca" = "yes" && XE_APPEND(-Kalloca,c_switch_system)
fi
-dnl Calculalate value of CFLAGS:
+dnl Calculate value of CFLAGS:
dnl Use either command line flag, environment var, or autodetection
if test "$cflags_specified" = "no"; then
dnl Following values of CFLAGS are known to work well.
dnl Should we take debugging options into consideration?
if test "$GCC" = "yes"; then
- CFLAGS="-g -O3 -Wall -Wno-switch -Wpointer-arith -Winline -Wmissing-prototypes -Wshadow"
+ CFLAGS="-g -O3 -Wall -Wno-switch -Winline -Wmissing-prototypes"
+ dnl Yuck, bad compares have been worth at least 3 crashes!
+ CFLAGS="$CFLAGS -Wsign-compare"
+ dnl XEmacs is known not to be strict-aliasing-safe.
+ case "`gcc -v --help 2>&1`" in
+ *-fstrict-aliasing* ) CFLAGS="$CFLAGS -fno-strict-aliasing" ;;
+ esac
+ dnl You get five zillion shadowing warnings with g++.
+ dnl Even with gcc, -Wshadow is questionable because of its complaints
+ dnl about parameters with the same names as global functions.
+ if test "$xemacs_compiler" != "g++"; then
+ CFLAGS="$CFLAGS -Wshadow"
+ fi
+ dnl glibc is intentionally not `-Wpointer-arith'-clean.
+ dnl Ulrich Drepper has rejected patches to fix the glibc header files.
+ test "$have_glibc" != "yes" && CFLAGS="$CFLAGS -Wpointer-arith"
dnl I'm not convinced this is a good idea any more. -sb
dnl test "$opsys $machine" = "linux intel386" && \
dnl CFLAGS="$CFLAGS -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2"
CFLAGS="-O3"
elif test "$CC" = "xlc"; then
CFLAGS="-g -O3 -qstrict -qnoansialias -qlibansi -qinfo -qro -qmaxmem=20000"
+ elif test "$__ICC" = "yes"; then
+ CFLAGS="-g -O3 -Ob2 -Wall -W1"
dnl ### Add optimal CFLAGS support for other compilers HERE!
else
CFLAGS="-O" ;dnl The only POSIX-approved flag
AC_MSG_RESULT(no)
fi
+dnl GNU ld now defaults to combreloc, which screws up unexec, but not pdump.
+dnl Note that it's OK if the GNU style long option causes non-GNU ld to barf
+dnl a usage message, that's often good enough. Please report it, though.
+dnl #### Should make this Solaris-friendly.
+dnl Link with -z nocombreloc for now.
+if test "$pdump" != "yes"; then
+ AC_MSG_CHECKING(for \"-z nocombreloc\" linker flag)
+ case "`ld --help 2>&1`" in
+ *-z\ nocombreloc* ) AC_MSG_RESULT(yes)
+ XE_PREPEND(-z nocombreloc, ld_switch_site) ;;
+ *) AC_MSG_RESULT(no) ;;
+ esac
+fi
+
+
dnl Inform compiler that certain flags are meant for the linker
dnl XE_PROTECT_LINKER_FLAGS(shell_var)
define([XE_PROTECT_LINKER_FLAGS], [
fi])dnl
XE_PROTECT_LINKER_FLAGS(ld_switch_system)
XE_PROTECT_LINKER_FLAGS(ld_switch_machine)
+XE_PROTECT_LINKER_FLAGS(ld_switch_site)
XE_PROTECT_LINKER_FLAGS(LDFLAGS)
XE_PROTECT_LINKER_FLAGS(ld_call_shared)
*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.
dnl listed in /etc/ld.so.conf on some systems, and including them on
dnl the link path leads to linking in utterly broken libc's.
dnl There are many clever ways of approaching this problem,
-dnl but finding out that actually works...
+dnl but finding one that actually works...
dnl if test -z "$LD_RUN_PATH" -a -r "/etc/ld.so.conf"; then
dnl for dir in `cat /etc/ld.so.conf`; do
case "$arg" in -L*) XE_ADD_RUNPATH_DIR(`echo '' "$arg" | sed -e 's:^ ::' -e 's/^-L//'`);; esac
done
dnl Sometimes /opt/SUNWdt/lib is the only installed Motif available
+ dnl #### this test always fails here as need_motif is null
if test "$opsys $need_motif" = "sol2 yes"; then
xe_runpath_dir="/opt/SUNWdt/lib";
eval "$xe_add_unique_runpath_dir";
])dnl
XE_COMPUTE_RUNPATH()
-dnl JKJ REMOVEME
-dnl XE_SHLIB_STUFF
-
dnl -----------------------------------
dnl Do some misc autoconf-special tests
dnl -----------------------------------
sys/un.h dnl
ulimit.h dnl
unistd.h dnl
- utime.h dnl
)
AC_HEADER_SYS_WAIT
AC_HEADER_STDC
AC_HEADER_TIME
AC_DECL_SYS_SIGLIST
-dnl Some systems have utime.h but do not declare the struct anyplace.
-AC_MSG_CHECKING(for struct utimbuf)
-AC_TRY_COMPILE([#ifdef TIME_WITH_SYS_TIME
-#include <sys/time.h>
-#include <time.h>
-#else
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#else
-#include <time.h>
-#endif
-#endif
-#ifdef HAVE_UTIME_H
-#include <utime.h>
-#endif], [static struct utimbuf x; x.actime = x.modtime;],
+
+dnl ----------------------------------------------------------------
+dnl Checking for utime() or utimes().
+dnl We prefer utime, since it is more standard.
+dnl Some systems have utime.h but do not declare the struct anyplace,
+dnl so we use a more sophisticated test for utime than AC_CHECK_FUNCS.
+dnl ----------------------------------------------------------------
+AC_MSG_CHECKING(for utime)
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <utime.h>],
+[struct utimbuf x; x.actime = x.modtime = 0; utime ("/", &x);],
[AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_STRUCT_UTIMBUF)],
- AC_MSG_RESULT(no))
+ AC_DEFINE(HAVE_UTIME)],
+ [AC_MSG_RESULT(no)
+ dnl We don't have utime(); how about utimes()?
+ AC_CHECK_FUNCS(utimes)])
+
dnl checks for typedefs
AC_TYPE_SIGNAL
dnl check for Unix98 socklen_t
AC_MSG_CHECKING(for socklen_t)
-AC_TRY_COMPILE([#include <sys/socket.h>
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/socket.h>
socklen_t x;
],[],[AC_MSG_RESULT(yes)],[
-AC_TRY_COMPILE([#include <sys/socket.h>
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/socket.h>
int accept (int, struct sockaddr *, size_t *);
],[],[
AC_MSG_RESULT(size_t)
AC_CHECK_SIZEOF(long long)
AC_CHECK_SIZEOF(void *)
+dnl Cygwin from 1003022 has intptr_t, uintptr_t in <cygwin/types.h>
+case $opsys in
+ cygwin* ) AC_EGREP_HEADER([typedef.*intptr_t;], [cygwin/types.h],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(INTPTR_T_IN_CYGWIN_TYPES_H,1)],
+ [AC_MSG_RESULT(no)]) ;;
+esac
+
dnl check for long file names
AC_SYS_LONG_FILE_NAMES
c_switch_site="$c_switch_site -threads" ;;
esac
+dnl ----------------------------------------------------------------
+dnl Miscellaneous flags
+dnl ----------------------------------------------------------------
+
AC_MSG_CHECKING(whether the -xildoff compiler flag is required)
if ${CC-cc} '-###' -xildon no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then
if ${CC-cc} '-###' -xildoff no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ;
dnl Link with "-z ignore" on Solaris if supported
if test "$opsys" = "sol2"; then
- if test "$os_release" -ge 56; then
+ if test "$os_release" -ge 506; then
AC_MSG_CHECKING(for \"-z ignore\" linker flag)
case "`ld -h 2>&1`" in
*-z\ ignore\|record* ) AC_MSG_RESULT(yes)
AC_CHECKING("for specified window system")
+dnl Autodetection of Gdk libraries and includes
+dnl -------------------------------------------
+dnl On some systems (FreeBSD springs to mind), they use
+dnl versions on the utility routines, so instead of gtk-config
+dnl you must use gtk12-config, etc, etc.
+
+GNOME_CONFIG=no
+GTK_CONFIG=no
+
+if test "$with_gnome" != "no"; then
+ AC_MSG_CHECKING(for GNOME configuration script)
+ for possible in gnome-config
+ do
+ possible_version=`${possible} --version 2> /dev/null`
+ if test "x${possible_version}" != "x"; then
+ GNOME_CONFIG="${possible}"
+ with_gnome=yes
+ with_gtk=yes
+ break
+ fi
+ done
+ AC_MSG_RESULT([${GNOME_CONFIG}])
+fi
+
+if test "${GNOME_CONFIG}" != "no"; then
+ GNOME_LIBS=`${GNOME_CONFIG} --libs gnomeui`
+ GNOME_CFLAGS=`${GNOME_CONFIG} --cflags gnomeui`
+ AC_DEFINE(HAVE_GNOME)
+ XE_APPEND(${GNOME_LIBS}, libs_gtk)
+ XE_APPEND(${GNOME_CFLAGS}, c_switch_gtk)
+fi
+
+if test "$with_gtk" != "no";then
+ AC_MSG_CHECKING(for GTK configuration script)
+ for possible in gtk12-config gtk14-config gtk-config
+ do
+ 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
+ done
+ AC_MSG_RESULT([${GTK_CONFIG}])
+fi
+
+if test "${GTK_CONFIG}" != "no"; then
+ AC_MSG_CHECKING(gtk version)
+ GTK_VERSION=`${GTK_CONFIG} --version`
+ AC_MSG_RESULT(${GTK_VERSION})
+
+ AC_MSG_CHECKING(gtk libs)
+ GTK_LIBS=`${GTK_CONFIG} --libs`
+ XE_APPEND(${GTK_LIBS}, libs_gtk)
+ AC_MSG_RESULT(${GTK_LIBS})
+
+ AC_MSG_CHECKING(gtk cflags)
+ GTK_CFLAGS=`${GTK_CONFIG} --cflags`
+ if test "$GCC" = "yes"; then
+ GTK_CFLAGS="${GTK_CFLAGS} -Wno-shadow"
+ fi
+ XE_APPEND(${GTK_CFLAGS}, c_switch_gtk)
+ AC_MSG_RESULT(${GTK_CFLAGS})
+
+ AC_CHECK_LIB(gdk_imlib, main, XE_PREPEND(-lgdk_imlib, libs_gtk))
+ AC_CHECK_LIB(Imlib, Imlib_init, XE_APPEND(-lImlib, libs_gtk))
+ AC_CHECK_FUNCS(gdk_imlib_init)
+
+ AC_DEFINE(HAVE_XPM)
+ AC_DEFINE(HAVE_GTK)
+ AC_SUBST(GTK_CONFIG)
+
+ window_system=gtk
+ with_gtk=yes
+ with_x11=no
+
+ test "${with_scrollbars}" != "no" && with_scrollbars=gtk
+ test "${with_toolbars}" != no && with_toolbars=gtk
+ test "${with_menubars}" != "no" && with_menubars=gtk
+ test "${with_dialogs}" != "no" && with_dialogs=gtk
+ test "${with_widgets}" != "no" && with_widgets=gtk
+
+ XE_ADD_OBJS(console-gtk.o device-gtk.o event-gtk.o frame-gtk.o)
+ XE_ADD_OBJS(objects-gtk.o redisplay-gtk.o glyphs-gtk.o)
+ XE_ADD_OBJS(select-gtk.o gccache-gtk.o)
+ XE_ADD_OBJS(gtk-xemacs.o ui-gtk.o)
+
+ dnl Check for libglade support (it rocks)
+ OLD_CFLAGS="${CFLAGS}"
+ OLD_CPPFLAGS="${CPPFLAGS}"
+ OLD_LDFLAGS="${LDFLAGS}"
+ CFLAGS="${GTK_CFLAGS} ${CFLAGS}"
+ CPPFLAGS="${GTK_CFLAGS} ${CFLAGS}"
+ LDFLAGS="${LDFLAGS} ${GTK_LIBS}"
+ AC_CHECK_HEADERS(glade/glade.h glade.h)
+ AC_CHECK_LIB(xml, main, XE_PREPEND(-lxml, libs_gtk))
+ AC_CHECK_LIB(glade, main, XE_PREPEND(-lglade, libs_gtk))
+ AC_CHECK_LIB(glade-gnome, main, XE_PREPEND(-lglade-gnome, libs_gtk))
+ AC_EGREP_HEADER([char \*txtdomain;], [glade/glade-xml.h],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(LIBGLADE_XML_TXTDOMAIN,1)],
+ [AC_MSG_RESULT(no)])
+ CFLAGS="${OLD_CFLAGS}"
+ CPPFLAGS="${OLD_CPPFLAGS}"
+ LDFLAGS="${OLD_LDFLAGS}"
+fi
+
+dnl We may eventually prefer gtk/gdk over vanilla X11...
+
if test "$with_x11" != "no"; then
dnl User-specified --x-includes or --x-libraries implies --with-x11.
test "$x_includes $x_libraries" != "NONE NONE" && \
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
fi
fi
-case "$with_x11" in
- yes ) window_system=x11 HAVE_X_WINDOWS=yes ;;
- no ) window_system=none HAVE_X_WINDOWS=no ;;
-esac
+dnl #### wmperry:: !x11 != NONE
+dnl case "$with_x11" in
+dnl yes ) window_system=x11 HAVE_X_WINDOWS=yes ;;
+dnl no ) window_system=none HAVE_X_WINDOWS=no ;;
+dnl esac
if test "$with_x11" = "yes"; then
AC_DEFINE(HAVE_X_WINDOWS)
XE_APPEND(lwlib, MAKE_SUBDIR)
XE_APPEND(lwlib, SRC_SUBDIR_DEPS)
- dnl Try to find Motif/CDE/Tooltalk dirs
- dnl These take precedence over other X libs/includes, so PRE-pend
- for lib_dir in "/usr/dt/lib" "/usr/lib/Motif2.1" "/usr/lib/Motif1.2" "/usr/lib/Motif1.1"; do
- inc_dir=`echo $lib_dir | sed -e 's/lib/include/'`
- if test -d "$lib_dir" -a -d "$inc_dir"; then
- case "$x_libraries" in *"$lib_dir"* ) ;; *)
- x_libraries="$lib_dir $x_libraries"
- XE_PREPEND(-L${lib_dir}, X_LIBS) ;;
- esac
- case "$x_includes" in "$inc_dir"* ) ;; *)
- x_includes="$inc_dir $x_includes"
- XE_PREPEND(-I${inc_dir}, X_CFLAGS) ;;
- esac
- break; dnl only need ONE Motif implementation!
- fi
- done
+
+ dnl Look for Motif, but only if not found in $x_includes and $x_libraries
+ AC_CHECK_HEADER(Xm/Xm.h, [AC_CHECK_LIB(Xm, XmStringFree, got_motif=yes)])
+
+ if test "$got_motif" != "yes"; then
+ dnl Try to find Motif/CDE/Tooltalk dirs
+ dnl These take precedence over other X libs/includes, so PRE-pend
+ for lib_dir in "/usr/dt/lib" "/usr/lib/Motif2.1" \
+ "/usr/lib/Motif1.2" "/usr/lib/Motif1.1"; do
+ inc_dir=`echo $lib_dir | sed -e 's/lib/include/'`
+ if test -d "$lib_dir" -a -d "$inc_dir"; then
+ case "$x_libraries" in *"$lib_dir"* ) ;; *)
+ x_libraries="$lib_dir $x_libraries"
+ XE_PREPEND(-L${lib_dir}, X_LIBS) ;;
+ esac
+ case "$x_includes" in "$inc_dir"* ) ;; *)
+ x_includes="$inc_dir $x_includes"
+ XE_PREPEND(-I${inc_dir}, X_CFLAGS) ;;
+ esac
+ break; dnl only need ONE Motif implementation!
+ fi
+ done
+ fi
dnl Contrib X libs/includes do NOT take precedence, so AP-pend
for rel in "X11R6" "X11R5" "X11R4"; do
cd ..
rm -fr conftestdir
for word in $xmkmf_defines; do
- case "$word" in -D* )
+ case "$word" in
+ -D__STDC__*) ;;
+ -D* )
sym=`echo '' $word | sed -e 's:^ *-D::' -e 's:=.*::'`
case "$word" in
-D*=* ) val=`echo '' $word | sed -e 's:^.*=::'` ;;
esac
fi
- AC_CHECK_FUNCS(XConvertCase)
+ AC_CHECK_FUNCS(XConvertCase XtRegisterDrawable)
AC_CHECK_HEADERS(X11/Xlocale.h)
if test "$unexec" = "unexaix.o" -a "$x11_release" = "6"; then
dnl X11R6 requires thread-safe code on AIX for some reason
if test "$GCC" = "yes"; then
- XE_PREPEND(-mthreads, X_CFLAGS)
- XE_PREPEND(-mthreads, libs_x)
+ dnl gcc changed the name of the `-mthreads' option to `-pthread'
+ dnl on 2000-06-12
+ AC_MSG_CHECKING(for name of AIX gcc threads option)
+ case `$CC -v --help 2>&1` in
+ *-mthreads*) aix_threads=-mthreads ;;
+ *) aix_threads=-pthread ;;
+ esac
+ AC_MSG_RESULT($aix_threads)
+ XE_PREPEND($aix_threads, X_CFLAGS)
+ XE_PREPEND($aix_threads, libs_x)
else
- case "$CC" in
- "xlc" ) CC="xlc_r" ;;
- "xlC" ) CC="xlC_r" ;;
- "cc" ) CC="cc_r" ;;
+ dnl Try to use the thread-safe "_r" versions of xlc
+ case "$CC" in *_r) : ;;
+ *)
+ xe_save_CC="$CC"
+ CC="${CC}_r"
+ AC_CHECK_SIZEOF(short)
+ test "$ac_cv_sizeof_short" = 0 && CC="$xe_save_CC" ;;
esac
fi
fi
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)
+ if test "$with_netinstall" = "yes"; then
+ XE_APPEND(netinstall, MAKE_SUBDIR)
+ XE_APPEND(netinstall, SRC_SUBDIR_DEPS)
+ XE_APPEND(netinstall, INSTALL_ARCH_DEP_SUBDIR)
+ fi
+
+ install_pp="$srcdir/lib-src/installexe.sh"
+ XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lkernel32 -lwinspool, libs_system)
test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto)
if test "$window_system" != x11; then
window_system=msw
dnl check for our special version of select
AC_TRY_RUN([#include <fcntl.h>
int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }],
- [AC_DEFINE(HAVE_MSG_SELECT)])
+ [need_event_unixoid=yes; AC_DEFINE(HAVE_MSG_SELECT)])
with_file_coding=yes
XE_ADD_OBJS(console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o gui-msw.o)
fi
case "$window_system" in
x11 ) HAVE_X_WINDOWS=yes; echo " Using X11." ;;
msw ) HAVE_X_WINDOWS=no ; echo " Using MS-Windows." ;;
+ gtk )
+ HAVE_X_WINDOWS=no
+ test "$with_gnome" = "yes" && echo " Using GNOME."
+ test "$with_gnome" = "no" && echo " Using GTK."
+ ;;
none ) HAVE_X_WINDOWS=no ; echo " Using no window system." ;;
esac
test -z "$with_xauth" && with_xauth=yes
if test "$with_xauth" = "yes"; then
AC_DEFINE(HAVE_XAUTH)
- XE_SPACE(libs_xauth, $X_EXTRA_LIBS -lXau $libs_x $X_PRE_LIBS)
+ XE_SPACE(libs_xauth, $GTK_LIBS $X_EXTRA_LIBS -lXau $libs_x $X_PRE_LIBS)
fi
AC_SUBST(libs_xauth)
XE_APPEND(offix.o, dnd_objs)
XE_APPEND(OffiX, dragndrop_proto)
fi
+if test "$with_gtk" = "yes"; then
+ XE_APPEND(GTK, dragndrop_proto)
+fi
dnl Autodetect Drag'n'Drop support
dnl always included if CDE, Offix, or MSWindows are defined
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
if test "$window_system" != "none"; then
AC_CHECKING(for graphics libraries)
+ dnl add special code to handle xpm-nox on Cygwin (csw)
+ 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-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) ;;
+ dnl probably not reached...
+ none) ;;
+ dnl ditto
+ *) ;;
+ esac
+ ;;
+ dnl use "standard" search pattern for all other OS's
+ *) ;;
+ esac
dnl Autodetect Xpm
xpm_problem=""
if test -z "$with_xpm"; 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 <X11/xpm.h>
int main(int c, char **v) {
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)
+ XE_PREPEND("$libpath_xpm", LDFLAGS)
+ 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])
fi
dnl ----------------------
+dnl GTK-Specific Graphics libraries
+dnl ----------------------
+
+if test "$with_gtk" = "yes"; then
+ dnl Autodetect XFACE
+ test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) }
+ test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) }
+ test -z "$with_xface" && with_xface=yes
+ if test "$with_xface" = "yes"; then
+ AC_DEFINE(HAVE_XFACE)
+ XE_PREPEND(-lcompface, libs_gtk)
+ fi
+fi
+
+
+dnl ----------------------
dnl X-Specific Graphics libraries
dnl ----------------------
if test "$with_x11" = "yes"; then
-
AC_CHECKING(for X11 graphics libraries)
+fi
+if test "$with_x11" = "yes"; then
AC_CHECKING(for the Athena widgets)
dnl What in heck did the user actually want?
*) XE_DIE("Unknown Athena widget set \`$with_athena'. This should not happen.") ;;
esac
+ athena_3d_function=Xaw3dComputeBottomShadowRGB
+
dnl Search for the Athena library...
if test "$athena_3d" = "no"; then
AC_CHECK_LIB($athena_variant, XawScrollbarSetThumb,
[
dnl Must not be a 3d library...
- AC_CHECK_LIB($athena_variant, threeDClassRec,
+ AC_CHECK_LIB($athena_variant, $athena_3d_function,
AC_MSG_WARN("Could not find a non-3d Athena widget library."),
athena_lib=$athena_variant)
],
AC_MSG_WARN("Could not find an Athena widget library."))
else
dnl The real configuration, need 3d library
- AC_CHECK_LIB($athena_variant, threeDClassRec, athena_lib=$athena_variant,
+ AC_CHECK_LIB($athena_variant, $athena_3d_function, athena_lib=$athena_variant,
dnl OK, couldn't find it with a proper name, try the standard Athena lib
dnl If that is 3d, presume the user asked for what they have installed.
- AC_CHECK_LIB(Xaw, threeDClassRec,
+ AC_CHECK_LIB(Xaw, $athena_3d_function,
[
athena_lib=Xaw;
AC_MSG_WARN("Assuming that libXaw is actually $athena_variant.");
have_xaw=no
fi
+else
+ have_xaw=no
+fi dnl "$with_x11" = "yes"
+
+if test "$with_x11" = "yes"; then
dnl autodetect Motif - but only add to libs_x later (if necessary)
AC_CHECK_HEADER(Xm/Xm.h,
[AC_CHECK_LIB(Xm, XmStringFree, have_motif=yes, have_motif=no)],
dnl Finish ensuring that we have values for the various toolkit items.
dnl Not all toolkits support all widgets
-dnl if Motif is available we use it for the dialog boxes.
+
+dnl Avoid using Motif :-(
+case "$opsys" in
+ *linux* | cygwin* ) lucid_prefers_motif="no" ;;
+ * ) lucid_prefers_motif="yes" ;;
+esac
case "$with_menubars" in "" | "yes" | "athena" )
with_menubars="lucid" ;;
esac
case "$with_dialogs" in "" | "yes" | "lucid" )
- if test "$have_motif" = "yes"; then with_dialogs="motif"
- elif test "$have_xaw" = "yes"; then with_dialogs="athena"
- else with_dialogs=no
+ if test "$lucid_prefers_motif" = "yes"; then
+ if test "$have_motif" = "yes"; then with_dialogs="motif"
+ elif test "$have_xaw" = "yes"; then with_dialogs="athena"
+ else with_dialogs=no
+ fi
+ else
+ if test "$have_xaw" = "yes"; then with_dialogs="athena"
+ elif test "$have_motif" = "yes"; then with_dialogs="motif"
+ else with_dialogs=no
+ fi
fi ;;
esac
case "$with_scrollbars" in "" | "yes" )
with_scrollbars="lucid" ;;
esac
-case "$with_widgets" in "" | "yes" | "lucid")
- if test "$have_motif" = "yes"; then with_widgets="motif"
- elif test "$have_xaw" = "yes"; then with_widgets="athena"
- else with_widgets=no
- fi ;;
+case "$with_widgets" in
+ "yes" | "lucid")
+ if test "$lucid_prefers_motif" = "yes"; then
+ if test "$have_motif" = "yes"; then with_widgets="motif"
+ elif test "$have_xaw" = "yes"; then with_widgets="athena"
+ else with_widgets=no
+ fi
+ else
+ if test "$have_xaw" = "yes"; then with_widgets="athena"
+ elif test "$have_motif" = "yes"; then with_widgets="motif"
+ else with_widgets=no
+ fi
+ fi ;;
+ "" )
+ with_widgets=no ;;
esac
all_widgets="$with_menubars $with_scrollbars $with_dialogs $with_toolbars $with_widgets"
test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog.o)
test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar.o)
+if test "$with_gtk" = "yes"; then
+ test "$with_menubars" != "no" && XE_ADD_OBJS(menubar-gtk.o)
+ test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar-gtk.o)
+ test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog-gtk.o)
+ test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar-gtk.o)
+ test "$all_widgets" != "no no no no no" && XE_ADD_OBJS(gui-gtk.o)
+fi
+
if test "$with_x11" = "yes"; then
test "$with_menubars" != "no" && XE_ADD_OBJS(menubar-x.o)
test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar-x.o)
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_CHECKING(for XIM)
AC_CHECK_LIB(X11, XOpenIM, with_xim=xlib, with_xim=no)
dnl XIM + Lesstif is not (yet?) usable
- if test "$have_motif $have_lesstif" = "yes no"; then
+ dnl Only use Motif if linking Motif anyway, or don't have xlib XIM
+ if test "$need_motif $have_lesstif" = "yes no"; then
+ AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif)
+ elif test "$have_motif $have_lesstif $with_xim" = "yes no no"; then
AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif)
fi ;;
esac
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)
XE_COMPUTE_RUNPATH()
fi
-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 POSIX functions.
+dnl ----------------------------------------------------------------
+
+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 waitpid vsnprintf fsync ftruncate umask)
+
+dnl getaddrinfo() is borked under hpux11
+if test "$ac_cv_func_getaddrinfo" != "no" ; then
+ case "$opsys" in
+ hpux11* )
+ AC_MSG_WARN([Use of getaddrinfo is disabled for HP-UX 11.XX.])
+ ac_cv_func_getaddrinfo=no
+ ;;
+ esac
+fi
+dnl ----------------------------------------------------------------
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.
+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 pty.h or in libutil.h.
+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)
+ AC_CHECK_HEADERS(pty.h libutil.h util.h, break)
test "$need_libutil" = "yes" && XE_APPEND(-lutil, libs_system)
fi
AC_MSG_RESULT($have_mmap)
test "$have_mmap" = "yes" && AC_DEFINE(HAVE_MMAP)
+dnl By default we switch off rel-alloc on cygwin as it generally causes us grief
+case "$opsys" in cygwin*)
+ test "$rel_alloc" = "default" && rel_alloc=no ;;
+esac
dnl rel_alloc requires either GNU malloc or system malloc with mmap
dnl We only turn rel_alloc on by default if mmap is available.
test "$GNU_MALLOC" != "yes" -a "$have_mmap" != "yes" && rel_alloc=no
dnl Autodetect Sun native sound from SUNWaudmo package
if test -z "$sound_found" -a -d "/usr/demo/SOUND"; then
- sound_found=yes
- XE_ADD_OBJS(sunplay.o)
- if test -d "/usr/demo/SOUND/include"
- then sound_cflags="-I/usr/demo/SOUND/include"
- else sound_cflags="-I/usr/demo/SOUND"
+ if test -d "/usr/demo/SOUND/include/multimedia"; then
+ sun_sound_cflags="-I/usr/demo/SOUND/include"
+ elif test -d "/usr/demo/SOUND/multimedia"; then
+ sun_sound_cflags="-I/usr/demo/SOUND"
fi
- if test -z "$native_sound_lib" ; then
- if test -r "/usr/demo/SOUND/lib/libaudio.a"
- then native_sound_lib="/usr/demo/SOUND/lib/libaudio.a"
- else native_sound_lib="/usr/demo/SOUND/libaudio.a"
- fi
+
+ if test -n "$native_sound_lib"; then
+ sun_sound_lib="$native_sound_lib"
+ elif test -r "/usr/demo/SOUND/lib/libaudio.a"; then
+ sun_sound_lib="/usr/demo/SOUND/lib/libaudio.a"
+ elif test -r "/usr/demo/SOUND/libaudio.a"; then
+ sun_sound_lib="/usr/demo/SOUND/libaudio.a"
+ fi
+
+ if test -n "$sun_sound_cflags" -a -n "$sun_sound_lib"; then
+ native_sound_lib="$sun_sound_lib"
+ sound_cflags="$sun_sound_cflags"
+ sound_found=yes
+ XE_ADD_OBJS(sunplay.o)
fi
fi
esac
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
+
dnl Check for Linux/BSD native sound
if test -z "$sound_found"; then
for dir in "machine" "sys" "linux"; do
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
done
fi
else dnl "$have_terminfo" = "no" && "with_ncurses" = "no"
- XE_ADD_OBJS(tparam.o)
+ if test -n "$libs_termcap" -a "$opsys" = "openbsd"; then
+ dnl We need to check if tgoto does not exist in termcap yet
+ dnl because on OpenBSD libtermcap is another name for libcurses
+ dnl which provides the same tgoto as ncurses
+ AC_CHECK_LIB(termcap, tgoto, , XE_ADD_OBJS(tparam.o))
+ else
+ XE_ADD_OBJS(tparam.o)
+ fi
dnl The HP-UX curses library seems to have a badly broken version of select(2)
dnl that makes "poll: interrupted system call" messages to appear and
- dnl Emacs suprocesses to hang (e.g. TeX compilation w/ AUCTeX) */
+ dnl Emacs subprocesses to hang (e.g. TeX compilation w/ AUCTeX) */
case "$opsys" in *-hp-hpux* ) libs_termcap="-ltermcap" ;; esac
if test -n "$libs_termcap"; then
XE_PREPEND($libs_termcap, LIBS)
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"
fi dnl with_tty
dnl Do we need event-unixoid.o ?
-test "$with_x11" = "yes" -o "$with_tty" = "yes" && XE_ADD_OBJS(event-unixoid.o)
+dnl This is needed for X, or for TTY, or for MSWIN w/Cygwin select()
+dnl [but not Mingw MSWIN]
+test "$with_x11" = "yes" -o "$with_tty" = "yes" -o "$need_event_unixoid" = "yes" && XE_ADD_OBJS(event-unixoid.o)
dnl Database support
dnl We do not necessarily have to have libdb/lib(g)dbm for DB/(G)DBM support.
"$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)
for header in "db/db.h" "db.h"; do
+ case "$opsys" in
+ *freebsd*)
+ AC_TRY_COMPILE([
+#include <stdlib.h>
+#if !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1)
+#ifdef HAVE_INTTYPES_H
+#define __BIT_TYPES_DEFINED__
+#include <inttypes.h>
+#endif
+#endif
+#include <$header>
+],[], db_h_file="$header"; break)
+ ;;
+ *)
AC_TRY_COMPILE([
#include <stdlib.h>
#if !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1)
#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)
+ ;;
+ esac
done
if test -z "$db_h_file"
then AC_MSG_RESULT(no); with_database_berkdb=no
!= "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
if test "$with_msw" = "yes"; then
have_dl=yes;
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 ])])])
- 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
+ dnl Check for Darwin
+ case "$opsys" in
+ darwin) have_dl=yes; AC_DEFINE(HAVE_DYLD) ;;
+ *) dnl Find headers and libraries
+ AC_CHECK_HEADER(dlfcn.h, [
+ AC_MSG_CHECKING([for dlopen in -lc])
+ AC_TRY_LINK([#include <dlfcn.h>],dnl
+ [dlopen ("", 0);], [ have_dl=yes ], [
+ AC_MSG_CHECKING([for dlopen in -ldl])
+ ac_save_LIBS="$LIBS"
+ LIBS="-ldl $LIBS"
+ AC_TRY_LINK([#include <dlfcn.h>],dnl
+ [dlopen ("", 0);], [ have_dl=yes ],
+ [LIBS="$ac_save_LIBS"])
+ ac_save_LIBS=])])
+ 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
+ ;;
+ esac
fi dnl end !MS-Windows
if test -n "$have_dl"; then
dnl have reported incorrect results.
AC_TRY_RUN([int main(int c,char *v[]){return 0;}],[:],[
echo ""
- echo "*** PANIC *** The C compiler can no longer build working executables."
- echo "*** PANIC *** Please examine the tail of config.log for runtime errors."
- echo "*** PANIC *** The most likely reason for this problem is that configure"
- echo "*** PANIC *** links with shared libraries, but those libraries cannot be"
- echo "*** PANIC *** found at run time."
- echo "*** PANIC ***"
- echo "*** PANIC *** On a Linux system, edit /etc/ld.so.conf and re-run ldconfig."
- echo "*** PANIC *** On other systems, try telling configure where to find the"
- echo "*** PANIC *** shared libraries using the --site-runtime-libraries option"
- echo "*** PANIC ***"
- echo "*** PANIC *** Another way to shoot yourself in the foot is to specify"
- echo "*** PANIC *** --with-FEATURE when FEATURE is not actually installed"
- echo "*** PANIC *** on your system. Don't do that."
+ echo "*** PANIC *** configure forgot how to build working executables!"
+ echo ""
+ echo "*** This is most commonly due to an unforeseen environment, causing"
+ echo "*** configure to incorrectly compute the sequence of libraries to link."
+ echo "*** Please examine the tail of config.log for runtime errors."
+ echo "*** Pay special attention to the -l flags, and perhaps -I and -L."
+ echo "*** Often adding or removing explicit options in the configure"
+ echo "*** invocation can work around this kind of problem. If so, please"
+ echo "*** report it as a bug to xemacs-beta@xemacs.org."
+ echo "***"
+ echo "*** Other possible causes are inability to write to the file system"
+ echo "*** (bogus permissions or disk full) or a misconfiguration of the dynamic"
+ echo "*** linker. On Linux, check /etc/ld.conf and rerun ldconfig if"
+ echo "*** necessary. On other systems, try telling configure where to find"
+ echo "*** the shared libraries using the --site-runtime-libraries option."
+ echo "***"
+ echo "*** Another way to shoot yourself in the foot is to specify"
+ echo "*** --with-FEATURE when FEATURE is not actually installed on your"
+ echo "*** system. Don't do that."
exit 1])
dnl Process support
XE_SPACE(CFLAGS, $CFLAGS)
XE_SPACE(extra_objs, $extra_objs)
XE_SPACE(c_switch_general, -DHAVE_CONFIG_H $c_switch_site $c_switch_machine $c_switch_system)
-XE_SPACE(c_switch_window_system, $c_switch_x_site $X_CFLAGS)
+XE_SPACE(c_switch_window_system, $c_switch_x_site $c_switch_gtk $X_CFLAGS)
XE_SPACE(c_switch_all, $c_switch_general $c_switch_window_system)
XE_SPACE(ld_switch_general, $ld_switch_site $ld_switch_machine $ld_switch_system $ld_switch_run)
XE_SPACE(ld_switch_window_system, $ld_switch_x_site)
XE_SPACE(ld_switch_all, $ld_switch_general $ld_switch_window_system)
XE_SPACE(ld_libs_general, $LIBS $libs_machine $libs_system $libs_standard)
-XE_SPACE(ld_libs_window_system, $X_EXTRA_LIBS $libs_x $X_PRE_LIBS)
+XE_SPACE(ld_libs_window_system, $X_EXTRA_LIBS $libs_x $libs_gtk $X_PRE_LIBS)
XE_SPACE(ld_libs_all, $ld_libs_window_system $ld_libs_general)
dnl Compute lists of Makefiles and subdirs
AC_SUBST(statedir)
AC_SUBST(libdir)
AC_SUBST(mandir)
+AC_SUBST(extra_includes)
AC_SUBST(prefix)
AC_SUBST(PREFIX_USER_DEFINED)
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)
test "$with_kerberos" = "yes" && AC_DEFINE(KERBEROS)
test "$with_hesiod" = "yes" && AC_DEFINE(HESIOD)
test "$use_union_type" = "yes" && AC_DEFINE(USE_UNION_TYPE)
+test "$use_regex_malloc" = "yes" && AC_DEFINE(REGEX_MALLOC)
test "$pdump" = "yes" && AC_DEFINE(PDUMP)
+test "$with_ipv6_cname" = "yes" && AC_DEFINE(IPV6_CANONICALIZE)
dnl -------------------------------
dnl Report on what we decided to do
fi
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 | 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
+ *-*-aix* )
+ dnl Yes, it's this ugly for AIX...
+ realcc=`which $CC`
+ dnl Might be a symlink created by replaceCset command
+ if test -L $realcc ; then
+ ccdir=`dirname $realcc`
+ ccprog=`/bin/ls -l $realcc | sed 's/.* \([[^ ]]\)/\1/'`
+ dnl This doesn't handle ../../xlc type stuff, but I've not seen one...
+ case $ccprog in
+ */*) realcc=$ccprog;;
+ *) realcc=$ccdir/$ccprog;;
+ esac
+ fi
+ lpp=`lslpp -wqc $realcc | cut -f2 -d:`
+ if test ! -z "$lpp" ; then
+ lppstr=`lslpp -Lqc $lpp`
+ lpplev=`echo "$lppstr" | cut -f3 -d:`
+ lppdesc=`echo "$lppstr" | cut -f8 -d:`
+ fi
+ if test ! -z "$lpplev" ; then
+ echo " Compiler version: $lpp $lpplev - $lppdesc"
+ else
+ echo " Compiler version: (unknown version)"
+ fi
+ ;;
+
+ *-*-solaris*)
+ ccvers=`$CC -V 2>&1 | sed 1q`
+ if test ! -z "$ccvers" ; then
+ echo " Compiler version: $ccvers"
+ fi
+ ;;
+
+ alpha*-dec-osf*)
+ ccvers=`$CC -V | tr '\n' ' '`
+ if test ! -z "$ccvers" ; then
+ echo " Compiler version: $ccvers"
+ fi
+ ;;
+
+ mips-sgi-irix*)
+ ccvers=`$CC -version`
+ if test ! -z "$ccvers" ; then
+ echo " Compiler version: $ccvers"
+ fi
+ ;;
+
+ dnl Intel C++ Compiler on Linux
+ i[[3-9]]86-pc-linux)
+ ccvers=`$CC -V 2>&1 | sed -n 's@^Intel.*Version @@'p`
+ if test ! -z "$ccvers" ; then
+ echo " Compiler version: $ccvers"
+ fi
+ ;;
+
+ *) echo " Compiler version: $CC on $canonical";;
+ esac
+esac
+
echo " Relocating allocator for buffers: $rel_alloc"
echo " GNU version of malloc: ${GNU_MALLOC}${GNU_MALLOC_reason}"
+case "$ld_switch_site" in
+ *nocombreloc*) echo " Linking with \`-z nocombreloc'.
+ - Consider configuring with --pdump." ;;
+esac
+
+dnl Now get the libc version - contributions welcome
+case "$canonical" in
+ *-*-linux*)
+ if test -f /etc/redhat-release ; then
+ echo " libc: `rpm -q glibc`";
+dnl need a Debian and Suse check here...
+ else
+ echo "Need to guess glibc1/2/etc here";
+ fi
+ ;;
+
+ *-*-aix*)
+ echo " libc: bos.rte.libc `lslpp -Lqc bos.rte.libc | cut -f3 -d:`"
+ ;;
+
+ *-*-solaris*)
+ libc=`pkginfo -l SUNWcsl | grep VERSION: | awk '{print $2}'`
+ echo " libc: SUNWcsl $libc"
+
+ ;;
+
+ mips-sgi-irix*)
+ echo " IRIX version: `uname -sRm`'"
+ ;;
+
+
+ alpha*-dec-osf*)
+ dnl Another ugly case
+ (cd /usr/.smdb.;
+ libc=` grep -h libc.so *.inv | awk '$9 == "f" {print $12}' | tr '\n' ','`
+ echo " libc: $libc"
+
+ )
+ ;;
+
+ *) echo " libc: system-provided libc on $canonical" ;;
+esac
+
echo "
Window System:"
echo " - Handling WM_COMMAND properly."
fi
fi
+if test "$need_motif" = "yes" ; then
+ echo " Compiling in support for Motif."
+ if test "$have_lesstif" = "yes"; then
+ echo " - Using LessTif implementation."
+ fi
+ echo " *WARNING* Many versions of Motif are buggy, requiring workarounds."
+ echo " You are likely to experience slow redisplay."
+ echo " You may need to install vendor patches to Motif."
+ echo " See PROBLEMS for more information."
+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
+ gtk ) echo " Using GTK menubars." ;;
lucid ) echo " Using Lucid menubars." ;;
motif ) echo " Using Motif menubars."
echo " *WARNING* The Motif menubar implementation is currently buggy."
msw ) echo " Using MS-Windows menubars." ;;
esac
case "$with_scrollbars" in
+ gtk ) echo " Using GTK scrollbars." ;;
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
+ gtk ) echo " Using GTK dialog boxes." ;;
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."
msw ) echo " Using MS-Windows dialog boxes." ;;
esac
case "$with_widgets" in
+ gtk ) echo " Using GTK native widgets." ;;
motif ) echo " Using Motif native widgets." ;;
athena ) echo " Using Athena native widgets." ;;
msw ) echo " Using MS-Windows native widgets." ;;
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."
echo "
Other Features:"
+test "$with_ipv6_cname" = no && echo " Inhibiting IPv6 canonicalization at startup."
test "$with_tooltalk" = yes && echo " Compiling in support for ToolTalk."
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 "$use_union_type" = yes && echo " Using the union type for Lisp_Objects."
+if test "$use_union_type" = yes; then
+ echo " WARNING: ---------------------------------------------------------"
+ echo " Using the union type for Lisp_Objects."
+ echo " Union type has been implicated in hard-to-debug runtime crashes."
+ echo " Do NOT use this build of XEmacs for ordinary work. See PROBLEMS."
+ echo " WARNING: ---------------------------------------------------------"
+fi
+if test "$use_regex_malloc" = no; then
+ echo " WARNING: -----------------------------------------------------------"
+ echo " Using alloca to allocate the failure stack."
+ echo " It may be impossible to detect stack exhaustion, and you will crash."
+ echo " Do NOT use this build of XEmacs for ordinary work."
+ echo " WARNING: -----------------------------------------------------------"
+fi
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)."