Add a --enable-profiling option to configure to build Debug+Profile and
authorDavid Greene <greened@obbligato.org>
Fri, 17 Apr 2009 14:49:22 +0000 (14:49 +0000)
committerDavid Greene <greened@obbligato.org>
Fri, 17 Apr 2009 14:49:22 +0000 (14:49 +0000)
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

Makefile.config.in
Makefile.rules
autoconf/configure.ac

index dcc013d0e8548d5bb274dd74be12187b268799da..efa8a0b87466255c8acce07da529ab3a58238f10 100644 (file)
@@ -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@
index af980d65047c54f3a3e6a8cb54a2c22793ddd63b..192f887079209b54e901d4915caf356811fcf109 100644 (file)
@@ -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)
index 6441eaa621f3f2e4039f1d8d63cc675c53e50783..59d4fa803d88a775ee7a033cf338c147abb0cb92 100644 (file)
@@ -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")