[Lldb-commits] [lldb] r272024 - Make lldbinline.py regenerate the Makefile each time it builds.

Sean Callanan via lldb-commits lldb-commits at lists.llvm.org
Tue Jun 7 10:22:18 PDT 2016


Author: spyffe
Date: Tue Jun  7 12:22:18 2016
New Revision: 272024

URL: http://llvm.org/viewvc/llvm-project?rev=272024&view=rev
Log:
Make lldbinline.py regenerate the Makefile each time it builds.

If a lldbinline test's source file changed language, then the Makefile wasn't
updated.  This was a problem if the Makefile was checked into the repository.

Now lldbinline.py always regenerates the Makefile and asserts if the
newly-generated version is not the same as the one already there.  This ensures
that the repository will never be out of date without a buildbot failing.

http://reviews.llvm.org/D21032

Modified:
    lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/dump_dynamic/Makefile
    lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/setvaluefromcstring/Makefile
    lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/stringprinter/Makefile
    lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/typedef_array/Makefile
    lldb/trunk/packages/Python/lldbsuite/test/lang/c/struct_types/Makefile
    lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/Makefile
    lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/extern_c/Makefile
    lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-runtime-ivars/Makefile
    lldb/trunk/packages/Python/lldbsuite/test/lldbinline.py
    lldb/trunk/packages/Python/lldbsuite/test/python_api/sbvalue_const_addrof/Makefile

Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/dump_dynamic/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/dump_dynamic/Makefile?rev=272024&r1=272023&r2=272024&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/dump_dynamic/Makefile (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/dump_dynamic/Makefile Tue Jun  7 12:22:18 2016
@@ -1,12 +1,13 @@
 LEVEL = ../../../make
 CXX_SOURCES := main.cpp
 CXXFLAGS += -std=c++11
-
-# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD 
-# targets.  Other targets do not, which causes this test to fail.
-# This flag enables FullDebugInfo for all targets.
 ifneq (,$(findstring clang,$(CC)))
-  CFLAGS_EXTRAS += -fno-limit-debug-info
+    CFLAGS_EXTRAS += -fno-limit-debug-info
 endif
 
 include $(LEVEL)/Makefile.rules
+
+
+cleanup:
+	rm -f Makefile *.d
+

Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/setvaluefromcstring/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/setvaluefromcstring/Makefile?rev=272024&r1=272023&r2=272024&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/setvaluefromcstring/Makefile (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/setvaluefromcstring/Makefile Tue Jun  7 12:22:18 2016
@@ -1,4 +1,13 @@
 LEVEL = ../../../make
 OBJC_SOURCES := main.m
+LDFLAGS = $(CFLAGS) -lobjc -framework Foundation
+ifneq (,$(findstring clang,$(CC)))
+    CFLAGS_EXTRAS += -fno-limit-debug-info
+endif
+
 include $(LEVEL)/Makefile.rules
-LDFLAGS += -framework Foundation
+
+
+cleanup:
+	rm -f Makefile *.d
+

Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/stringprinter/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/stringprinter/Makefile?rev=272024&r1=272023&r2=272024&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/stringprinter/Makefile (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/stringprinter/Makefile Tue Jun  7 12:22:18 2016
@@ -1,12 +1,13 @@
 LEVEL = ../../../make
 CXX_SOURCES := main.cpp
 CXXFLAGS += -std=c++11
-
-# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD 
-# targets.  Other targets do not, which causes this test to fail.
-# This flag enables FullDebugInfo for all targets.
 ifneq (,$(findstring clang,$(CC)))
-  CFLAGS_EXTRAS += -fno-limit-debug-info
+    CFLAGS_EXTRAS += -fno-limit-debug-info
 endif
 
 include $(LEVEL)/Makefile.rules
+
+
+cleanup:
+	rm -f Makefile *.d
+

Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/typedef_array/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/typedef_array/Makefile?rev=272024&r1=272023&r2=272024&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/typedef_array/Makefile (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/typedef_array/Makefile Tue Jun  7 12:22:18 2016
@@ -1,4 +1,13 @@
 LEVEL = ../../../make
 CXX_SOURCES := main.cpp
 CXXFLAGS += -std=c++11
+ifneq (,$(findstring clang,$(CC)))
+    CFLAGS_EXTRAS += -fno-limit-debug-info
+endif
+
 include $(LEVEL)/Makefile.rules
+
+
+cleanup:
+	rm -f Makefile *.d
+

Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/c/struct_types/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/c/struct_types/Makefile?rev=272024&r1=272023&r2=272024&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/lang/c/struct_types/Makefile (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/lang/c/struct_types/Makefile Tue Jun  7 12:22:18 2016
@@ -1,3 +1,12 @@
 LEVEL = ../../../make
 C_SOURCES := main.c
+ifneq (,$(findstring clang,$(CC)))
+    CFLAGS_EXTRAS += -fno-limit-debug-info
+endif
+
 include $(LEVEL)/Makefile.rules
+
+
+cleanup:
+	rm -f Makefile *.d
+

Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/Makefile?rev=272024&r1=272023&r2=272024&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/Makefile (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/const_this/Makefile Tue Jun  7 12:22:18 2016
@@ -1,8 +1,13 @@
 LEVEL = ../../../make
 CXX_SOURCES := main.cpp
 CXXFLAGS += -std=c++11
+ifneq (,$(findstring clang,$(CC)))
+    CFLAGS_EXTRAS += -fno-limit-debug-info
+endif
+
 include $(LEVEL)/Makefile.rules
 
+
 cleanup:
 	rm -f Makefile *.d
 

Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/extern_c/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/extern_c/Makefile?rev=272024&r1=272023&r2=272024&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/extern_c/Makefile (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/lang/cpp/extern_c/Makefile Tue Jun  7 12:22:18 2016
@@ -1,3 +1,13 @@
 LEVEL = ../../../make
 CXX_SOURCES := main.cpp
+CXXFLAGS += -std=c++11
+ifneq (,$(findstring clang,$(CC)))
+    CFLAGS_EXTRAS += -fno-limit-debug-info
+endif
+
 include $(LEVEL)/Makefile.rules
+
+
+cleanup:
+	rm -f Makefile *.d
+

Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-runtime-ivars/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-runtime-ivars/Makefile?rev=272024&r1=272023&r2=272024&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-runtime-ivars/Makefile (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-runtime-ivars/Makefile Tue Jun  7 12:22:18 2016
@@ -1,6 +1,13 @@
 LEVEL = ../../../make
-
 OBJC_SOURCES := main.m
 LDFLAGS = $(CFLAGS) -lobjc -framework Foundation
+ifneq (,$(findstring clang,$(CC)))
+    CFLAGS_EXTRAS += -fno-limit-debug-info
+endif
 
 include $(LEVEL)/Makefile.rules
+
+
+cleanup:
+	rm -f Makefile *.d
+

Modified: lldb/trunk/packages/Python/lldbsuite/test/lldbinline.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lldbinline.py?rev=272024&r1=272023&r2=272024&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/lldbinline.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/lldbinline.py Tue Jun  7 12:22:18 2016
@@ -2,7 +2,9 @@ from __future__ import print_function
 from __future__ import absolute_import
 
 # System modules
+import filecmp
 import os
+import sys
 
 # Third-party modules
 
@@ -89,9 +91,6 @@ class InlineTest(TestBase):
             return "-N dsym %s" % (self.mydir)
 
     def BuildMakefile(self):
-        if os.path.exists("Makefile"):
-            return
-
         categories = {}
 
         for f in os.listdir(os.getcwd()):
@@ -102,7 +101,7 @@ class InlineTest(TestBase):
                 else:
                     categories[t] = [f]
 
-        makefile = open("Makefile", 'w+')
+        makefile = open("Makefile.tmp", 'w+')
 
         level = os.sep.join([".."] * len(self.mydir.split(os.sep))) + os.sep + "make"
 
@@ -118,11 +117,26 @@ class InlineTest(TestBase):
         if ('CXX_SOURCES' in list(categories.keys())):
             makefile.write("CXXFLAGS += -std=c++11\n")
 
-        makefile.write("include $(LEVEL)/Makefile.rules\n")
+        # clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD 
+        # targets.  Other targets do not, which causes this test to fail.
+        # This flag enables FullDebugInfo for all targets.
+
+        makefile.write("ifneq (,$(findstring clang,$(CC)))\n")
+        makefile.write("    CFLAGS_EXTRAS += -fno-limit-debug-info\n")
+        makefile.write("endif\n\n")
+
+        makefile.write("include $(LEVEL)/Makefile.rules\n\n")
+
         makefile.write("\ncleanup:\n\trm -f Makefile *.d\n\n")
         makefile.flush()
         makefile.close()
 
+        if os.path.exists("Makefile"):
+            if not filecmp.cmp("Makefile", "Makefile.tmp"):
+                sys.exit("Existing Makefile doesn't match generated Makefile!")
+
+        os.rename("Makefile.tmp", "Makefile")    
+
     @skipUnlessDarwin
     def __test_with_dsym(self):
         self.using_dsym = True

Modified: lldb/trunk/packages/Python/lldbsuite/test/python_api/sbvalue_const_addrof/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/python_api/sbvalue_const_addrof/Makefile?rev=272024&r1=272023&r2=272024&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/python_api/sbvalue_const_addrof/Makefile (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/python_api/sbvalue_const_addrof/Makefile Tue Jun  7 12:22:18 2016
@@ -1,4 +1,13 @@
 LEVEL = ../../make
 CXX_SOURCES := main.cpp
 CXXFLAGS += -std=c++11
+ifneq (,$(findstring clang,$(CC)))
+    CFLAGS_EXTRAS += -fno-limit-debug-info
+endif
+
 include $(LEVEL)/Makefile.rules
+
+
+cleanup:
+	rm -f Makefile *.d
+




More information about the lldb-commits mailing list