changeset 103595:de3fb78ac3df

(--enable-checking): New option.
author Dan Nicolaescu <dann@ics.uci.edu>
date Fri, 26 Jun 2009 23:41:43 +0000
parents 18711f21d4a9
children 0c5de07aff62
files ChangeLog configure configure.in src/config.in
diffstat 4 files changed, 182 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Jun 26 18:37:41 2009 +0000
+++ b/ChangeLog	Fri Jun 26 23:41:43 2009 +0000
@@ -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.
--- a/configure	Fri Jun 26 18:37:41 2009 +0000
+++ b/configure	Fri Jun 26 23:41:43 2009 +0000
@@ -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 @@
 # 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 @@
   # 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 @@
 
 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 @@
   --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 @@
 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 @@
 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
 
 
+# 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 @@
 # 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 @@
 _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'`\\"
 
--- a/configure.in	Fri Jun 26 18:37:41 2009 +0000
+++ b/configure.in	Fri Jun 26 23:41:43 2009 +0000
@@ -209,6 +209,70 @@
   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 @@
 #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__))
--- a/src/config.in	Fri Jun 26 18:37:41 2009 +0000
+++ b/src/config.in	Fri Jun 26 23:41:43 2009 +0000
@@ -59,6 +59,23 @@
 /* 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 @@
 /* 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 @@
 #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__))