[llvm] 95537f4 - llvmbuildectomy - compatibility with ocaml bindings
via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 13 05:36:06 PST 2020
Author: serge-sans-paille
Date: 2020-11-13T14:35:52+01:00
New Revision: 95537f450814c378fcb9d446dadcabc1385a5903
URL: https://github.com/llvm/llvm-project/commit/95537f450814c378fcb9d446dadcabc1385a5903
DIFF: https://github.com/llvm/llvm-project/commit/95537f450814c378fcb9d446dadcabc1385a5903.diff
LOG: llvmbuildectomy - compatibility with ocaml bindings
Use exact component name in add_ocaml_library.
Make expand_topologically compatible with new architecture.
Fix quoting in is_llvm_target_library.
Fix LLVMipo component name.
Write release note.
Added:
Modified:
llvm/bindings/ocaml/analysis/CMakeLists.txt
llvm/bindings/ocaml/bitreader/CMakeLists.txt
llvm/bindings/ocaml/bitwriter/CMakeLists.txt
llvm/bindings/ocaml/executionengine/CMakeLists.txt
llvm/bindings/ocaml/irreader/CMakeLists.txt
llvm/bindings/ocaml/linker/CMakeLists.txt
llvm/bindings/ocaml/llvm/CMakeLists.txt
llvm/bindings/ocaml/target/CMakeLists.txt
llvm/bindings/ocaml/transforms/scalar_opts/CMakeLists.txt
llvm/bindings/ocaml/transforms/utils/CMakeLists.txt
llvm/bindings/ocaml/transforms/vectorize/CMakeLists.txt
llvm/cmake/modules/LLVM-Config.cmake
llvm/docs/ReleaseNotes.rst
llvm/lib/Transforms/IPO/CMakeLists.txt
Removed:
################################################################################
diff --git a/llvm/bindings/ocaml/analysis/CMakeLists.txt b/llvm/bindings/ocaml/analysis/CMakeLists.txt
index f8ca84ddbe33..5eb04b66a724 100644
--- a/llvm/bindings/ocaml/analysis/CMakeLists.txt
+++ b/llvm/bindings/ocaml/analysis/CMakeLists.txt
@@ -2,4 +2,4 @@ add_ocaml_library(llvm_analysis
OCAML llvm_analysis
OCAMLDEP llvm
C analysis_ocaml
- LLVM analysis)
+ LLVM Analysis)
diff --git a/llvm/bindings/ocaml/bitreader/CMakeLists.txt b/llvm/bindings/ocaml/bitreader/CMakeLists.txt
index 8d1610320e0e..d71f51c28b45 100644
--- a/llvm/bindings/ocaml/bitreader/CMakeLists.txt
+++ b/llvm/bindings/ocaml/bitreader/CMakeLists.txt
@@ -2,4 +2,4 @@ add_ocaml_library(llvm_bitreader
OCAML llvm_bitreader
OCAMLDEP llvm
C bitreader_ocaml
- LLVM bitreader)
+ LLVM BitReader)
diff --git a/llvm/bindings/ocaml/bitwriter/CMakeLists.txt b/llvm/bindings/ocaml/bitwriter/CMakeLists.txt
index 5a14498cb07e..6462d65c8669 100644
--- a/llvm/bindings/ocaml/bitwriter/CMakeLists.txt
+++ b/llvm/bindings/ocaml/bitwriter/CMakeLists.txt
@@ -2,4 +2,4 @@ add_ocaml_library(llvm_bitwriter
OCAML llvm_bitwriter
OCAMLDEP llvm
C bitwriter_ocaml
- LLVM bitwriter)
+ LLVM BitWriter)
diff --git a/llvm/bindings/ocaml/executionengine/CMakeLists.txt b/llvm/bindings/ocaml/executionengine/CMakeLists.txt
index ae9af088c025..0b1428aac1b8 100644
--- a/llvm/bindings/ocaml/executionengine/CMakeLists.txt
+++ b/llvm/bindings/ocaml/executionengine/CMakeLists.txt
@@ -2,5 +2,5 @@ add_ocaml_library(llvm_executionengine
OCAML llvm_executionengine
OCAMLDEP llvm llvm_target
C executionengine_ocaml
- LLVM executionengine mcjit native
+ LLVM ExecutionEngine MCJIT native
PKG ctypes)
diff --git a/llvm/bindings/ocaml/irreader/CMakeLists.txt b/llvm/bindings/ocaml/irreader/CMakeLists.txt
index 87d269b48c7a..5654b1803409 100644
--- a/llvm/bindings/ocaml/irreader/CMakeLists.txt
+++ b/llvm/bindings/ocaml/irreader/CMakeLists.txt
@@ -2,4 +2,4 @@ add_ocaml_library(llvm_irreader
OCAML llvm_irreader
OCAMLDEP llvm
C irreader_ocaml
- LLVM irreader)
+ LLVM IRReader)
diff --git a/llvm/bindings/ocaml/linker/CMakeLists.txt b/llvm/bindings/ocaml/linker/CMakeLists.txt
index b6bc8ac1e830..3bb367225784 100644
--- a/llvm/bindings/ocaml/linker/CMakeLists.txt
+++ b/llvm/bindings/ocaml/linker/CMakeLists.txt
@@ -2,4 +2,4 @@ add_ocaml_library(llvm_linker
OCAML llvm_linker
OCAMLDEP llvm
C linker_ocaml
- LLVM linker)
+ LLVM Linker)
diff --git a/llvm/bindings/ocaml/llvm/CMakeLists.txt b/llvm/bindings/ocaml/llvm/CMakeLists.txt
index db7aee2adff9..99ef1cbff233 100644
--- a/llvm/bindings/ocaml/llvm/CMakeLists.txt
+++ b/llvm/bindings/ocaml/llvm/CMakeLists.txt
@@ -1,7 +1,7 @@
add_ocaml_library(llvm
OCAML llvm
C llvm_ocaml
- LLVM core support)
+ LLVM Core Support)
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/META.llvm.in"
diff --git a/llvm/bindings/ocaml/target/CMakeLists.txt b/llvm/bindings/ocaml/target/CMakeLists.txt
index adee0fcec659..6e01a27a200b 100644
--- a/llvm/bindings/ocaml/target/CMakeLists.txt
+++ b/llvm/bindings/ocaml/target/CMakeLists.txt
@@ -2,4 +2,4 @@ add_ocaml_library(llvm_target
OCAML llvm_target
OCAMLDEP llvm
C target_ocaml
- LLVM target)
+ LLVM Target)
diff --git a/llvm/bindings/ocaml/transforms/scalar_opts/CMakeLists.txt b/llvm/bindings/ocaml/transforms/scalar_opts/CMakeLists.txt
index 98c7c6861d2b..d680b02046c6 100644
--- a/llvm/bindings/ocaml/transforms/scalar_opts/CMakeLists.txt
+++ b/llvm/bindings/ocaml/transforms/scalar_opts/CMakeLists.txt
@@ -2,4 +2,4 @@ add_ocaml_library(llvm_scalar_opts
OCAML llvm_scalar_opts
OCAMLDEP llvm
C scalar_opts_ocaml
- LLVM scalaropts)
+ LLVM Scalar)
diff --git a/llvm/bindings/ocaml/transforms/utils/CMakeLists.txt b/llvm/bindings/ocaml/transforms/utils/CMakeLists.txt
index 37f3eb7d8eca..920ed793bced 100644
--- a/llvm/bindings/ocaml/transforms/utils/CMakeLists.txt
+++ b/llvm/bindings/ocaml/transforms/utils/CMakeLists.txt
@@ -2,4 +2,4 @@ add_ocaml_library(llvm_transform_utils
OCAML llvm_transform_utils
OCAMLDEP llvm
C transform_utils_ocaml
- LLVM transformutils)
+ LLVM TransformUtils)
diff --git a/llvm/bindings/ocaml/transforms/vectorize/CMakeLists.txt b/llvm/bindings/ocaml/transforms/vectorize/CMakeLists.txt
index af0ffce563f6..47af23928ccb 100644
--- a/llvm/bindings/ocaml/transforms/vectorize/CMakeLists.txt
+++ b/llvm/bindings/ocaml/transforms/vectorize/CMakeLists.txt
@@ -2,4 +2,4 @@ add_ocaml_library(llvm_vectorize
OCAML llvm_vectorize
OCAMLDEP llvm
C vectorize_ocaml
- LLVM vectorize)
+ LLVM Vectorize)
diff --git a/llvm/cmake/modules/LLVM-Config.cmake b/llvm/cmake/modules/LLVM-Config.cmake
index 5a79fc10552e..ebe13e7fc31c 100644
--- a/llvm/cmake/modules/LLVM-Config.cmake
+++ b/llvm/cmake/modules/LLVM-Config.cmake
@@ -28,7 +28,7 @@ function(is_llvm_target_library library return_var)
string(TOUPPER "${LLVM_TARGETS_TO_BUILD}" targets)
elseif(ARG_OMITTED_TARGETS)
set(omitted_targets ${LLVM_ALL_TARGETS})
- list(REMOVE_ITEM omitted_targets "${LLVM_TARGETS_TO_BUILD}")
+ list(REMOVE_ITEM omitted_targets ${LLVM_TARGETS_TO_BUILD})
string(TOUPPER "${omitted_targets}" targets)
else()
string(TOUPPER "${LLVM_ALL_TARGETS}" targets)
@@ -302,14 +302,26 @@ function(expand_topologically name required_libs visited_libs)
list(APPEND visited_libs ${name})
set(visited_libs ${visited_libs} PARENT_SCOPE)
- get_property(lib_deps GLOBAL PROPERTY LLVMBUILD_LIB_DEPS_${name})
+ #
+ get_property(libname GLOBAL PROPERTY LLVM_COMPONENT_NAME_${name})
+ if(libname)
+ set(cname LLVM${libname})
+ elseif(TARGET ${name})
+ set(cname ${name})
+ elseif(TARGET LLVM${name})
+ set(cname LLVM${name})
+ else()
+ message(FATAL_ERROR "unknown component ${name}")
+ endif()
+
+ get_property(lib_deps TARGET ${cname} PROPERTY LLVM_LINK_COMPONENTS)
foreach( lib_dep ${lib_deps} )
expand_topologically(${lib_dep} "${required_libs}" "${visited_libs}")
set(required_libs ${required_libs} PARENT_SCOPE)
set(visited_libs ${visited_libs} PARENT_SCOPE)
endforeach()
- list(APPEND required_libs ${name})
+ list(APPEND required_libs ${cname})
set(required_libs ${required_libs} PARENT_SCOPE)
endif()
endfunction()
diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst
index a5117493bc4e..ac6aecc2abdf 100644
--- a/llvm/docs/ReleaseNotes.rst
+++ b/llvm/docs/ReleaseNotes.rst
@@ -74,6 +74,13 @@ Changes to the LLVM IR
Changes to building LLVM
------------------------
+* The internal ``llvm-build`` Python script and the associated ``LLVMBuild.txt``
+ files used to describe the LLVM component structure have been removed and
+ replaced by a pure ``CMake`` approach, where each component stores extra
+ properties in the created targets. These properties are processed once all
+ components are defined to resolve library dependencies and produce the header
+ expected by llvm-config.
+
Changes to TableGen
-------------------
diff --git a/llvm/lib/Transforms/IPO/CMakeLists.txt b/llvm/lib/Transforms/IPO/CMakeLists.txt
index c391454c5528..4874f7224fd2 100644
--- a/llvm/lib/Transforms/IPO/CMakeLists.txt
+++ b/llvm/lib/Transforms/IPO/CMakeLists.txt
@@ -47,7 +47,7 @@ add_llvm_component_library(LLVMipo
omp_gen
COMPONENT_NAME
- ipo
+ IPO
LINK_COMPONENTS
AggressiveInstCombine
More information about the llvm-commits
mailing list