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
pdump="no"
dnl dragndrop is still experimental. When it is stable, comment out the following line:
with_dragndrop="no"
-dnl I think this is mandated by IPv6 standards.
-with_ipv6_cname="yes"
+dnl Too annoying, even if mandated by IPv6 (and I'm not even sure of that)
+with_ipv6_cname="no"
dnl ------------------
dnl Options Processing
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
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:
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
+ pdump=yes dnl No "native" working dumper available
+ ;;
+
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 ;;
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)
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
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)
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 ;
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_CHECKING(for X11 graphics libraries)
fi
-if test "$with_x11" = "yes" -a "$with_widgets" = "athena"; then
+dnl We don't automatically trigger widgets if athena is present
+dnl because of stability concerns.
+dnl But if the user wants widgets, still offer him autodetections
+case "$with_widgets" in
+ "yes" | "athena") detect_athena=yes ;;
+ *) detect_athena=no ;;
+esac
+
+if test "$with_x11" = "yes" -a "$detect_athena" = "yes" ; then
AC_CHECKING(for the Athena widgets)
dnl What in heck did the user actually want?
else
have_xaw=no
-fi dnl "$with_x11" = "yes" -a "$with_widgets" = "athena"
+fi dnl "$with_x11" = "yes" -a "detect_athena" = "yes"
if test "$with_x11" = "yes"; then
dnl autodetect Motif - but only add to libs_x later (if necessary)
XE_COMPUTE_RUNPATH()
fi
+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 ----------------------------------------------------------------
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 subprocesses to hang (e.g. TeX compilation w/ AUCTeX) */
echo " Compiler: $CC $CFLAGS"
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
echo "
Window System:"
echo "
Other Features:"
-test "with_ipv6_cname" = no && echo " Inhibiting IPv6 canonicalization at startup."
+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."