aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Nicolaescu2010-07-02 01:11:24 -0700
committerDan Nicolaescu2010-07-02 01:11:24 -0700
commitd9170db5208a86d94a6d8a89c8fa1e678bd094bd (patch)
treef15dc1b36d3807346f6f346b1c229e53a6a72ca4
parent986011195e5c40b9644c21da166c12cb34176350 (diff)
downloademacs-d9170db5208a86d94a6d8a89c8fa1e678bd094bd.tar.gz
emacs-d9170db5208a86d94a6d8a89c8fa1e678bd094bd.zip
Define USE_LISP_UNION_TYPE using autoconf.
* configure.in (--enable-use-lisp-union-type): New flag. * src/lisp.h: Document that USE_LISP_UNION_TYPE is now enabled using autoconf.
-rw-r--r--ChangeLog4
-rwxr-xr-xconfigure18
-rw-r--r--configure.in10
-rw-r--r--etc/NEWS4
-rw-r--r--src/ChangeLog2
-rw-r--r--src/config.in3
-rw-r--r--src/lisp.h7
7 files changed, 43 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 704647f3bc6..819b6ebfa7e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
12010-07-02 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * configure.in (--enable-use-lisp-union-type): New flag.
4
12010-06-30 Dan Nicolaescu <dann@ics.uci.edu> 52010-06-30 Dan Nicolaescu <dann@ics.uci.edu>
2 6
3 Fix CFLAGS for non-GCC compilers. 7 Fix CFLAGS for non-GCC compilers.
diff --git a/configure b/configure
index cb353569d78..e89b7411ce6 100755
--- a/configure
+++ b/configure
@@ -825,6 +825,7 @@ enable_asserts
825enable_maintainer_mode 825enable_maintainer_mode
826enable_locallisppath 826enable_locallisppath
827enable_checking 827enable_checking
828enable_use_lisp_union_type
828enable_profiling 829enable_profiling
829enable_autodepend 830enable_autodepend
830enable_largefile 831enable_largefile
@@ -1477,6 +1478,10 @@ Optional Features:
1477 only specific categories of checks. Categories are: 1478 only specific categories of checks. Categories are:
1478 all,yes,no. Flags are: stringbytes, stringoverrun, 1479 all,yes,no. Flags are: stringbytes, stringoverrun,
1479 stringfreelist, xmallocoverrun, conslist 1480 stringfreelist, xmallocoverrun, conslist
1481 --enable-use-lisp-union-type
1482 use a union for the Lisp_Object data type. This is
1483 only useful for development for catching certain
1484 types of bugs.
1480 --enable-profiling build emacs with profiling support. This might not 1485 --enable-profiling build emacs with profiling support. This might not
1481 work on all platforms 1486 work on all platforms
1482 --enable-autodepend automatically generate dependencies to .h-files. 1487 --enable-autodepend automatically generate dependencies to .h-files.
@@ -2978,6 +2983,17 @@ $as_echo "#define GC_CHECK_CONS_LIST 1" >>confdefs.h
2978 2983
2979fi 2984fi
2980 2985
2986# Check whether --enable-use-lisp-union-type was given.
2987if test "${enable_use_lisp_union_type+set}" = set; then :
2988 enableval=$enable_use_lisp_union_type; if test "${enableval}" != "no"; then
2989
2990$as_echo "#define USE_LISP_UNION_TYPE 1" >>confdefs.h
2991
2992fi
2993fi
2994
2995
2996
2981# Check whether --enable-profiling was given. 2997# Check whether --enable-profiling was given.
2982if test "${enable_profiling+set}" = set; then : 2998if test "${enable_profiling+set}" = set; then :
2983 enableval=$enable_profiling; ac_enable_profiling="${enableval}" 2999 enableval=$enable_profiling; ac_enable_profiling="${enableval}"
@@ -4290,7 +4306,7 @@ if test x$GCC = xyes; then
4290 C_OPTIMIZE_SWITCH=-O2 4306 C_OPTIMIZE_SWITCH=-O2
4291 test "x$GCC_TEST_OPTIONS" != x && CC="$CC $GCC_TEST_OPTIONS" 4307 test "x$GCC_TEST_OPTIONS" != x && CC="$CC $GCC_TEST_OPTIONS"
4292else 4308else
4293 C_OPTIMIZE_SWITCH=-O 4309 C_OPTIMIZE_SWITCH=-O
4294 test "x$NON_GCC_TEST_OPTIONS" != x && CC="$CC $NON_GCC_TEST_OPTIONS" 4310 test "x$NON_GCC_TEST_OPTIONS" != x && CC="$CC $NON_GCC_TEST_OPTIONS"
4295fi 4311fi
4296 4312
diff --git a/configure.in b/configure.in
index 97e2adc753c..b04bf6ea744 100644
--- a/configure.in
+++ b/configure.in
@@ -305,6 +305,16 @@ if test x$ac_gc_check_cons_list != x ; then
305[Define this to check for errors in cons list.]) 305[Define this to check for errors in cons list.])
306fi 306fi
307 307
308AC_ARG_ENABLE(use-lisp-union-type,
309[AS_HELP_STRING([--enable-use-lisp-union-type],
310 [use a union for the Lisp_Object data type.
311 This is only useful for development for catching certain types of bugs.])],
312if test "${enableval}" != "no"; then
313 AC_DEFINE(USE_LISP_UNION_TYPE, 1,
314 [Define this to use a lisp union for the Lisp_Object data type.])
315fi)
316
317
308AC_ARG_ENABLE(profiling, 318AC_ARG_ENABLE(profiling,
309[AS_HELP_STRING([--enable-profiling], 319[AS_HELP_STRING([--enable-profiling],
310 [build emacs with profiling support. 320 [build emacs with profiling support.
diff --git a/etc/NEWS b/etc/NEWS
index f342b3f1f7a..2b80bef2429 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -47,6 +47,10 @@ to configure. Note that other libraries used by Emacs, RSVG and GConf,
47also depend on Gtk+. You can disable them with --without-rsvg and 47also depend on Gtk+. You can disable them with --without-rsvg and
48--without-gconf. 48--without-gconf.
49 49
50** There is a new configure option --enable-use-lisp-union-type.
51This is only useful for Emacs developers to debug certain types of bugs.
52These is not a new feature; only the configure flag is new.
53
50 54
51* Startup Changes in Emacs 24.1 55* Startup Changes in Emacs 24.1
52 56
diff --git a/src/ChangeLog b/src/ChangeLog
index 45d8bf3fc4f..46d41bf24bd 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,7 @@
12010-07-02 Dan Nicolaescu <dann@ics.uci.edu> 12010-07-02 Dan Nicolaescu <dann@ics.uci.edu>
2 2
3 * lisp.h: Document that USE_LISP_UNION_TYPE is now enabled using autoconf.
4
3 Cleanup old code. 5 Cleanup old code.
4 * dired.c (BSD4_3): Remove all uses, redundant with BSD4_2. 6 * dired.c (BSD4_3): Remove all uses, redundant with BSD4_2.
5 * syssignal.h: Remove code for Lynx, not supported anymore. 7 * syssignal.h: Remove code for Lynx, not supported anymore.
diff --git a/src/config.in b/src/config.in
index 962edf62571..b1370dcbb95 100644
--- a/src/config.in
+++ b/src/config.in
@@ -933,6 +933,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
933/* Define to 1 if using GTK. */ 933/* Define to 1 if using GTK. */
934#undef USE_GTK 934#undef USE_GTK
935 935
936/* Define this to use a lisp union for the Lisp_Object data type. */
937#undef USE_LISP_UNION_TYPE
938
936/* Define to 1 if using the Lucid X toolkit. */ 939/* Define to 1 if using the Lucid X toolkit. */
937#undef USE_LUCID 940#undef USE_LUCID
938 941
diff --git a/src/lisp.h b/src/lisp.h
index 1941a2471a4..0da668bb87f 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -95,10 +95,9 @@ extern void die P_((const char *, const char *, int)) NO_RETURN;
95#endif 95#endif
96#endif /* ENABLE_CHECKING */ 96#endif /* ENABLE_CHECKING */
97 97
98/* Define this to make Lisp_Object use a union type instead of the 98/* Use the configure flag --enable-use-lisp-union-type to make
99 default int. FIXME: It might be better to add a flag to configure 99 Lisp_Object use a union type instead of the default int. The flag
100 to do this. */ 100 causes USE_LISP_UNION_TYPE to be defined. */
101/* #define USE_LISP_UNION_TYPE */
102 101
103/***** Select the tagging scheme. *****/ 102/***** Select the tagging scheme. *****/
104/* There are basically two options that control the tagging scheme: 103/* There are basically two options that control the tagging scheme: