0015-clang-llvm-cmake-Fix-configure-for-packages-using-fi.patch 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. From f16083f3436f1286941547b3036787f128c9d8a4 Mon Sep 17 00:00:00 2001
  2. From: Ovidiu Panait <ovidiu.panait@windriver.com>
  3. Date: Fri, 31 Jan 2020 10:56:11 +0200
  4. Subject: [PATCH] clang,llvm: cmake: Fix configure for packages using
  5. find_package()
  6. Currently, when a package (i.e. bcc [https://github.com/iovisor/bcc.git])
  7. that depends on LLVM/Clang tries to run cmake find_package() during
  8. do_configure, it will fail with a similar error:
  9. | The imported target "llvm-tblgen" references the file
  10. | ".../recipe-sysroot/usr/bin/llvm-tblgen"
  11. |
  12. | but this file does not exist. Possible reasons include:
  13. | * The file was deleted, renamed, or moved to another location.
  14. | * An install or uninstall procedure did not complete successfully.
  15. | * The installation package was faulty and contained
  16. | ".../recipe-sysroot/usr/lib/cmake/LLVMExports.cmake"
  17. | but not all the files it references.
  18. This is due to the fact that currently the cmake scripts look for target
  19. binaries in sysroot. Work around this by not exporting the target binaries in
  20. Exports-* cmake files.
  21. Upstream-Status: Inappropriate [oe-specific]
  22. Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
  23. ---
  24. clang/cmake/modules/AddClang.cmake | 2 --
  25. llvm/cmake/modules/AddLLVM.cmake | 6 ------
  26. llvm/cmake/modules/TableGen.cmake | 6 ------
  27. 3 files changed, 14 deletions(-)
  28. diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake
  29. index 75b0080f6715..ddf446a13eca 100644
  30. --- a/clang/cmake/modules/AddClang.cmake
  31. +++ b/clang/cmake/modules/AddClang.cmake
  32. @@ -168,7 +168,6 @@ macro(add_clang_tool name)
  33. if (CLANG_BUILD_TOOLS)
  34. get_target_export_arg(${name} Clang export_to_clangtargets)
  35. install(TARGETS ${name}
  36. - ${export_to_clangtargets}
  37. RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
  38. COMPONENT ${name})
  39. @@ -177,7 +176,6 @@ macro(add_clang_tool name)
  40. DEPENDS ${name}
  41. COMPONENT ${name})
  42. endif()
  43. - set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${name})
  44. endif()
  45. endif()
  46. endmacro()
  47. diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
  48. index 94fc83db9344..5155b0222d87 100644
  49. --- a/llvm/cmake/modules/AddLLVM.cmake
  50. +++ b/llvm/cmake/modules/AddLLVM.cmake
  51. @@ -1335,7 +1335,6 @@ macro(llvm_add_tool project name)
  52. if( LLVM_BUILD_TOOLS )
  53. get_target_export_arg(${name} LLVM export_to_llvmexports)
  54. install(TARGETS ${name}
  55. - ${export_to_llvmexports}
  56. RUNTIME DESTINATION ${${project}_TOOLS_INSTALL_DIR}
  57. COMPONENT ${name})
  58. @@ -1346,9 +1345,6 @@ macro(llvm_add_tool project name)
  59. endif()
  60. endif()
  61. endif()
  62. - if( LLVM_BUILD_TOOLS )
  63. - set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
  64. - endif()
  65. set_target_properties(${name} PROPERTIES FOLDER "Tools")
  66. endif()
  67. endmacro(llvm_add_tool project name)
  68. @@ -1393,7 +1389,6 @@ macro(add_llvm_utility name)
  69. if (LLVM_INSTALL_UTILS AND LLVM_BUILD_UTILS)
  70. get_target_export_arg(${name} LLVM export_to_llvmexports)
  71. install(TARGETS ${name}
  72. - ${export_to_llvmexports}
  73. RUNTIME DESTINATION ${LLVM_UTILS_INSTALL_DIR}
  74. COMPONENT ${name})
  75. @@ -1402,7 +1397,6 @@ macro(add_llvm_utility name)
  76. DEPENDS ${name}
  77. COMPONENT ${name})
  78. endif()
  79. - set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
  80. elseif(LLVM_BUILD_UTILS)
  81. set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS_BUILDTREE_ONLY ${name})
  82. endif()
  83. diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake
  84. index 70c2edb8c833..e012fea08982 100644
  85. --- a/llvm/cmake/modules/TableGen.cmake
  86. +++ b/llvm/cmake/modules/TableGen.cmake
  87. @@ -189,12 +189,7 @@ macro(add_tablegen target project)
  88. if (ADD_TABLEGEN_DESTINATION AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND
  89. (LLVM_BUILD_UTILS OR ${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS))
  90. - set(export_arg)
  91. - if(ADD_TABLEGEN_EXPORT)
  92. - get_target_export_arg(${target} ${ADD_TABLEGEN_EXPORT} export_arg)
  93. - endif()
  94. install(TARGETS ${target}
  95. - ${export_arg}
  96. COMPONENT ${target}
  97. RUNTIME DESTINATION "${ADD_TABLEGEN_DESTINATION}")
  98. if(NOT LLVM_ENABLE_IDE)
  99. @@ -205,6 +200,5 @@ macro(add_tablegen target project)
  100. endif()
  101. if(ADD_TABLEGEN_EXPORT)
  102. string(TOUPPER ${ADD_TABLEGEN_EXPORT} export_upper)
  103. - set_property(GLOBAL APPEND PROPERTY ${export_upper}_EXPORTS ${target})
  104. endif()
  105. endmacro()