Remove unbundled support#33690
Conversation
ef7afef to
a07ae4e
Compare
081c5bb to
96746c6
Compare
|
The only thing that is left for now is compatibility check, by some reason fscanf is used from 2.7 I missed some bits while converting libuv-cmake, fixed now. |
It can be useful. System headers will appear later than normal headers which helps when some thirdparty's include dir introduces common header files, like libpq's |
contrib/arrow-cmake/CMakeLists.txt
Outdated
There was a problem hiding this comment.
Why do these two libs not populate their only INTERFACE_INCLUDE_DIRECTORIES so that we can use modern cmake usage requirement directly? (e.g. target_link_libraries( _arrow PRIVATE ch_contrib::flatbuffers ch_contrib::hdfs) )
There was a problem hiding this comment.
Why do these two libs not populate their only INTERFACE_INCLUDE_DIRECTORIES
They populate PUBLIC part (which is PRIVATE + INTERFACE), and only those paths, which is required for public interface.
so that we can use modern cmake usage requirement directly? (e.g. target_link_libraries( _arrow PRIVATE ch_contrib::flatbuffers ch_contrib::hdfs) )
This is indeed what is used later.
There was a problem hiding this comment.
Oh, you are talking about doing the same thing for flatbuffers, for now it is important not to use ${LIB_INCLUDE_DIR} outside of contrib since this is important (because it is easy to miss spell when variables in different files, while if everything is in one file it is more easy to do this right), everything other was leaved more or less as-is.
9ba3065 to
150c10e
Compare
|
Rebased to fix conflicts with #33742 |
|
@Mergifyio update |
✅ Branch has been successfully updated |
Apparently it tries to download unit tests too early, or what? @alesapin any clue? Worth adding an exception if ClickHouse/tests/ci/build_download_helper.py Lines 67 to 72 in dfd8d40 UPD: nevermind, fixed |
209871e to
78858f9
Compare
| fi | ||
|
|
||
| # Check that there is no system-wide libraries/headers in use. | ||
| if git grep -e find_path -e find_library -- :**CMakeLists.txt; then |
|
PVS passed. |
| set (LLVM_ENABLE_EH 1 CACHE INTERNAL "") | ||
| set (LLVM_ENABLE_RTTI 1 CACHE INTERNAL "") | ||
| set (LLVM_ENABLE_PIC 0 CACHE INTERNAL "") | ||
| set (LLVM_TARGETS_TO_BUILD "X86;AArch64" CACHE STRING "") |
There was a problem hiding this comment.
Why you build both x86 and aarch64? As I understand we have information about target and host architecture.
| # We dont use arrow's cmakefiles because they uses too many depends and download some libs in compile time | ||
| # But you can update auto-generated parquet files manually: | ||
| # cd {BUILD_DIR}/contrib/arrow/cpp/src/parquet && mkdir -p build && cd build | ||
| # cmake .. -DARROW_COMPUTE=ON -DARROW_PARQUET=ON -DARROW_SIMD_LEVEL=NONE -DARROW_VERBOSE_THIRDPARTY_BUILD=ON |
There was a problem hiding this comment.
Do you happen to remember why we disable SIMD completely? Seems like it could be useful and we could enable it in x86 and in ARM
There was a problem hiding this comment.
No, I don't remember.
One hypothesis is that it enabled too much, another hypothesis is that it didn't build.
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Remove unbundled support
Detailed description / Documentation draft:
Recently I found one more issues with unbundled builds, and instead of fixing it in particular I decided to do a global cleanup.
Note, that right now (since d604cf5), to use UNBUNDLED build you need to manually set some variables, in other words there is no more one common switch for this (so it is unlikely that someone uses it, even I don't already)
Implementation:
X_LIBRARIESinstead ofX_LIBRARY)ENABLE_LIBRARIESas default for contrib-DUSE_XXXto config file (configure_file)find_path/find_libraries(as a marker for non-bundled/system-wide libraries)Checklist:
cmake/find/*.cmakeUSE_INTERNAL_Fixes: #30598 (cc @alexey-milovidov )
Fixes: #9226