Changes in directory llvm/tools/llvm-config:

llvm-config.in.in updated: 1.27 -> 1.28
Makefile updated: 1.23 -> 1.24
---
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:  (+30 -3)

 Makefile          |    4 +++-
 llvm-config.in.in |   29 +++++++++++++++++++++++++++--
 2 files changed, 30 insertions(+), 3 deletions(-)


Index: llvm/tools/llvm-config/llvm-config.in.in
diff -u llvm/tools/llvm-config/llvm-config.in.in:1.27 
llvm/tools/llvm-config/llvm-config.in.in:1.28
--- llvm/tools/llvm-config/llvm-config.in.in:1.27       Sun Apr 22 13:33:20 2007
+++ llvm/tools/llvm-config/llvm-config.in.in    Thu Jun 28 14:36:07 2007
@@ -42,6 +42,7 @@
 my $TARGETS_TO_BUILD    = [EMAIL PROTECTED]@};
 my $TARGET_HAS_JIT      = [EMAIL PROTECTED]@};
 my @TARGETS_BUILT       = map { lc($_) } [EMAIL PROTECTED]@};
+my $EXPENSIVE_CHECKS    = [EMAIL PROTECTED]@};
 #---- end autoconf values ----
 
 # Must pretend x86_64 architecture is really x86, otherwise the native backend
@@ -49,6 +50,7 @@
 $ARCH = "x86" if $ARCH eq "x86_64";
 
 #---- begin Makefile values ----
+my $CPPFLAGS            = [EMAIL PROTECTED]@};
 my $CFLAGS              = [EMAIL PROTECTED]@};
 my $CXXFLAGS            = [EMAIL PROTECTED]@};
 my $LDFLAGS             = [EMAIL PROTECTED]@};
@@ -112,10 +114,18 @@
             $has_opt = 1; print "$INCLUDEDIR\n";
         } elsif ($arg eq "--libdir") {
             $has_opt = 1; print "$LIBDIR\n";
+        } elsif ($arg eq "--cppflags") {
+            $has_opt = 1; 
+           my $cppopts = get_cpp_opts();
+           print "$cppopts\n";
         } elsif ($arg eq "--cflags") {
-            $has_opt = 1; print "-I$INCLUDEDIR $CFLAGS\n";
+            $has_opt = 1; 
+           my $cppopts = get_cpp_opts();
+           print "$cppopts $CFLAGS\n";
         } elsif ($arg eq "--cxxflags") {
-            $has_opt = 1; print "-I$INCLUDEDIR $CXXFLAGS\n";
+            $has_opt = 1; 
+           my $cppopts = get_cpp_opts();
+           print "$cppopts $CXXFLAGS\n";
         } elsif ($arg eq "--ldflags") {
             $has_opt = 1; print "-L$LIBDIR $LDFLAGS $SYSTEM_LIBS\n";
         } elsif ($arg eq "--libs") {
@@ -187,6 +197,7 @@
   --bindir               Directory containing LLVM executables.
   --includedir           Directory containing LLVM headers.
   --libdir               Directory containing LLVM libraries.
+  --cppflags             C preprocessor flags for files that include LLVM 
headers.
   --cflags               C compiler flags for files that include LLVM headers.
   --cxxflags             C++ compiler flags for files that include LLVM 
headers.
   --ldflags              Print Linker flags.
@@ -205,6 +216,20 @@
     exit(1);
 }
 
+# Return cpp flags used to build llvm.
+sub get_cpp_opts {
+    my $opts = "";
+
+    if ($EXPENSIVE_CHECKS eq "yes") {
+       $opts = "-D_GLIBCXX_DEBUG -I$INCLUDEDIR $CPPFLAGS";
+    }
+    else {
+       $opts = "-I$INCLUDEDIR $CPPFLAGS";
+    }
+
+    return $opts;
+}
+
 # Use -lfoo instead of libfoo.a whenever possible, and add directories to
 # files which can't be found using -L.
 sub fix_library_names (@) {


Index: llvm/tools/llvm-config/Makefile
diff -u llvm/tools/llvm-config/Makefile:1.23 
llvm/tools/llvm-config/Makefile:1.24
--- llvm/tools/llvm-config/Makefile:1.23        Sun Feb  4 16:08:16 2007
+++ llvm/tools/llvm-config/Makefile     Thu Jun 28 14:36:07 2007
@@ -20,6 +20,7 @@
 ifeq ($(HAVE_PERL),1)
 
 # Combine preprocessor flags (except for -I) and CXX flags.
+SUB_CPPFLAGS = ${CPP.Defines}
 SUB_CFLAGS = ${CPP.BaseFlags} ${C.Flags}
 SUB_CXXFLAGS = ${CPP.BaseFlags} ${CXX.Flags}
 
@@ -56,7 +57,8 @@
 # Build our final script.
 $(ToolDir)/llvm-config: llvm-config.in $(FinalLibDeps)
        $(Echo) "Building llvm-config script."
-       $(Verb) $(ECHO) 's,@LLVM_CFLAGS@,$(SUB_CFLAGS),' > temp.sed
+       $(Verb) $(ECHO) 's,@LLVM_CPPFLAGS@,$(SUB_CPPFLAGS),' > temp.sed
+       $(Verb) $(ECHO) 's,@LLVM_CFLAGS@,$(SUB_CFLAGS),' >> temp.sed
        $(Verb) $(ECHO) 's,@LLVM_CXXFLAGS@,$(SUB_CXXFLAGS),' >> temp.sed
        $(Verb) $(ECHO) 's,@LLVM_LDFLAGS@,$(SUB_LDFLAGS),' >> temp.sed
        $(Verb) $(ECHO) 's,@LLVM_BUILDMODE@,$(BuildMode),' >> temp.sed



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to