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=''
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
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.
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 "$have_motif" = "yes"; then with_widgets="motif"
+ elif test "$have_xaw" = "yes"; then with_widgets="athena"
+ else with_widgets=no
+ fi ;;
+ "" )
+ with_widgets=no ;;
esac
all_widgets="$with_menubars $with_scrollbars $with_dialogs $with_toolbars $with_widgets"
if test "$with_msw" = "yes"; then
have_dl=yes;
else
- 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
+ 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
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)
echo " - Handling WM_COMMAND properly."
fi
fi
+if test "$need_motif" = "yes" ; then
+ echo " Compiling in support for Motif."
+ 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 " 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)."