Commit Graph

1492 Commits

Author SHA1 Message Date
Alexey Milovidov
252627ea8c Refuse anything other than LLD 2023-09-26 21:34:32 +02:00
Robert Schulze
cbcff6ef08
Merge remote-tracking branch 'rschu1ze/master' into clang-17 2023-09-20 09:15:58 +00:00
Mikhail f. Shiryaev
4882b99715
Merge pull request #54310 from ClickHouse/ci-libfuzzer-integration
CI: libFuzzer integration
2023-09-20 10:01:39 +02:00
Robert Schulze
3a3a00f95e
Bump minimal required compiler to Clang 16 2023-09-18 17:44:04 +00:00
Yakov Olkhovskiy
46fa7dbb80 add libFuzzer build on 'libFuzzer' label, build produces artifacts 2023-09-17 16:28:50 +00:00
Alexey Milovidov
aac974b38d Fix strange message 2023-09-11 05:35:15 +02:00
Boris Kuschel
3d4ab810b0
User correct target tripget triple 2023-09-06 13:45:35 -07:00
Alexey Milovidov
f8c2ea986d Update autogenerated version to 23.9.1.1 and contributors 2023-09-01 17:46:49 +02:00
Amos Bird
c0f8a50e15
Avoid linking duplicate archives.
Or else libglibc-compatibility.a and libmemcpy.a will be listed twice.
2023-08-24 17:26:34 +08:00
Alexey Milovidov
a23d89779d
Update target.cmake 2023-08-22 14:26:25 +03:00
Amos Bird
a159376a96
Also check processor 2023-08-22 10:38:03 +08:00
Amos Bird
601b61d00f
Better cross compiling flag 2023-08-21 18:05:52 +08:00
Amos Bird
076a67bdaa
Consistent file management in CMake 2023-08-21 11:45:08 +08:00
Yakov Olkhovskiy
bcbd43ed5f disable rust 2023-08-12 02:04:13 +00:00
Yakov Olkhovskiy
c98e38611f path to libc 2023-08-10 23:36:47 +00:00
Yakov Olkhovskiy
b9638c6387 path to libc 2023-08-10 22:16:30 +00:00
Yakov Olkhovskiy
cda633a1f6 different linker 2023-08-10 15:48:51 +00:00
Yakov Olkhovskiy
a9b760a15b different linker 2023-08-10 00:40:06 +00:00
Yakov Olkhovskiy
087cc5bfed different linker 2023-08-09 23:18:27 +00:00
Yakov Olkhovskiy
2802508c07 different linker 2023-08-09 22:27:49 +00:00
Yakov Olkhovskiy
0498b48c70 different linker 2023-08-09 21:01:58 +00:00
Yakov Olkhovskiy
535450a050 different linker? 2023-08-09 18:40:00 +00:00
Alexey Milovidov
4d27cf4386 Proper stripping 2023-07-30 02:11:32 +02:00
Alexey Milovidov
abf058c87d Merge branch 'master' into no-export-dynamic 2023-07-30 01:49:12 +02:00
Alexey Milovidov
671128140d Update autogenerated version to 23.8.1.1 and contributors 2023-07-27 15:34:05 +02:00
Alexey Milovidov
da0a332d46 Keep symtab 2023-07-24 18:09:38 +02:00
Alexey Milovidov
4170d1458b Use incbin for resources, part 2 2023-07-23 06:11:03 +02:00
Robert Schulze
1dbc88630d
Cosmetics 2023-07-17 17:10:08 +00:00
Robert Schulze
8f8cb5eb82
Update cmake/limit_jobs.cmake
Co-authored-by: János Benjamin Antal <antaljanosbenjamin@users.noreply.github.com>
2023-07-17 15:48:12 +02:00
Robert Schulze
a2e63404b3
Further simplify logic 2023-07-17 12:01:41 +00:00
Robert Schulze
96c399ff7b
Simplify a bit further 2023-07-17 11:58:18 +00:00
Robert Schulze
8f1e56167c
NUMBER_OF_TOTAL_CORES is on all platforms != 0 2023-07-17 11:53:12 +00:00
Robert Schulze
7204f70547
cmake_host_system_information provides TOTAL_PHYSICAL_MEMORY on all platforms, including FreeBSD 2023-07-17 11:52:23 +00:00
Robert Schulze
10c15a6548
Refactor limit_jobs.cmake 2023-07-17 11:37:34 +00:00
Alexey Milovidov
1a5ae9899d
Merge pull request #51710 from velavokr/velavokr-warn-cpu-utilization
A cmake warning on job limits underutilizing CPU
2023-07-09 08:47:01 +03:00
Azat Khuzhin
a10aa9ad50 Force libunwind usage (removes gcc_eh support)
libunwind is reentrant and signal safe, and works faster then then
gcc_eh (plus it has some custom patches for problems that have been
found during it's usage in ClickHouse).

gcc_eh may be missing in the system (if gcc was not installed), and
even if it exists clickhouse uses -nodefaultlibs, so some care should be
made to make it work.

Also this library is tiny and there shouln't be any problem to require
it always (there is already tendency to require some contrib libraries,
i.e. poco).

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-07-08 20:55:50 +02:00
Alexey Milovidov
98da25f1d3 Fix build 2023-07-06 01:17:41 +02:00
Alexey Milovidov
1eafba60d2 Merge branch 'master' into riscv-in-ci 2023-07-04 21:28:05 +02:00
velavokr
711d8db644 better wording 2023-07-03 16:00:31 +03:00
velavokr
fd545deba0 added a warning on autocalculated parallelizm limits underutilizing CPU cores 2023-07-03 16:00:31 +03:00
Alexey Milovidov
5ee7f47b03 Update autogenerated version to 23.7.1.1 and contributors 2023-06-30 17:09:56 +02:00
Alexey Milovidov
bc2af59278 Update autogenerated version to 23.6.1.1 and contributors 2023-06-09 13:38:30 +02:00
cmsxbc
4bb44c7c72
1. skip extract darwin toolchain in builder when uncessary
2. update MacOSX SDK version in toolchain readme to match in builder
2023-06-04 23:06:21 +08:00
Robert Schulze
4d06246cd4
Merge branch 'master' into clean-out-msan-suppression 2023-05-22 17:25:29 +02:00
Amos Bird
6b4dcbd3ed
Use PROJECT_*_DIR instead of CMAKE_*_DIR. 2023-05-18 23:23:39 +08:00
Robert Schulze
c28bb963b5
Remove -fsanitize-blacklist 2023-05-13 15:48:36 +00:00
Azat Khuzhin
a0cc5b7e47 Merge remote-tracking branch 'u/master' into build/llvm-16 2023-05-10 16:28:36 +02:00
Azat Khuzhin
184efcb77a Get back -fno-sanitize-address-use-after-scope quirk for llvm/clang-15
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-05-09 20:35:43 +02:00
Azat Khuzhin
8cfe0eb3f2 Do not change CMAKE_EXE_LINKER_FLAGS_INIT in toolchains
Otherwise check in PreLoad.cmake will throw.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-05-09 10:33:37 +02:00
Azat Khuzhin
e278081344 Revert "Merge pull request #43195 from ClickHouse/workaround-for-llvm-bug"
With clang 16 this workaround should not be required anymore.

This reverts commit 992729f3c0, reversing
changes made to d885b3cc4c.
2023-05-08 22:54:04 +02:00
Azat Khuzhin
cf987db8f6 Disable .debug_aranges workaround under ThinLTO for clang/llvm 16
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-05-08 22:54:04 +02:00
Robert Schulze
e275da1d31
Remove deprecated logic for ccache 2023-05-07 15:41:56 +00:00
Alexey Milovidov
5b8b3c04bf
Merge pull request #49224 from ClickHouse/rs/cmake-gnu
CMake: Remove some GCC-specific code
2023-04-27 14:44:20 +03:00
Alexey Milovidov
7333e964bc Update autogenerated version to 23.5.1.1 and contributors 2023-04-27 01:40:57 +02:00
Robert Schulze
150ea22a12
CMake: Remove dead code paths 2023-04-26 19:40:59 +00:00
alesapin
bb21461145 Try to fix with pie 2023-04-25 15:45:23 +02:00
Robert Schulze
a1ff8a0679
Remove the obvious 2023-04-11 16:27:32 +00:00
Robert Schulze
1477887259
Initial removal of logic under COMPILER_GCC 2023-04-11 16:27:32 +00:00
Alexey Milovidov
dd79bf0a03 Update autogenerated version to 23.4.1.1 and contributors 2023-03-31 12:20:50 +02:00
Mikhail f. Shiryaev
7ff582b963
Deprecate ENABLE_CCACHE and replace it by COMPILER_CACHE 2023-03-29 23:33:31 +02:00
Mikhail f. Shiryaev
e1531688bc
Add sccache to cmake configuration 2023-03-29 23:33:24 +02:00
Robert Schulze
1845bfc644
Revert change to ld64.lld linker on Mac
This reverts PRs #42470, #47673 and #47744. The problem was that after
the switch to ld64.lld, server binaries build in Debug mode no longer
came up, see the discussion after (*). My attempt to fix it with
`-no_compact_unwind` didn't help.

I also tried
- `-keep_dwarf_unwind`,
- `-unwindlib` (to use the OS unwinder),
- the unwinder in contrib (CMake variable EXCEPTION_HANDLING_LIBRARY)
but w/o success. Just tons of wasted time.

Rolling back to lld as linker on Mac. This will bring back many linker
warnings (#42282) but I rather accept that (temporarily, maybe someone
can figure out how to fix them) than have a broken Debug binary.

(*) https://github.com/ClickHouse/ClickHouse/pull/42470#issuecomment-1312344068
2023-03-27 15:26:54 +02:00
Robert Schulze
5d5308e060
CMake cleanup: Remove configuration of CMAKE_SHARED_LINKER_FLAGS
Follow-up to #44828
2023-03-26 17:59:39 +00:00
Alexey Milovidov
4f33033b4d
Merge pull request #47673 from ClickHouse/rs/restore-mac-build
Restore native macos build
2023-03-20 04:27:22 +03:00
Robert Schulze
0e01e912fe
Preparation for libcxx(abi), llvm, clang-tidy 16 2023-03-19 17:25:41 +00:00
Robert Schulze
67ebad488f
Small refactoring of linker selection code 2023-03-19 18:16:20 +01:00
Robert Schulze
f72a337074
Remove cruft from build
No need to check compiler flags, clang >= 15 supports all of them.
2023-03-17 13:44:04 +00:00
Robert Schulze
bf99d624e7
cmake: remove support for gold linker
It's dead since 5+ years.
2023-03-16 21:16:13 +00:00
Alexey Milovidov
97c0f8a0e0
Merge pull request #47027 from amosbird/clang16
Prepare to build with clang 16
2023-03-02 02:10:03 +03:00
Robert Schulze
ac7caace8a
Update comments 2023-03-01 09:34:46 +00:00
Amos Bird
7b4f489837
Update flags 2023-02-28 22:45:33 +08:00
Robert Schulze
c78e99eb56
ARM: Activate LDAPR with -march flag instead via -XClang
The `-XClang ... -Xclang ...` flag is internal, undocumented and also
needs `-Wno-unused-command-line-argument`. Enable LDAPR instructions on
ARM via "official" -march. For more informations, see

- https://developer.arm.com/documentation/101754/0619/armclang-Reference/armclang-Command-line-Options/-march?_ga=2.24245759.493510493.1644226748-1698312558.1644226748
- https://developer.arm.com/documentation/dui0801/g/A64-Data-Transfer-Instructions/LDAPR?lang=en
2023-02-27 12:46:58 +00:00
Robert Schulze
db3fbc871c
Merge pull request #46803 from ClickHouse/rs/cmake-too-old-arm
CMake: Add best effort checks that the build machine isn't too old
2023-02-26 20:28:53 +01:00
Robert Schulze
c34b4c8ed1
Fix grammar 2023-02-24 09:43:02 +00:00
Robert Schulze
032dae5d29
Quick-n-dirty --> best effort 2023-02-24 09:41:02 +00:00
Robert Schulze
329abe28ba
Same check for x86 2023-02-24 09:38:32 +00:00
Robert Schulze
2f47046fe1
CMake: Add quick-n-dirty check that the build machine isn't too old 2023-02-23 23:05:55 +00:00
Antonio Andelic
1efba8995d Update version to 23.3.1.2537 2023-02-23 19:35:57 +00:00
Robert Schulze
16d61832fb
Bump minimum required Clang from 12 to 15
Needed due to https://github.com/ClickHouse/ClickHouse/pull/46247#discussion_r1109855435
2023-02-22 10:03:08 +00:00
bkuschel
55e9322612 Fixes for OpenSSL and s390x 2023-02-17 16:20:21 -05:00
Suzy Wang
64313d7020
Merge branch 'master' into z-build-0120 2023-02-09 14:49:22 -05:00
Suzy Wang
716d2c4ffb Update as suggested 2023-02-02 20:41:06 +00:00
Mikhail f. Shiryaev
53d89844be
Update version to 23.2.1.1 2023-01-25 23:57:29 +01:00
Dmitry Novik
94abb84d0d Fix version in autogenerated_versions.txt 2023-01-25 18:58:40 +00:00
Suzy Wang
19d26828a0 s390x build support 2023-01-20 21:16:55 +00:00
Alexey Milovidov
3a027d285f
Merge pull request #44828 from ClickHouse/remove-two-lines-of-code
What if I will remove two lines of code?
2023-01-04 04:50:52 +03:00
Robert Schulze
27f5aad49e
What happens if I remove 156 lines of code? 2023-01-03 18:51:16 +00:00
Robert Schulze
d67a3b9faa
Document usage of check_cxx_source_compiles instead of check_cxx_source_runs
Cf. #42754
2023-01-02 22:20:20 +00:00
Robert Schulze
44fa78e742
Merge pull request #44122 from azat/build/toolchain-quirks
Avoid loading toolchain files multiple times
2022-12-16 10:22:52 +01:00
Mikhail f. Shiryaev
8a145f7000
Update version to 22.13.1.1 2022-12-15 18:00:42 +01:00
Azat Khuzhin
3505b5a10b Avoid loading toolchain files multiple times
Previously, in #39387, this protection had been added only for linux x86_64.

And use include_guard() instead of manual if()+set().

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-12-13 10:38:23 +01:00
Alexey Milovidov
9a48cf0da8
Merge pull request #40422 from pkubaj/patch-1
Add FreeBSD/powerpc64le support
2022-12-11 09:38:04 +03:00
Robert Schulze
eba6a79afa
Merge pull request #43863 from ClickHouse/faster-clang-tidy
Temporarily disable misc-* slow clang-tidy checks
2022-12-08 13:19:03 +01:00
Robert Schulze
8eb4e22d80
Prefer recent clang-tidy over old-ish system clang-tidy 2022-12-07 11:43:42 +00:00
Nikolay Degterinsky
bfccdb130e
Small typo 2022-12-07 00:43:37 +01:00
Nikolay Degterinsky
57ca6ad60b
Make massages about GCC fatal 2022-12-07 00:40:41 +01:00
Alexey Milovidov
75dbd6828a
Merge pull request #43082 from Algunenano/werror_base
Add global flags to base/ libraries
2022-11-22 19:18:44 +01:00
Alexey Milovidov
f42be5ffd3
Merge pull request #43275 from azat/build/sanitize-targets
Sanitize thirdparty libraries for public flags
2022-11-22 19:18:26 +01:00
Mikhail f. Shiryaev
f942ab1bd2
Update version to 22.12.1.1 2022-11-17 22:15:12 +01:00
Azat Khuzhin
c3f3078884 Sanitize thirdparty libraries for public flags
Public flags, especially -Wxx (i.e. -Wno-XX) can hide some warnings,
that had been added in the main cmake rules of ClickHouse.

This patch had been tested manually with the following patch:

    ```patch
    diff --git a/contrib/jemalloc-cmake/CMakeLists.txt b/contrib/jemalloc-cmake/CMakeLists.txt
    index d5ea69d4926..7e79fba0c16 100644
    --- a/contrib/jemalloc-cmake/CMakeLists.txt
    +++ b/contrib/jemalloc-cmake/CMakeLists.txt
    @@ -158,6 +158,7 @@ target_include_directories(_jemalloc SYSTEM PRIVATE
         "${CMAKE_CURRENT_BINARY_DIR}/${JEMALLOC_INCLUDE_PREFIX}/jemalloc/internal")

     target_compile_definitions(_jemalloc PRIVATE -DJEMALLOC_NO_PRIVATE_NAMESPACE)
    +target_compile_options(_jemalloc INTERFACE -Wno-error) # also PUBLIC had been checked

     if (CMAKE_BUILD_TYPE_UC STREQUAL "DEBUG")
         target_compile_definitions(_jemalloc PRIVATE
    ```

And cmake gave:

    CMake Error at cmake/sanitize_targets.cmake:69 (message):
      _jemalloc set INTERFACE_COMPILE_OPTIONS to -Wno-error.  This is forbidden.
    Call Stack (most recent call first):
      cmake/sanitize_targets.cmake:79 (sanitize_interface_flags)
      CMakeLists.txt:595 (include)

Fixes: #12447
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-11-16 07:20:24 +01:00