Robert Schulze
b27e6cfed2
Strip less aggressively to make the embedded hash survive
...
- It was noticed that in (*), the crashstack says "There is no
information about the reference checksum."
- The binaries are pulled via docker hub and upon inspection they indeed
lack the hash embedded as ELF section ".note.ClickHouse.hash" in the
clickhouse binary. This is weird because docker hub images are
"official" builds which should trigger the hash embedding.
- Turns out that the docker hub binaries are also stripped which was too
aggressive. We now no longer remove sections ".comment" and ".note"
which are anyways only 140 bytes in size, i.e. binary size still goes
down (on my stystem) from 2.1 GB to 0.47 + 0.40 GB binary + dbg info.
(*) https://playground.lodthe.me/ba75d494-95d1-4ff6-a0ad-60c138636c9b
2022-06-10 18:33:55 +02:00
Wangyang Guo
0cd2a6b9c3
Add ENABLE_AVX512_VBMI build flag
2022-06-06 13:45:25 +08:00
Alexey Milovidov
74f5301225
Merge pull request #37379 from azat/fix-debug-symbols
...
Fix debug symbols in packages
2022-05-22 00:19:34 +03:00
Alexander Gololobov
692c19b80d
Merge pull request #37369 from ClickHouse/fix_eigen_build
...
Fixes for eigen library build
2022-05-20 23:39:31 +02:00
Azat Khuzhin
6b7dd76fac
Fix debug symbols in packages
...
- before: usr/lib/debug/usr/bin/clickhouse.debug/clickhouse.debug
- after : usr/lib/debug/usr/bin/clickhouse.debug
Note, clickhouse_make_empty_debug_info_for_nfpm() is fine.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-05-20 17:39:27 +03:00
Robert Schulze
b475fbc9a7
Merge pull request #37300 from ClickHouse/cmake-cleanup-pt3
...
Various cmake cleanups
2022-05-20 10:02:36 +02:00
Robert Schulze
9b0acaa0ca
Update cmake/ccache.cmake
...
Co-authored-by: Azat Khuzhin <a3at.mail@gmail.com>
2022-05-20 09:57:25 +02:00
Robert Schulze
7c0e467b05
Small update of comment for SOURCE_DATE_EPOCH workaround
2022-05-20 09:46:19 +02:00
Alexander Gololobov
4350935377
Re-enable SSE2 for PowerPC
2022-05-20 08:51:48 +02:00
Alexey Milovidov
7c9df33bf8
Update warnings.cmake
2022-05-20 03:12:44 +03:00
Mikhail f. Shiryaev
d0fe794fe5
Update version to 22.6.1.1
2022-05-19 10:06:09 +02:00
Robert Schulze
b48cd13c07
Remove unused file
2022-05-18 22:25:34 +02:00
Robert Schulze
45463c27cc
Update cmake/ccache.cmake
...
Co-authored-by: Azat Khuzhin <a3at.mail@gmail.com>
2022-05-18 12:43:43 +02:00
Robert Schulze
6ce8947417
GLOB with CONFIGURE_DEPENDS
...
Globbing generally misses to pick up files which were added/deleted
after CMake's configure. This is a nuissance but can be alleviated using
CONFIGURE_DEPENDS (available since CMake 3.12) which adds a check for
new/deleted files before each compile and - if necessary - restarts the
configuration. On my system, the check takes < 0.1 sec.
(Side note: CONFIGURE_DEPENDS is not guaranteed to work accross all
generators, but at least it works for Ninja which everyone @CH seems to
use.)
2022-05-18 10:34:10 +02:00
Robert Schulze
30a01506ed
Remove weird check for not-Clang
...
The check activated ccache unconditionally for all non-Clang compilers
(= GCC) while allowing ancient ccache versions for these. Perhaps there
was a reason for that in the past but it's simpler to only require a
minimum ccache version.
To simplify further, also require at least ccache 3.3 (released in 2016)
instead of 3.2.1 (released in 2014).
2022-05-17 20:38:54 +02:00
Robert Schulze
4aff310a1c
Made the ccache integration more straightforward
...
The new logic is simpler and should do the same as before.
2022-05-17 20:38:54 +02:00
Robert Schulze
92259335b0
Use existing variable COMPILER_CLANG to identify Clang
2022-05-17 19:35:22 +02:00
Robert Schulze
6db32a3ed1
Fix externally set compiler launchers
...
The compiler launcher (ccache, distcc) can be set externally via
-DCMAKE_CXX_COMPILER_LAUNCHER=<tool>. We previously silently ignored
this setting and continued without any launcher (e.g. ccache). Changed
this to now respect the externally specified launcher.
2022-05-17 19:28:05 +02:00
Robert Schulze
c0a4af295c
Cosmetics
2022-05-17 19:06:13 +02:00
Robert Schulze
34af1cb116
Throw option WEVERYTHING out
...
WEVERYTHING enables on Clang literally every warning. People on the
internet are divided if this is a good thing or not but ClickHouse
compiles with -Weverything + some exceptions for noisy warnings since at
least a year.
I tried to build with WEVERYTHING = OFF and the build was badly broken.
It seems nobody actually turns WEVERYTHING off. Actually, why would one
if the CI builds (configured with WEVERYTHING = ON) potentially generate
errors not generated in local development.
To simplify the build scripts and to remove the need to maintain two
sets of compiler warnings, I made WEVERYTHING the default and threw
WEVERYTHING = OFF out.
2022-05-17 15:52:53 +02:00
Robert Schulze
95d28973aa
Cosmetics
2022-05-15 16:07:10 +02:00
Robert Schulze
28ae7ad9c6
Print used linker always and not only on Linux
2022-05-15 16:07:10 +02:00
Robert Schulze
7000bdb3e8
Remove condition which is always true
2022-05-15 16:07:10 +02:00
Robert Schulze
7c11f41038
Removed funny objcopy/strip finding logic on Apple
...
On Darwin, the build script tries to
1. use llvm-objcopy/llvm-strip from $PATH,
2. if not found by 1., use standard objcopy/strip from $PATH
The brew install instructions recommends to set $PATH to brew's binary
dir, so 2. will find something (assuming binutils is installed from
brew). If $PATH additionally points to brew's LLVM binary dir (which is
different from brew's binary dir), 1. will find the llvm versions of the
tools.
This commit removes additional logic which repeats above steps in a more
implicit way by calling brew internally and figuring out the paths once
more if 1. and 2. cannot find them in the $PATH. This removes
duplication and simplifies the script. Maybe it even helps with
reproducibility.
2022-05-15 16:06:54 +02:00
Robert Schulze
9add41efce
Log locations of ar, ranlib and install-name-tool
...
Makes the output consistent with other build tools
2022-05-15 16:04:32 +02:00
Robert Schulze
a982e95caf
Harmonize and clarify error messasges
2022-05-15 16:04:32 +02:00
Robert Schulze
d505bcd510
Bump AppleClang to 12.0
...
- previous XCode 10.2 / Clang 7.0 was horribly outdated
- XCode 12.0 corresponds to the minimally required vanilla Clang version 12.0
- remove passing of "-fchar8_t" flag (with Clang >= 9, it is part of -std=c++20)
2022-05-15 16:04:32 +02:00
Robert Schulze
ef6138a2ee
Extract minimum compiler versions
2022-05-15 16:04:32 +02:00
Robert Schulze
ce50a1531f
Abort if unsupported compiler
2022-05-15 16:04:32 +02:00
Robert Schulze
3a5c16ebbd
Fail in systems with unknown CMAKE_SYSTEM_NAME
2022-05-15 09:48:54 +02:00
Robert Schulze
e06db56c67
Move ppc cpu features out of the x86 block
2022-05-15 09:48:48 +02:00
Robert Schulze
3eb964a9f5
Simplify: Move warnings stuff into cmake/warnings.cmake
2022-05-15 09:48:03 +02:00
Robert Schulze
48e8c6185c
Remove unused check for -Wshadow
...
Looks like an unused leftover
2022-05-15 09:48:03 +02:00
Robert Schulze
0795b8cdb1
Fix check if ccache is already setup
2022-05-15 09:48:02 +02:00
Robert Schulze
eb9f11da3d
Replace variable ARCH_ARM by ARCH_AARCH64
...
Both are equivalent and removing the duplication was a leftover of PR #36614
2022-05-15 09:48:02 +02:00
Alexander Gololobov
1dc3d04837
Removed __SSE2__ flag for PPC64
2022-05-12 16:20:19 +02:00
Robert Schulze
a9215214b7
Remove switches for obsolete GCC version
...
GCC_MINIMUM_VERSION is 11 --> remove special logic for earlier GCCs.
2022-04-30 20:33:20 +02:00
Robert Schulze
718a173ce9
Merge remote-tracking branch 'origin/master' into clang-tidy-cleanup
...
Conflicts:
- cmake/clang_tidy.cmake
2022-04-26 09:42:47 +02:00
Robert Schulze
15e75e79e4
analysis.cmake --> clang_tidy.cmake
2022-04-26 09:41:56 +02:00
Alexey Milovidov
c8612d2ed6
Merge pull request #36612 from rschu1ze/ancient-cmake-cleanup
...
Ancient cmake version cleanup
2022-04-26 09:26:22 +03:00
Alexey Milovidov
29b286a887
Merge pull request #36614 from rschu1ze/robust-arch-detection
...
Make arch detection more robust
2022-04-26 09:24:54 +03:00
Robert Schulze
62aba875f5
Make arch detection more robust
...
- Properly handle the case that we are on an unsupported but unlisted
arch, e.g. mips. Before, we would simply continue
configuration/compilation with no architecture set.
- CMake variable "ARCH_ARM" could in theory be replaced by
"ARCH_AARCH64". This would need refactoring in dependent CMakeLists,
therefore not doing it now.
2022-04-25 13:08:17 +02:00
Robert Schulze
730ce1806c
Simplify using RECONFIGURE_MESSAGE_LEVEL
...
The behavior stays the same, but we are using the same logic that is
used elsewhere too.
2022-04-25 12:56:57 +02:00
Robert Schulze
c33d66a31a
Sync allowed clang-tidy versions with documentation
2022-04-25 12:56:21 +02:00
Robert Schulze
2b3340861b
Remove support for ancient CMake
...
The first line in CMakeLists.txt says the minimum CMake version is
3.14. Therefore removing special code for earlier CMake versions.
2022-04-25 12:48:24 +02:00
Alexey Milovidov
380f1a0052
Limit PowerPC code generation to Power8
2022-04-22 06:26:40 +02:00
Mikhail f. Shiryaev
5997d7af60
Update version to 22.5.1.1
2022-04-21 17:39:40 +02:00
bharatnc
6b07105de6
fix typo in cmake message
2022-04-11 22:38:23 -07:00
alesapin
b838a7dcb0
Remove outdated links from CI
2022-03-28 15:53:22 +02:00
Mikhail f. Shiryaev
572b15a63c
Fix paths and some cmake typos
2022-03-24 23:11:19 +01:00
Mikhail f. Shiryaev
81b2e0bfd9
Fix multiple installation, use a final path for gnu-debuglink
2022-03-23 23:15:08 +01:00
alesapin
9e6f0ae9f2
Fix strip path
2022-03-23 18:44:09 +01:00
alesapin
e790a73081
Simplify strip for new packages
2022-03-23 15:14:30 +01:00
alesapin
d2e10cfa87
Strip like dh_strip
2022-03-22 11:11:39 +01:00
alesapin
a2efb1c2fa
Strip in a different way
2022-03-22 11:11:39 +01:00
Mikhail f. Shiryaev
1d362796df
Fix strip bug
2022-03-22 11:10:02 +01:00
Mikhail f. Shiryaev
22bf232325
Update version to 22.4.1.1
2022-03-17 16:53:06 +01:00
alesapin
fe8df7128e
Add comment
2022-03-10 22:29:18 +01:00
alesapin
d4def2c6c9
Remove comment
2022-03-10 22:26:01 +01:00
alesapin
e53578910b
Add ability to strip binaries in cmake
2022-03-10 22:23:28 +01:00
Robert Schulze
ec6e58536f
Print number of available logical cores in configuration
...
Really just for convenience so the developer can choose appropriate
values for CMake options PARALLEL_COMPILE_JOBS and PARALLEL_LINK_JOBS.
Might also help to find out why builds are slow.
2022-03-01 21:24:22 +01:00
Mikhail f. Shiryaev
ddc0939a4b
Update version to 22.3.1.1
2022-02-17 11:21:11 +01:00
Azat Khuzhin
b90cf4e7ff
Move cmake/find/ccache.cmake -> cmake/ccache.cmake
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-31 16:01:19 +03:00
Azat Khuzhin
116af7dfb9
Move cmake/find/unwind.cmake -> cmake/unwind.cmake
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-31 16:01:12 +03:00
Azat Khuzhin
3e5ad1a138
Move cmake/find/cxx.cmake -> cmake/cxx.cmake
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-31 16:01:11 +03:00
Amos Bird
6adb3aa49a
Fix missing -Werror
2022-01-28 02:07:43 +08:00
Azat Khuzhin
4a0facd341
Remove MAKE_STATIC_LIBRARIES (in favor of USE_STATIC_LIBRARIES)
...
There is no more MAKE_*, so remove this alias.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-24 17:28:33 +03:00
alexey-milovidov
f3053d3727
Merge pull request #33706 from hanqf-git/avx512_memcmpSmall
...
Avx512 memcmp small
2022-01-22 13:02:47 +03:00
Azat Khuzhin
4f8438bb34
cmake: do not allow internal libstdc++ usage
...
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-21 10:11:23 +03:00
Azat Khuzhin
1a2f7b4281
cmake/print_include_directories.cmake: remove (no copy_headers.sh anymore)
...
Introduced in eb552f2943
, copy_headers.sh
was relied on it.
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-21 10:11:23 +03:00
Azat Khuzhin
08efa1e75d
Remove unbundled cxx support
2022-01-20 10:02:01 +03:00
Azat Khuzhin
6dcb09f9e1
Cleanup llvm
2022-01-20 10:02:01 +03:00
Azat Khuzhin
f22827e658
Remove cmake/find/gperf.cmake
2022-01-20 10:02:01 +03:00
Azat Khuzhin
323fe70fcd
Cleanup NLP support
2022-01-20 10:02:01 +03:00
Azat Khuzhin
a75b748fee
Remove unbundled mysql support
2022-01-20 10:02:01 +03:00
Azat Khuzhin
cad885ab1c
Remove unbundled aws-s3 support
2022-01-20 10:02:00 +03:00
Azat Khuzhin
6a721baa59
Remove unbundled datasketches support
2022-01-20 10:02:00 +03:00
Azat Khuzhin
3147bbab51
Cleanup sentry support
2022-01-20 10:02:00 +03:00
Azat Khuzhin
4f4ec8912b
Remove unbundled curl support
2022-01-20 10:02:00 +03:00
Azat Khuzhin
e8c2052367
Remove unbundled cyrus-sasl support
2022-01-20 10:02:00 +03:00
Azat Khuzhin
f2b1f65ce1
Remove unbundled libxml2 support
2022-01-20 10:02:00 +03:00
Azat Khuzhin
614f86edbb
Remove unbundled gsasl support
2022-01-20 10:02:00 +03:00
Azat Khuzhin
bc2dbe10d6
Remove unbundled krb5 support
2022-01-20 10:01:59 +03:00
Azat Khuzhin
748a75644c
Cleanup filelog
2022-01-20 10:01:59 +03:00
Azat Khuzhin
7420bd9b18
Move pdqsort
2022-01-20 10:01:59 +03:00
Azat Khuzhin
2bd688402a
Move miniselect
2022-01-20 10:01:59 +03:00
Azat Khuzhin
a773e7ff01
Remove unbundled libpqxx support
2022-01-20 10:01:59 +03:00
Azat Khuzhin
592bc1e97d
Remove unbundled yaml-cpp support
2022-01-20 10:01:59 +03:00
Azat Khuzhin
dea90967cf
Remove unbundled fastfloat support
2022-01-20 10:01:59 +03:00
Azat Khuzhin
3889f79a3d
Remove unbundled h3 support
2022-01-20 10:01:59 +03:00
Azat Khuzhin
cbf8867f50
Remove unbundled fastops support
2022-01-20 10:01:59 +03:00
Azat Khuzhin
b51bbde713
Remove unbundled odbc support
2022-01-20 10:01:59 +03:00
Azat Khuzhin
887af0a7e9
Remove unbundled nanodbc support
2022-01-20 10:01:59 +03:00
Azat Khuzhin
91e3ceeea9
Remove unbundled capnp support
2022-01-20 10:01:58 +03:00
Azat Khuzhin
cb1abf5307
Remove unbundled sqlite support
2022-01-20 10:01:58 +03:00
Azat Khuzhin
126aa4b65c
Remove unbundled base64 support
2022-01-20 10:01:58 +03:00
Azat Khuzhin
a30ef87d65
Remove unbundled msgpack support
2022-01-20 10:01:58 +03:00
Azat Khuzhin
7496ed7fde
Remove unbundled gtest support
...
v2: Fix unit tests (do not rely on USE_GTEST)
2022-01-20 10:01:54 +03:00
Azat Khuzhin
16adb8c4d6
Remove unbundled cassandra support
2022-01-20 10:01:13 +03:00
Azat Khuzhin
3b54dfa9ad
Remove unbundled amqpcpp support
2022-01-20 10:01:13 +03:00
Azat Khuzhin
e9ec9175df
Remove unbundled libuv support
...
v2: fix compatiblity check
2022-01-20 10:01:13 +03:00
Azat Khuzhin
4e5f93652d
Remove unbundled poco support
2022-01-20 10:01:13 +03:00
Azat Khuzhin
dae6cd35c7
Remove unbundled azure blob storage support
2022-01-20 10:01:12 +03:00
Azat Khuzhin
133e00a43d
Remove unbundled rapidjson support
2022-01-20 10:01:12 +03:00
Azat Khuzhin
db468b6fae
Remove unbundled simdjson support
2022-01-20 10:01:12 +03:00
Azat Khuzhin
4524a19391
Remove unbundled ICU support
2022-01-20 10:01:12 +03:00
Azat Khuzhin
e243957763
Remove cmake/contrib_finder.cmake
2022-01-20 10:01:12 +03:00
Azat Khuzhin
48b5c098dd
Remove unbundled farmhash support
2022-01-20 10:01:12 +03:00
Azat Khuzhin
f1cc63d900
Remove unbundled cityhash support
2022-01-20 10:01:12 +03:00
Azat Khuzhin
8ede97925e
Remove unbundled sparsehash support
2022-01-20 10:01:11 +03:00
Azat Khuzhin
041b4f3635
Remove unbundled brotli support
2022-01-20 10:01:11 +03:00
Azat Khuzhin
789dfd9f3b
Remove unbundled re2 support
...
v2: preserve re2_st name to make PVS check pass (since docker image
update fails)
2022-01-20 10:00:49 +03:00
Azat Khuzhin
5c32f6dd3e
Remove unbundled nuraft support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
96efe17844
Remove unbundled xz support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
7c3a3cebb5
Remove unbundled double-conversion support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
6c0fa21025
Remove unbundled libprotobuf-mutator support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
aef6668cb4
Remove unbundled hdfs3 support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
788cb6b2b0
Remove unbundled protobuf support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
6acb4d6ac5
Remove unbundled gRPC support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
e341dadb4c
Remove unbundled openldap support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
94ba901fbd
Remove unbundled s2geometry support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
cf30669cc9
Remove unbundled openssl/boringssl (crypo/ssl) support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
61b781971c
Remove unbundled librdkafka/cppkafka support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
313716be94
Remove unbundled thrift support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
4bd49138b4
Remove unbundled hive support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
1145e32af6
Remove unbundled snappy support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
ab8cdb198f
Remove unbundled orc support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
d1b2bd5fbe
Remove unbundled avro support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
b4ad324a88
Remove unbundled parquet/arrow support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
a752e12df9
Remove unbundled bzip2 support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
6fadf4c66f
Remove unbundled rocksdb support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
ca8525a733
Remove unbundled zlib support
2022-01-20 08:47:16 +03:00
Azat Khuzhin
5dee76cda7
Remove unbundled zstd support
2022-01-20 08:47:16 +03:00
mergify[bot]
e2f92cf18f
Merge branch 'master' into avx512_memcmpSmall
2022-01-19 12:25:04 +00:00
alexey-milovidov
d222cb9771
Merge pull request #33695 from amosbird/buildimprove
...
Some build improvement
2022-01-19 03:19:22 +03:00
Amos Bird
6d62060e16
Build improvement
2022-01-17 22:36:27 +08:00
hanqf-git
71ce4b46d8
Add x86 feature avx512 support for memcmpSmall. Co-authored-by: @vesslanjin jun.i.jin@intel.com
2022-01-17 16:13:49 +08:00
hanqf-git
d2bc77ac47
Add x86 feature avx512 support for memcmpSmall
2022-01-17 12:03:12 +08:00
Mikhail f. Shiryaev
1aa7362c6f
Auto version update to [22.2.1.1] [54459]
2022-01-16 01:57:27 +01:00
alesapin
d7a7926610
Update version to 22.1 not 21.13
2022-01-14 15:10:45 +03:00
李扬
2df2442ad0
Merge branch 'master' into hive_table
2022-01-04 01:26:16 -06:00
taiyang-li
1e102bc1b2
merge master
2022-01-01 09:01:06 +08:00
Amos Bird
e6f4427a68
Fix
2021-12-31 20:53:03 +08:00
Amos Bird
a4558a3135
Fix blob_storage build
2021-12-31 20:28:27 +08:00
alesapin
c5fe3a8f8a
Merge pull request #33306 from nvartolomei/nv/fix-old-ccache-again
...
Fix launcher not being defined for ccache < 4.0 and slightly cleanup
2021-12-30 11:01:07 +03:00
Nicolae Vartolomei
fd1e9ffa66
Return early if azure blob storage is not used, otherwise it might with fail with irrelevant errors
2021-12-29 20:44:05 +00:00
Nicolae Vartolomei
2e6c63dbca
Fix launcher not being defined for ccache < 4.0 and slightly cleanup
2021-12-29 20:25:29 +00:00
taiyang-li
9036b18c2f
merge master
2021-12-27 15:12:48 +08:00
Azat Khuzhin
83074c06bf
Fix ccache with ENABLE_CHECK_HEAVY_BUILDS (ccache 4.0 and 4.1 only affected)
...
Before this patch ccache 4.0/4.1 has not been working correctly with
ENABLE_CHECK_HEAVY_BUILDS, this was because of mixing
CMAKE_CXX_COMPILER_LAUNCHER/CMAKE_C_COMPILER_LAUNCHER and
RULE_LAUNCH_LINK/RULE_LAUNCH_COMPILE.
Fixes : #28845
2021-12-25 00:06:32 +03:00
Alexey Milovidov
1fcb0006f3
Disable some libraries
2021-12-24 12:25:26 +03:00