X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=configure.in;h=4135e3829719de733332688cfe9df58991294556;hp=e348ef6ed3f4c79b501bf2e3e74e0d90c5163e73;hb=de1ec4b272dfa3f9ef2c9ae28a9ba67170d24da5;hpb=d81014e89b5102527e5b50aac62edeed2955671d diff --git a/configure.in b/configure.in index e348ef6..4135e38 100644 --- a/configure.in +++ b/configure.in @@ -359,6 +359,7 @@ 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='' @@ -516,9 +517,10 @@ while test $# != 0; do 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 @@ -1923,6 +1925,10 @@ if test "$cflags_specified" = "no"; then 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. @@ -3578,11 +3584,14 @@ 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 "$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" @@ -4484,28 +4493,33 @@ if test "$with_modules" != "no"; then 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 ],dnl - [dlopen ("", 0);], [ have_dl=yes ], [ - AC_MSG_CHECKING([for dlopen in -ldl]) - ac_save_LIBS="$LIBS" - LIBS="-ldl $LIBS" - AC_TRY_LINK([#include ],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 ],dnl + [dlopen ("", 0);], [ have_dl=yes ], [ + AC_MSG_CHECKING([for dlopen in -ldl]) + ac_save_LIBS="$LIBS" + LIBS="-ldl $LIBS" + AC_TRY_LINK([#include ],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 @@ -4894,6 +4908,7 @@ test "$with_pop" = "yes" && AC_DEFINE(MAIL_USE_POP) 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) @@ -4981,6 +4996,13 @@ if test "$with_x11" = "yes"; then 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" @@ -5119,6 +5141,13 @@ if test "$use_union_type" = yes; then 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)."