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
$(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)
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
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.
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)" % (
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)