For PR723:
1. Don't force debug builds to have assertion checking turned on always.
Let the default (on) be taken, or overridden by the command line
2. Create two new BuildModes based on assertion checking: Release+Assert
and Debug-Assert.
3. Ensure that when building a distribution we get a release build with
assertions enabled, regardless of the tree's configuration.
4. (unrelated) Fix library name generation for llvm-config usage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27488 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Makefile.rules b/Makefile.rules
index affd0fb..c122540 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -219,17 +219,21 @@
C.Flags := -g
LD.Flags := -g
KEEP_SYMBOLS := 1
- # Assertions default to ON for debug builds.
- ENABLE_ASSERTIONS := 1
endif
endif
-# If this is a debug build or if ENABLE_ASSERTIONS=1 is specified on the make
-# command line, enable assertions.
+# If ENABLE_ASSERTIONS=1 is specified (make command line or configured),
+# then enable assertions by defining the appropriate preprocessor symbols.
ifdef ENABLE_ASSERTIONS
+ ifdef ENABLE_OPTIMIZED
+ BuildMode := $(BuildMode)+Asserts
+ endif
CXX.Flags += -D_DEBUG
C.Flags += -D_DEBUG
else
+ ifndef ENABLE_OPTIMIZED
+ BuildMode := $(BuildMode)-Asserts
+ endif
CXX.Flags += -DNDEBUG
C.Flags += -DNDEBUG
endif
@@ -580,10 +584,9 @@
#---------------------------------------------------------
ifeq ($(firstword $(LLVMLIBS)),config)
LLVM_CONFIG := $(LLVM_SRC_ROOT)/utils/llvm-config/llvm-config
-LLVMLIBS := $(shell $(LLVM_CONFIG) $(wordlist 2,9999,$(LLVMLIBS)))
-LLVMLIBS := $(patsubst $(PROJ_libdir)/%,%,$(LLVMLIBS))
+LLVMLIBS := $(shell $(LLVM_CONFIG) --libnames $(wordlist 2,9999,$(LLVMLIBS)))
+LLVMLIBS := $(patsubst lib%.a,%.a,$(LLVMLIBS))
LLVMLIBS := $(patsubst %.o,%,$(LLVMLIBS))
-LLVMLIBS := $(patsubst -l%,%.a,$(LLVMLIBS))
endif
ifeq ($(LLVMLIBS),JIT)
@@ -1529,7 +1532,7 @@
$(EchoCmd) Removing old $(DistDir) ; \
$(RM) -rf $(DistDir); \
$(EchoCmd) Making 'all' to verify build ; \
- $(MAKE) all ; \
+ $(MAKE) ENABLE_OPTIMIZED=1 ENABLE_ASSERTIONS=1 all ; \
fi
$(Echo) Building Distribution Directory $(DistDir)
$(Verb) $(MKDIR) $(DistDir)
@@ -1590,8 +1593,8 @@
if test "$$subdir" \!= "." ; then \
new_distdir="$(DistDir)/$$subdir" ; \
test -d "$$new_distdir" || $(MKDIR) "$$new_distdir" || exit 1; \
- ( cd $$subdir && $(MAKE) DistDir="$$new_distdir" distdir ) || \
- exit 1; \
+ ( cd $$subdir && $(MAKE) ENABLE_OPTIMIZED=1 ENABLE_ASSERTIONS=1 \
+ DistDir="$$new_distdir" distdir ) || exit 1; \
fi; \
done
$(Verb) if test "$(DistDir)" = "$(TopDistDir)" ; then \