summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Nicolaescu <dann@ics.uci.edu>2009-06-26 23:41:43 +0000
committerDan Nicolaescu <dann@ics.uci.edu>2009-06-26 23:41:43 +0000
commit297710942213ef3bf4a06190459bbc1fb0362ffb (patch)
treefe2b790d3a7456a1756155bace7a1373ccd250be
parent25c5550f48ae371dbbe4e7cd7048efcefa030670 (diff)
(--enable-checking): New option.
-rw-r--r--ChangeLog4
-rwxr-xr-xconfigure103
-rw-r--r--configure.in67
-rw-r--r--src/config.in23
4 files changed, 182 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index b035fdd27e1..0573bec65df 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-06-26 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * configure.in (--enable-checking): New option.
+
2009-06-24 Glenn Morris <rgm@gnu.org>
* make-dist: Warn if subdir does not exist in source.
diff --git a/configure b/configure
index ffd8506ba2c..ffe89f8d888 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for emacs 23.0.95.
+# Generated by GNU Autoconf 2.61 for emacs 23.1.50.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
@@ -572,8 +572,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='emacs'
PACKAGE_TARNAME='emacs'
-PACKAGE_VERSION='23.0.95'
-PACKAGE_STRING='emacs 23.0.95'
+PACKAGE_VERSION='23.1.50'
+PACKAGE_STRING='emacs 23.1.50'
PACKAGE_BUGREPORT=''
ac_unique_file="src/lisp.h"
@@ -1256,7 +1256,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures emacs 23.0.95 to adapt to many kinds of systems.
+\`configure' configures emacs 23.1.50 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1330,7 +1330,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of emacs 23.0.95:";;
+ short | recursive ) echo "Configuration of emacs 23.1.50:";;
esac
cat <<\_ACEOF
@@ -1346,6 +1346,12 @@ Optional Features:
--enable-locallisppath=PATH
directories Emacs should search for lisp files
specific to this site
+ --enable-checking=LIST
+ enable expensive run-time checks. With LIST,
+ enable only specific categories of checks.
+ Categories are: all,yes,no.
+ Flags are: stringbytes, stringoverrun, stringfreelist,
+ xmallocoverrun, conslist
--disable-largefile omit support for large files
Optional Packages:
@@ -1459,7 +1465,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-emacs configure 23.0.95
+emacs configure 23.1.50
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1473,7 +1479,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by emacs $as_me 23.0.95, which was
+It was created by emacs $as_me 23.1.50, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2201,6 +2207,85 @@ fi
fi
+# Check whether --enable-checking was given.
+if test "${enable_checking+set}" = set; then
+ enableval=$enable_checking; ac_checking_flags="${enableval}"
+fi
+
+IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS,"
+for check in $ac_checking_flags
+do
+ case $check in
+ # these set all the flags to specific states
+ yes) ac_enable_checking=1 ;;
+ no) ac_enable_checking= ;
+ ac_gc_check_stringbytes= ;
+ ac_gc_check_string_overrun= ;
+ ac_gc_check_string_free_list= ;
+ ac_xmalloc_overrun= ;
+ ac_gc_check_cons_list= ;;
+ all) ac_enable_checking=1 ;
+ ac_gc_check_stringbytes=1 ;
+ ac_gc_check_string_overrun=1 ;
+ ac_gc_check_string_free_list=1 ;
+ ac_xmalloc_overrun=1 ;
+ ac_gc_check_cons_list=1 ;;
+ # these enable particular checks
+ stringbytes) ac_gc_check_stringbytes=1 ;;
+ stringoverrun) ac_gc_check_string_overrun=1 ;;
+ stringfreelist) ac_gc_check_string_free_list=1 ;;
+ xmallocoverrun) ac_xmalloc_overrun=1 ;;
+ conslist) ac_gc_check_cons_list=1 ;;
+ *) { { echo "$as_me:$LINENO: error: unknown check category $check" >&5
+echo "$as_me: error: unknown check category $check" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ esac
+done
+IFS="$ac_save_IFS"
+
+if test x$ac_enable_checking != x ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define ENABLE_CHECKING 1
+_ACEOF
+
+fi
+if test x$ac_gc_check_stringbytes != x ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define GC_CHECK_STRING_BYTES 1
+_ACEOF
+
+fi
+if test x$ac_gc_check_stringoverrun != x ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define GC_CHECK_STRING_OVERRUN 1
+_ACEOF
+
+fi
+if test x$ac_gc_check_string_free_list != x ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define GC_CHECK_STRING_FREE_LIST 1
+_ACEOF
+
+fi
+if test x$ac_xmalloc_overrun != x ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define XMALLOC_OVERRUN_CHECK 1
+_ACEOF
+
+fi
+if test x$ac_gc_check_cons_list != x ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define GC_CHECK_CONS_LIST 1
+_ACEOF
+
+fi
+
#### Make srcdir absolute, if it isn't already. It's important to
#### avoid running the path through pwd unnecessarily, since pwd can
#### give you automounter prefixes, which can go away. We do all this
@@ -24896,7 +24981,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by emacs $as_me 23.0.95, which was
+This file was extended by emacs $as_me 23.1.50, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -24949,7 +25034,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-emacs config.status 23.0.95
+emacs config.status 23.1.50
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/configure.in b/configure.in
index 654985d6f18..d61162d8238 100644
--- a/configure.in
+++ b/configure.in
@@ -209,6 +209,70 @@ elif test "${enableval}" != "yes"; then
locallisppath=${enableval}
fi)
+AC_ARG_ENABLE(checking,
+[ --enable-checking[=LIST]
+ enable expensive run-time checks. With LIST,
+ enable only specific categories of checks.
+ Categories are: all,yes,no.
+ Flags are: stringbytes, stringoverrun, stringfreelist,
+ xmallocoverrun, conslist],
+[ac_checking_flags="${enableval}"],[])
+IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS,"
+for check in $ac_checking_flags
+do
+ case $check in
+ # these set all the flags to specific states
+ yes) ac_enable_checking=1 ;;
+ no) ac_enable_checking= ;
+ ac_gc_check_stringbytes= ;
+ ac_gc_check_string_overrun= ;
+ ac_gc_check_string_free_list= ;
+ ac_xmalloc_overrun= ;
+ ac_gc_check_cons_list= ;;
+ all) ac_enable_checking=1 ;
+ ac_gc_check_stringbytes=1 ;
+ ac_gc_check_string_overrun=1 ;
+ ac_gc_check_string_free_list=1 ;
+ ac_xmalloc_overrun=1 ;
+ ac_gc_check_cons_list=1 ;;
+ # these enable particular checks
+ stringbytes) ac_gc_check_stringbytes=1 ;;
+ stringoverrun) ac_gc_check_string_overrun=1 ;;
+ stringfreelist) ac_gc_check_string_free_list=1 ;;
+ xmallocoverrun) ac_xmalloc_overrun=1 ;;
+ conslist) ac_gc_check_cons_list=1 ;;
+ *) AC_MSG_ERROR(unknown check category $check) ;;
+ esac
+done
+IFS="$ac_save_IFS"
+
+if test x$ac_enable_checking != x ; then
+ AC_DEFINE(ENABLE_CHECKING, 1,
+[Enable expensive run-time checking of data types?])
+fi
+if test x$ac_gc_check_stringbytes != x ; then
+ AC_DEFINE(GC_CHECK_STRING_BYTES, 1,
+[Define this temporarily to hunt a bug. If defined, the size of
+ strings is redundantly recorded in sdata structures so that it can
+ be compared to the sizes recorded in Lisp strings.])
+fi
+if test x$ac_gc_check_stringoverrun != x ; then
+ AC_DEFINE(GC_CHECK_STRING_OVERRUN, 1,
+[Define this to check for short string overrun.])
+fi
+if test x$ac_gc_check_string_free_list != x ; then
+ AC_DEFINE(GC_CHECK_STRING_FREE_LIST, 1,
+[Define this to check the string free list.])
+fi
+if test x$ac_xmalloc_overrun != x ; then
+ AC_DEFINE(XMALLOC_OVERRUN_CHECK, 1,
+[Define this to check for malloc buffer overrun.])
+fi
+if test x$ac_gc_check_cons_list != x ; then
+ AC_DEFINE(GC_CHECK_CONS_LIST, 1,
+[Define this to check for errors in cons list.])
+fi
+
#### Make srcdir absolute, if it isn't already. It's important to
#### avoid running the path through pwd unnecessarily, since pwd can
#### give you automounter prefixes, which can go away. We do all this
@@ -2789,9 +2853,6 @@ typedef unsigned size_t;
#define HAVE_X11R6_XIM
#endif
-/* Should we enable expensive run-time checking of data types? */
-#undef ENABLE_CHECKING
-
#if defined __GNUC__ && (__GNUC__ > 2 \
|| (__GNUC__ == 2 && __GNUC_MINOR__ >= 5))
#define NO_RETURN __attribute__ ((__noreturn__))
diff --git a/src/config.in b/src/config.in
index ccc9689eb3f..404e00bd069 100644
--- a/src/config.in
+++ b/src/config.in
@@ -59,6 +59,23 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to the options passed to configure. */
#undef EMACS_CONFIG_OPTIONS
+/* Enable expensive run-time checking of data types? */
+#undef ENABLE_CHECKING
+
+/* Define this to check for errors in cons list. */
+#undef GC_CHECK_CONS_LIST
+
+/* Define this temporarily to hunt a bug. If defined, the size of strings is
+ redundantly recorded in sdata structures so that it can be compared to the
+ sizes recorded in Lisp strings. */
+#undef GC_CHECK_STRING_BYTES
+
+/* Define this to check the string free list. */
+#undef GC_CHECK_STRING_FREE_LIST
+
+/* Define this to check for short string overrun. */
+#undef GC_CHECK_STRING_OVERRUN
+
/* Define to 1 if the `getloadavg' function needs to be run setuid or setgid.
*/
#undef GETLOADAVG_PRIVILEGED
@@ -897,6 +914,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if using an X toolkit. */
#undef USE_X_TOOLKIT
+/* Define this to check for malloc buffer overrun. */
+#undef XMALLOC_OVERRUN_CHECK
+
/* Define to the type of the 6th arg of XRegisterIMInstantiateCallback, either
XPointer or XPointer*. */
#undef XRegisterIMInstantiateCallback_arg6
@@ -1173,9 +1193,6 @@ typedef unsigned size_t;
#define HAVE_X11R6_XIM
#endif
-/* Should we enable expensive run-time checking of data types? */
-#undef ENABLE_CHECKING
-
#if defined __GNUC__ && (__GNUC__ > 2 \
|| (__GNUC__ == 2 && __GNUC_MINOR__ >= 5))
#define NO_RETURN __attribute__ ((__noreturn__))