[llvm] r220848 - Fix build with CMake if LLVM_USE_INTEL_JITEVENTS option is enabled
Michael Kuperstein
michael.m.kuperstein at intel.com
Wed Oct 29 02:18:50 PDT 2014
Author: mkuper
Date: Wed Oct 29 04:18:49 2014
New Revision: 220848
URL: http://llvm.org/viewvc/llvm-project?rev=220848&view=rev
Log:
Fix build with CMake if LLVM_USE_INTEL_JITEVENTS option is enabled
* Added LLVM libraries required for IntelJITEvents to LLVMBuild.txt.
* Removed 'jit' library from llvm-jitlistener.
* Added support for OptionalLibraries to llvm-build cmake files generator.
Patch by aleksey.a.bader at intel.com
Differential Revision: http://reviews.llvm.org/D5646
Modified:
llvm/trunk/lib/ExecutionEngine/IntelJITEvents/LLVMBuild.txt
llvm/trunk/tools/llvm-jitlistener/CMakeLists.txt
llvm/trunk/utils/llvm-build/llvmbuild/main.py
Modified: llvm/trunk/lib/ExecutionEngine/IntelJITEvents/LLVMBuild.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/IntelJITEvents/LLVMBuild.txt?rev=220848&r1=220847&r2=220848&view=diff
==============================================================================
--- llvm/trunk/lib/ExecutionEngine/IntelJITEvents/LLVMBuild.txt (original)
+++ llvm/trunk/lib/ExecutionEngine/IntelJITEvents/LLVMBuild.txt Wed Oct 29 04:18:49 2014
@@ -21,3 +21,4 @@
type = OptionalLibrary
name = IntelJITEvents
parent = ExecutionEngine
+required_libraries = Core DebugInfo Support
Modified: llvm/trunk/tools/llvm-jitlistener/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-jitlistener/CMakeLists.txt?rev=220848&r1=220847&r2=220848&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-jitlistener/CMakeLists.txt (original)
+++ llvm/trunk/tools/llvm-jitlistener/CMakeLists.txt Wed Oct 29 04:18:49 2014
@@ -10,7 +10,6 @@ set(LLVM_LINK_COMPONENTS
inteljitevents
interpreter
irreader
- jit
mcjit
nativecodegen
object
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=220848&r1=220847&r2=220848&view=diff
==============================================================================
--- llvm/trunk/utils/llvm-build/llvmbuild/main.py (original)
+++ llvm/trunk/utils/llvm-build/llvmbuild/main.py Wed Oct 29 04:18:49 2014
@@ -41,7 +41,7 @@ def mk_quote_string_for_target(value):
"""
mk_quote_string_for_target(target_name) -> str
- Return a quoted form of the given target_name suitable for including in a
+ Return a quoted form of the given target_name suitable for including in a
Makefile as a target name.
"""
@@ -340,7 +340,7 @@ subdirectories = %s
# Compute the llvm-config "component name". For historical reasons,
# this is lowercased based on the library name.
llvmconfig_component_name = c.get_llvmconfig_component_name()
-
+
# Get the library name, or None for LibraryGroups.
if c.type_name == 'Library' or c.type_name == 'OptionalLibrary':
library_name = c.get_prefixed_library_name()
@@ -430,14 +430,14 @@ subdirectories = %s
traversed to include their required libraries.
"""
- assert ci.type_name in ('Library', 'LibraryGroup', 'TargetGroup')
+ assert ci.type_name in ('Library', 'OptionalLibrary', 'LibraryGroup', 'TargetGroup')
for name in ci.required_libraries:
# Get the dependency info.
dep = self.component_info_map[name]
# If it is a library, yield it.
- if dep.type_name == 'Library':
+ if dep.type_name == 'Library' or dep.type_name == 'OptionalLibrary':
yield dep
continue
@@ -492,7 +492,7 @@ subdirectories = %s
if (path.startswith(self.source_root) and os.path.exists(path)):
yield path
- def write_cmake_fragment(self, output_path):
+ def write_cmake_fragment(self, output_path, enabled_optional_components):
"""
write_cmake_fragment(output_path) -> None
@@ -561,8 +561,13 @@ configure_file(\"%s\"
# names to required libraries, in a way that is easily accessed from CMake.
""")
for ci in self.ordered_component_infos:
- # We only write the information for libraries currently.
- if ci.type_name != 'Library':
+ # Skip optional components which are not enabled.
+ if ci.type_name == 'OptionalLibrary' \
+ and ci.name not in enabled_optional_components:
+ continue
+
+ # We only write the information for certain components currently.
+ if ci.type_name not in ('Library', 'OptionalLibrary'):
continue
f.write("""\
@@ -573,7 +578,7 @@ set_property(GLOBAL PROPERTY LLVMBUILD_L
f.close()
- def write_cmake_exports_fragment(self, output_path):
+ def write_cmake_exports_fragment(self, output_path, enabled_optional_components):
"""
write_cmake_exports_fragment(output_path) -> None
@@ -595,8 +600,13 @@ set_property(GLOBAL PROPERTY LLVMBUILD_L
# dependencies of libraries imported from LLVM.
""")
for ci in self.ordered_component_infos:
+ # Skip optional components which are not enabled.
+ if ci.type_name == 'OptionalLibrary' \
+ and ci.name not in enabled_optional_components:
+ continue
+
# We only write the information for libraries currently.
- if ci.type_name != 'Library':
+ if ci.type_name not in ('Library', 'OptionalLibrary'):
continue
# Skip disabled targets.
@@ -905,9 +915,11 @@ given by --build-root) at the same SUBPA
# Write out the cmake fragment, if requested.
if opts.write_cmake_fragment:
- project_info.write_cmake_fragment(opts.write_cmake_fragment)
+ project_info.write_cmake_fragment(opts.write_cmake_fragment,
+ opts.optional_components)
if opts.write_cmake_exports_fragment:
- project_info.write_cmake_exports_fragment(opts.write_cmake_exports_fragment)
+ project_info.write_cmake_exports_fragment(opts.write_cmake_exports_fragment,
+ opts.optional_components)
# Configure target definition files, if requested.
if opts.configure_target_def_files:
More information about the llvm-commits
mailing list