[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