[llvm-commits] CVS: llvm/configure Makefile.rules Makefile.config.in
David Greene
greened at obbligato.org
Thu Jun 28 12:36:30 PDT 2007
Changes in directory llvm:
configure updated: 1.277 -> 1.278
Makefile.rules updated: 1.435 -> 1.436
Makefile.config.in updated: 1.76 -> 1.77
---
Log message:
Add support for building with _GLIBCXX_DEBUG. New configure option
--enable-expensive-checks allows the developer to enable runtime
checking that can greatly increase compile time. Currently it only
turns on _GLIBCXX_DEBUG. Other expensive debugging checks added later
should be controlled by this configure option.
This patch also updates llvm-config with a --cppflags option to inform
llvm-gcc how to build itself so that it is compatible with an llvm that
was built with _GLIBCXX_DEBUG.
---
Diffs of the changes: (+66 -28)
Makefile.config.in | 5 +++
Makefile.rules | 10 ++++++
configure | 79 ++++++++++++++++++++++++++++++++++-------------------
3 files changed, 66 insertions(+), 28 deletions(-)
Index: llvm/configure
diff -u llvm/configure:1.277 llvm/configure:1.278
--- llvm/configure:1.277 Thu May 17 13:11:03 2007
+++ llvm/configure Thu Jun 28 14:36:07 2007
@@ -830,6 +830,8 @@
CVSBUILD
ENABLE_OPTIMIZED
DISABLE_ASSERTIONS
+ENABLE_EXPENSIVE_CHECKS
+EXPENSIVE_CHECKS
DEBUG_RUNTIME
JIT
TARGET_HAS_JIT
@@ -1525,6 +1527,8 @@
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-optimized
--enable-assertions
+ --enable-expensive-checks
+
--enable-debug-runtime
--enable-jit Enable Just In Time Compiling (default is YES)
--enable-doxygen Build doxygen documentation (default is NO)
@@ -4577,6 +4581,25 @@
fi
+# Check whether --enable-expensive-checks was given.
+if test "${enable_expensive_checks+set}" = set; then
+ enableval=$enable_expensive_checks;
+else
+ enableval="no"
+fi
+
+if test ${enableval} = "yes" ; then
+ ENABLE_EXPENSIVE_CHECKS=ENABLE_EXPENSIVE_CHECKS=1
+
+ EXPENSIVE_CHECKS=yes
+
+else
+ ENABLE_EXPENSIVE_CHECKS=
+
+ EXPENSIVE_CHECKS=no
+
+fi
+
# Check whether --enable-debug-runtime was given.
if test "${enable_debug_runtime+set}" = set; then
enableval=$enable_debug_runtime;
@@ -10343,7 +10366,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 10346 "configure"
+#line 10369 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12487,7 +12510,7 @@
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 12490 "configure"' > conftest.$ac_ext
+ echo '#line 12513 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -14205,11 +14228,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14208: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14231: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:14212: \$? = $ac_status" >&5
+ echo "$as_me:14235: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -14473,11 +14496,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14476: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14499: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:14480: \$? = $ac_status" >&5
+ echo "$as_me:14503: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -14577,11 +14600,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14580: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14603: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:14584: \$? = $ac_status" >&5
+ echo "$as_me:14607: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -17029,7 +17052,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 17032 "configure"
+#line 17055 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -17129,7 +17152,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 17132 "configure"
+#line 17155 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -19497,11 +19520,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:19500: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:19523: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:19504: \$? = $ac_status" >&5
+ echo "$as_me:19527: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -19601,11 +19624,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:19604: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:19627: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:19608: \$? = $ac_status" >&5
+ echo "$as_me:19631: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -21171,11 +21194,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:21174: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:21197: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:21178: \$? = $ac_status" >&5
+ echo "$as_me:21201: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -21275,11 +21298,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:21278: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:21301: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:21282: \$? = $ac_status" >&5
+ echo "$as_me:21305: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -23510,11 +23533,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:23513: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:23536: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:23517: \$? = $ac_status" >&5
+ echo "$as_me:23540: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -23778,11 +23801,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:23781: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:23804: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:23785: \$? = $ac_status" >&5
+ echo "$as_me:23808: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -23882,11 +23905,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:23885: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:23908: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:23889: \$? = $ac_status" >&5
+ echo "$as_me:23912: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -34342,6 +34365,8 @@
CVSBUILD!$CVSBUILD$ac_delim
ENABLE_OPTIMIZED!$ENABLE_OPTIMIZED$ac_delim
DISABLE_ASSERTIONS!$DISABLE_ASSERTIONS$ac_delim
+ENABLE_EXPENSIVE_CHECKS!$ENABLE_EXPENSIVE_CHECKS$ac_delim
+EXPENSIVE_CHECKS!$EXPENSIVE_CHECKS$ac_delim
DEBUG_RUNTIME!$DEBUG_RUNTIME$ac_delim
JIT!$JIT$ac_delim
TARGET_HAS_JIT!$TARGET_HAS_JIT$ac_delim
@@ -34363,8 +34388,6 @@
BISON!$BISON$ac_delim
NM!$NM$ac_delim
ifGNUmake!$ifGNUmake$ac_delim
-LN_S!$LN_S$ac_delim
-CMP!$CMP$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -34406,6 +34429,8 @@
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
cat >conf$$subs.sed <<_ACEOF
+LN_S!$LN_S$ac_delim
+CMP!$CMP$ac_delim
CP!$CP$ac_delim
DATE!$DATE$ac_delim
FIND!$FIND$ac_delim
@@ -34477,7 +34502,7 @@
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 69; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 71; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
Index: llvm/Makefile.rules
diff -u llvm/Makefile.rules:1.435 llvm/Makefile.rules:1.436
--- llvm/Makefile.rules:1.435 Thu May 17 17:51:35 2007
+++ llvm/Makefile.rules Thu Jun 28 14:36:08 2007
@@ -260,6 +260,13 @@
C.Flags += -D_DEBUG
endif
+# If DISABLE_EXPENSIVE_CHECKS=1 is specified (make command line or configured),
+# then disable expensive checks by defining the appropriate preprocessor symbols.
+ifdef ENABLE_EXPENSIVE_CHECKS
+ BuildMode := $(BuildMode)+Checks
+ CXX.Flags += -D_GLIBCXX_DEBUG
+endif
+
ifeq ($(ENABLE_PIC),1)
CXX.Flags += -fPIC
C.Flags += -fPIC
@@ -267,7 +274,8 @@
CXX.Flags += $(CXXFLAGS) -Woverloaded-virtual
C.Flags += $(CFLAGS)
-CPP.BaseFlags += $(CPPFLAGS)
+CPP.Defines += $(CPPFLAGS)
+CPP.BaseFlags += $(CPP.Defines)
LD.Flags += $(LDFLAGS)
AR.Flags := cru
LibTool.Flags := --tag=CXX
Index: llvm/Makefile.config.in
diff -u llvm/Makefile.config.in:1.76 llvm/Makefile.config.in:1.77
--- llvm/Makefile.config.in:1.76 Sat Apr 21 16:28:12 2007
+++ llvm/Makefile.config.in Thu Jun 28 14:36:08 2007
@@ -209,6 +209,11 @@
#DISABLE_ASSERTIONS = 1
@DISABLE_ASSERTIONS@
+# When ENABLE_EXPENSIVE_CHECKS is enabled, builds of all of the LLVM
+# code will include expensive checks, otherwise they are excluded.
+#ENABLE_EXPENSIVE_CHECKS = 0
+ at ENABLE_EXPENSIVE_CHECKS@
+
# When DEBUG_RUNTIME is enabled, the runtime libraries will retain debug
# symbols.
#DEBUG_RUNTIME = 1
More information about the llvm-commits
mailing list