[llvm-commits] [llvm] r144255 - in /llvm/trunk: CMakeLists.txt Makefile.rules lib/Target/LLVMBuild.txt utils/llvm-build/llvmbuild/main.py

Daniel Dunbar daniel at zuster.org
Wed Nov 9 17:16:48 PST 2011


Author: ddunbar
Date: Wed Nov  9 19:16:48 2011
New Revision: 144255

URL: http://llvm.org/viewvc/llvm-project?rev=144255&view=rev
Log:
build/Make & CMake: Pass the appropriate --native-target and --enable-targets
options to llvm-build, so the all-targets etc. components are defined properly.

Modified:
    llvm/trunk/CMakeLists.txt
    llvm/trunk/Makefile.rules
    llvm/trunk/lib/Target/LLVMBuild.txt
    llvm/trunk/utils/llvm-build/llvmbuild/main.py

Modified: llvm/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=144255&r1=144254&r2=144255&view=diff
==============================================================================
--- llvm/trunk/CMakeLists.txt (original)
+++ llvm/trunk/CMakeLists.txt Wed Nov  9 19:16:48 2011
@@ -236,6 +236,8 @@
 message(STATUS "Constructing LLVMBuild project information")
 execute_process(
   COMMAND ${PYTHON_EXECUTABLE} ${LLVMBUILDTOOL}
+            --native-target "${LLVM_NATIVE_ARCH}"
+            --enable-targets "${LLVM_TARGETS_TO_BUILD}"
             --write-library-table ${LLVMCONFIGLIBRARYDEPENDENCIESINC}
             --write-cmake-fragment ${LLVMBUILDCMAKEFRAG}
             ERROR_VARIABLE LLVMBUILDOUTPUT

Modified: llvm/trunk/Makefile.rules
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/Makefile.rules?rev=144255&r1=144254&r2=144255&view=diff
==============================================================================
--- llvm/trunk/Makefile.rules (original)
+++ llvm/trunk/Makefile.rules Wed Nov  9 19:16:48 2011
@@ -92,6 +92,8 @@
 $(LLVMBuildMakeFrag): $(PROJ_SRC_ROOT)/Makefile.rules
 	$(Echo) Constructing LLVMBuild project information.
 	$(Verb) $(LLVMBuildTool) \
+	  --native-target "$(ARCH)" \
+	  --enable-targets "$(TARGETS_TO_BUILD)" \
 	  --write-library-table $(LLVMConfigLibraryDependenciesInc) \
 	  --write-make-fragment $(LLVMBuildMakeFrag)
 

Modified: llvm/trunk/lib/Target/LLVMBuild.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/LLVMBuild.txt?rev=144255&r1=144254&r2=144255&view=diff
==============================================================================
--- llvm/trunk/lib/Target/LLVMBuild.txt (original)
+++ llvm/trunk/lib/Target/LLVMBuild.txt Wed Nov  9 19:16:48 2011
@@ -21,8 +21,9 @@
 parent = Libraries
 required_libraries = Core MC Support
 
-; This is a convenient group we define (and expect targets to add to) which
-; makes it easy for tools to include every target.
+; This is a special group whose required libraries are extended (by llvm-build)
+; with every built target, which makes it easy for tools to include every
+; target.
 [component_1]
 type = LibraryGroup
 name = all-targets

Modified: llvm/trunk/utils/llvm-build/llvmbuild/main.py
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/llvm-build/llvmbuild/main.py?rev=144255&r1=144254&r2=144255&view=diff
==============================================================================
--- llvm/trunk/utils/llvm-build/llvmbuild/main.py (original)
+++ llvm/trunk/utils/llvm-build/llvmbuild/main.py Wed Nov  9 19:16:48 2011
@@ -505,7 +505,7 @@
     determined based on the target configuration options.
 
     This currently is responsible for populating the required_libraries list of
-    the "Native", "NativeCodeGen", and "Engine" components.
+    the "all-targets", "Native", "NativeCodeGen", and "Engine" components.
     """
 
     # Determine the available targets.
@@ -536,8 +536,14 @@
     if opts.enable_targets is None:
         enable_targets = available_targets.values()
     else:
+        # We support both space separated and semi-colon separated lists.
+        if ' ' in opts.enable_targets:
+            enable_target_names = opts.enable_targets.split()
+        else:
+            enable_target_names = opts.enable_targets.split(';')
+
         enable_targets = []
-        for name in opts.enable_targets.split():
+        for name in enable_target_names:
             target = available_targets.get(name)
             if target is None:
                 parser.error("invalid target to enable: %r (not in project)" % (
@@ -641,8 +647,8 @@
                       action="store", default=None)
     group.add_option("", "--enable-targets",
                       dest="enable_targets", metavar="NAMES",
-                      help=("Enable the given space separated list of targets, "
-                            "or all targets if not present"),
+                      help=("Enable the given space or semi-colon separated "
+                            "list of targets, or all targets if not present"),
                       action="store", default=None)
     parser.add_option_group(group)
 





More information about the llvm-commits mailing list