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)
*-*-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
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
+ *) pdump=no ;;
+ esac
+fi
if test -z "$dynamic"; then
case "$opsys" in
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 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)
fi
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 ----------------------
dnl Choose a window system
dnl ----------------------
fi
install_pp="$blddir/lib-src/installexe.sh"
- XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomdlg32 -lcomctl32 -lwinspool, libs_system)
+ 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
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) */
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
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
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)."