[llvm] r220848 - Fix build with CMake if LLVM_USE_INTEL_JITEVENTS option is enabled
Lang Hames
lhames at gmail.com
Thu Oct 30 12:43:26 PDT 2014
Thanks very much Michael!
- Lang.
On Wed, Oct 29, 2014 at 2:18 AM, Michael Kuperstein <
michael.m.kuperstein at intel.com> wrote:
> 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:
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141030/db8e7247/attachment.html>
More information about the llvm-commits
mailing list