aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Greene <greened@obbligato.org>2009-04-17 14:49:22 +0000
committerDavid Greene <greened@obbligato.org>2009-04-17 14:49:22 +0000
commitdbefd0c15be7daa3d74a0a9a04a068ea76c641f8 (patch)
tree1942529b346a76d6e5f75ef291caef493cfea7ba
parent2ee3db3003deb18461a72b82166d8d417925d06f (diff)
Add a --enable-profiling option to configure to build Debug+Profile and
Opt+Profile tools. Now we can profile any kind of flavor we build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69351 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--Makefile.config.in10
-rw-r--r--Makefile.rules57
-rw-r--r--autoconf/configure.ac9
3 files changed, 46 insertions, 30 deletions
diff --git a/Makefile.config.in b/Makefile.config.in
index dcc013d0e8..efa8a0b874 100644
--- a/Makefile.config.in
+++ b/Makefile.config.in
@@ -215,7 +215,15 @@ RDYNAMIC := @RDYNAMIC@
#ENABLE_OPTIMIZED = 1
@ENABLE_OPTIMIZED@
-# When DISABLE_ASSERTIONS is enabled, builds of all of the LLVM code will
+# When ENABLE_PROFILING is enabled, profile instrumentation is done
+# and output is put into the "<Flavor>+Profile" directories, where
+# <Flavor> is either Debug or Release depending on how other builkd
+# flags are set.. Otherwise, output is put in the <Flavor>
+# directories.
+#ENABLE_PROFILING = 1
+@ENABLE_PROFILING@
+
+# When DISABLE_ASSERTIONS is enabled, builds of all of the LLVM code will
# exclude assertion checks, otherwise they are included.
#DISABLE_ASSERTIONS = 1
@DISABLE_ASSERTIONS@
diff --git a/Makefile.rules b/Makefile.rules
index af980d6504..192f887079 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -237,37 +237,36 @@ else
OPTIMIZE_OPTION := -O3
endif
-ifdef ENABLE_PROFILING
- BuildMode := Profile
- CXX.Flags += $(OPTIMIZE_OPTION) -pg -g
- C.Flags += $(OPTIMIZE_OPTION) -pg -g
- LD.Flags += $(OPTIMIZE_OPTION) -pg -g
- KEEP_SYMBOLS := 1
-else
- ifeq ($(ENABLE_OPTIMIZED),1)
- BuildMode := Release
- # Don't use -fomit-frame-pointer on Darwin or FreeBSD.
- ifneq ($(OS),FreeBSD)
- ifneq ($(OS),Darwin)
- OmitFramePointer := -fomit-frame-pointer
- endif
- endif
-
- # Darwin requires -fstrict-aliasing to be explicitly enabled.
- ifeq ($(OS),Darwin)
- EXTRA_OPTIONS += -fstrict-aliasing -Wstrict-aliasing
- endif
+ifeq ($(ENABLE_OPTIMIZED),1)
+ BuildMode := Release
+ # Don't use -fomit-frame-pointer on Darwin or FreeBSD.
+ ifneq ($(OS),FreeBSD)
+ ifneq ($(OS),Darwin)
+ OmitFramePointer := -fomit-frame-pointer
+ endif
+ endif
- CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
- C.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
- LD.Flags += $(OPTIMIZE_OPTION)
- else
- BuildMode := Debug
- CXX.Flags += -g
- C.Flags += -g
- LD.Flags += -g
- KEEP_SYMBOLS := 1
+ # Darwin requires -fstrict-aliasing to be explicitly enabled.
+ ifeq ($(OS),Darwin)
+ EXTRA_OPTIONS += -fstrict-aliasing -Wstrict-aliasing
endif
+ CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
+ C.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
+ LD.Flags += $(OPTIMIZE_OPTION)
+else
+ BuildMode := Debug
+ CXX.Flags += -g
+ C.Flags += -g
+ LD.Flags += -g
+ KEEP_SYMBOLS := 1
+endif
+
+ifeq ($(ENABLE_PROFILING),1)
+ BuildMode := $(BuildMode)+Profile
+ CXX.Flags := $(filter-out -fomit-frame-pointer,$(CXX.Flags)) -pg -g
+ C.Flags := $(filter-out -fomit-frame-pointer,$(C.Flags)) -pg -g
+ LD.Flags := $(filter-out -fomit-frame-pointer,$(LD.Flags)) -pg -g
+ KEEP_SYMBOLS := 1
endif
#ifeq ($(ENABLE_VISIBILITY_INLINES_HIDDEN),1)
diff --git a/autoconf/configure.ac b/autoconf/configure.ac
index 6441eaa621..59d4fa803d 100644
--- a/autoconf/configure.ac
+++ b/autoconf/configure.ac
@@ -285,6 +285,15 @@ else
AC_SUBST(ENABLE_OPTIMIZED,[[ENABLE_OPTIMIZED=1]])
fi
+dnl --enable-profiling : check whether they want to do a profile build:
+AC_ARG_ENABLE(profiling, AS_HELP_STRING(
+ [--enable-profiling,Compile with profiling enabled (default is NO)]),,enableval="no")
+if test ${enableval} = "no" ; then
+ AC_SUBST(ENABLE_PROFILING,[[]])
+else
+ AC_SUBST(ENABLE_PROFILING,[[ENABLE_PROFILING=1]])
+fi
+
dnl --enable-assertions : check whether they want to turn on assertions or not:
AC_ARG_ENABLE(assertions,AS_HELP_STRING(
[--enable-assertions,Compile with assertion checks enabled (default is YES)]),, enableval="yes")