# HG changeset patch # User Dan Nicolaescu # Date 1246059703 0 # Node ID de3fb78ac3dfdb4a59ac7a04239785ee6990f2fb # Parent 18711f21d4a985ab30b5a18732163cb6dd62866d (--enable-checking): New option. diff -r 18711f21d4a9 -r de3fb78ac3df ChangeLog --- 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 + + * configure.in (--enable-checking): New option. + 2009-06-24 Glenn Morris * make-dist: Warn if subdir does not exist in source. diff -r 18711f21d4a9 -r de3fb78ac3df configure --- 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'`\\" diff -r 18711f21d4a9 -r de3fb78ac3df configure.in --- 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__)) diff -r 18711f21d4a9 -r de3fb78ac3df src/config.in --- 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__))