Commit Graph

1541 Commits

Author SHA1 Message Date
Raúl Marín
11a274e990 Clean up constinit usage and add a comment 2022-08-11 13:27:53 +02:00
Maksim Kita
64b41e8676
Performance check build AVX 2022-07-22 11:53:16 +00:00
Mikhail f. Shiryaev
cf0b01b189
Update version to 22.8.1.1 2022-07-21 19:21:28 +02:00
Azat Khuzhin
40d5627510
Avoid loading toolchain file multiple times to avoid confusing ccache (#39387)
During first run of cmake the toolchain file will be loaded twice,
- /usr/share/cmake-3.23/Modules/CMakeDetermineSystem.cmake
- /bld/CMakeFiles/3.23.2/CMakeSystem.cmake

But once you already have non-empty cmake cache it will be loaded only
once:
- /bld/CMakeFiles/3.23.2/CMakeSystem.cmake

This has no harm except for double load of toolchain will add
--gcc-toolchain multiple times that will not allow ccache to reuse the
cache.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-07-21 01:26:28 +02:00
Alexey Milovidov
f1256c3aef
Merge pull request #37891 from guowangy/lz4-decompress-vbmi
LZ4 decompress: add VBMI optimized copyOverlap32Shuffle
2022-07-18 00:37:59 +03:00
Robert Schulze
74fc53e5c2
Enable -Wc99-extension 2022-07-15 10:58:09 +00:00
Robert Schulze
1276bfdffd
Enable -Wsign-conversion 2022-07-15 08:54:21 +00:00
Robert Schulze
22abb97b91
Enable -Wc11-extensions 2022-07-14 14:36:23 +00:00
Robert Schulze
97aa9a7371
Enable -Wpacked 2022-07-14 12:36:57 +00:00
Robert Schulze
e7bc973ffb
Enable -Wshift-sign-overflow 2022-07-14 12:36:56 +00:00
Robert Schulze
3d734a0640
Enable -Wnested-anon-types 2022-07-14 12:36:55 +00:00
Robert Schulze
72d45bdff3
Enable -Wvla-extension 2022-07-14 12:36:53 +00:00
Robert Schulze
439b786156
Enable -Wunused-command-line-argument 2022-07-14 12:36:52 +00:00
Robert Schulze
da4724e7f5
Enable -Wreturn-std-move-in-c++11 2022-07-14 12:36:48 +00:00
Robert Schulze
87197f8f60
Enable -Wdeprecated-dynamic-exception-spec 2022-07-13 13:49:40 +00:00
mergify[bot]
62c62a2df7
Merge branch 'master' into lz4-decompress-vbmi 2022-07-11 14:23:17 +00:00
Robert Schulze
bb358617e1
Better naming for stuff related to splitted debug symbols
The previous name was slightly misleading, e.g. it is not about
"intalling stripped binaries" but about splitting debug symbols from the
binary.
2022-06-30 23:41:27 +02:00
Robert Schulze
fa6deaa0f7
Merge pull request #38294 from ClickHouse/fix_system_dot_licences_on_mac
Fix system.licenses on mac
2022-06-23 09:33:07 +02:00
Robert Schulze
a26aba792e
Assume GNU tools are installed when crosscompiling 2022-06-22 20:07:26 +02:00
Robert Schulze
1030dd305a
Correct brew install command 2022-06-22 16:59:03 +02:00
Robert Schulze
287a7f6e98
Let CMake check the presence of GNU utils
In list-licenses.sh it's too late ... the build simply continues if
list-licenses.sh returns with a non-zero exit code.
2022-06-21 23:49:29 +02:00
Robert Schulze
55b39e709d
Merge remote-tracking branch 'origin/master' into clang-tsa 2022-06-20 16:39:32 +02:00
Robert Schulze
5a4f21c50f
Support for Clang Thread Safety Analysis (TSA)
- TSA is a static analyzer build by Google which finds race conditions
  and deadlocks at compile time.

- It works by associating a shared member variable with a
  synchronization primitive that protects it. The compiler can then
  check at each access if proper locking happened before. A good
  introduction are [0] and [1].

- TSA requires some help by the programmer via annotations. Luckily,
  LLVM's libcxx already has annotations for std::mutex, std::lock_guard,
  std::shared_mutex and std::scoped_lock. This commit enables them
  (--> contrib/libcxx-cmake/CMakeLists.txt).

- Further, this commit adds convenience macros for the low-level
  annotations for use in ClickHouse (--> base/defines.h). For
  demonstration, they are leveraged in a few places.

- As we compile with "-Wall -Wextra -Weverything", the required compiler
  flag "-Wthread-safety-analysis" was already enabled. Negative checks
  are an experimental feature of TSA and disabled
  (--> cmake/warnings.cmake). Compile times did not increase noticeably.

- TSA is used in a few places with simple locking. I tried TSA also
  where locking is more complex. The problem was usually that it is
  unclear which data is protected by which lock :-(. But there was
  definitely some weird code where locking looked broken. So there is
  some potential to find bugs.

*** Limitations of TSA besides the ones listed in [1]:

- The programmer needs to know which lock protects which piece of shared
  data. This is not always easy for large classes.

- Two synchronization primitives used in ClickHouse are not annotated in
  libcxx:
  (1) std::unique_lock: A releaseable lock handle often together with
      std::condition_variable, e.g. in solve producer-consumer problems.
  (2) std::recursive_mutex: A re-entrant mutex variant. Its usage can be
      considered a design flaw + typically it is slower than a standard
      mutex. In this commit, one std::recursive_mutex was converted to
      std::mutex and annotated with TSA.

- For free-standing functions (e.g. helper functions) which are passed
  shared data members, it can be tricky to specify the associated lock.
  This is because the annotations use the normal C++ rules for symbol
  resolution.

[0] https://clang.llvm.org/docs/ThreadSafetyAnalysis.html
[1] https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/42958.pdf
2022-06-20 16:13:25 +02:00
Robert Schulze
948b5b7804
Merge pull request #38170 from ClickHouse/llvm-bump-tools
Bump minimum / maximum LLVM to 12 / 14
2022-06-17 13:28:54 +02:00
Robert Schulze
26b122d9a9
Bump minimum / maximum LLVM to 12 / 14
- the CI builds were recently upgraded to Clang 14

- this commit bumps versions of other LLVM tools needed for the build

- this is important for people who have multiple LLVM versions installed
  via their package manager
2022-06-17 09:49:08 +02:00
Mikhail f. Shiryaev
06dd85f921
Update version to 22.7.1.1 2022-06-16 17:15:22 +02:00
Alexey Milovidov
c26abbfdc5
Merge pull request #38093 from danlark1/master
Optimize most important parts with NEON SIMD
2022-06-16 08:26:56 +03:00
Danila Kutenin
08e3f77a9c Optimize most important parts with NEON SIMD
First part, updated most UTF8, hashing, memory and codecs. Except
utf8lower and upper, maybe a little later.

That includes huge amount of research with movemask dealing. Exact
details and blog post TBD.
2022-06-15 13:19:29 +00:00
mergify[bot]
4bd61950db
Merge branch 'master' into stripping 2022-06-14 20:48:52 +00:00
Robert Schulze
c39f4a862c
Retain .clickhouse.hash when stripping 2022-06-14 18:14:35 +00:00
Robert Schulze
35c3944d1a
Warn when gold is used instead of lld 2022-06-13 11:31:08 +00:00
Robert Schulze
bc6f30fd40
Move binary hash to ELF section ".ClickHouse.hash" 2022-06-13 08:46:23 +00:00
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
taiyang-li
2597925724 merge master 2021-12-21 15:55:39 +08:00
Amos Bird
f56e3942e3
Hermetic shared build 2021-12-20 16:59:42 +08:00
Amos Bird
ffda16b5a4
Better build of azure blob 2021-12-19 21:34:24 +08:00
taiyang-li
d033fc4c24 merge master and fix conflict 2021-12-17 15:11:21 +08:00
Nikita Mikhaylov
2c87e30d6d Done 2021-12-15 18:31:55 +00:00
taiyang-li
8234d1176f merge master 2021-12-14 10:39:21 +08:00
李扬
8675086104
Merge branch 'master' into hive_table 2021-12-12 09:01:46 -06:00
Jakub Kuklis
2b7725bfc7 Enable connecting directly to storage accounts and creating new containers 2021-12-10 22:04:38 +01:00
Jakub Kuklis
850c9a7e7a Reverting submodule changes to fast test docker and disabling Blob Storage support when files missing 2021-12-10 22:04:38 +01:00
Jakub Kuklis
162e2b334b Initial working example of Azure Blob Storage manipulation from within ClickHouse 2021-12-10 22:04:36 +01:00
JackyWoo
b9861c45e1 terminate build when linker path not found 2021-12-09 15:17:24 +08:00
robot-clickhouse
f2ccddb7be Auto version update to [21.13.1.1] [54458] 2021-12-09 00:33:01 +03:00
robot-clickhouse
5e26dcbfa7 Auto version update to [21.12.1.9017] [54457] 2021-12-09 00:27:47 +03:00
taiyang-li
2f4e7e1d4e merge master 2021-12-02 19:48:21 +08:00
alexey-milovidov
1cc9c92d0a
Merge pull request #31951 from Algunenano/libcxx13
Drop libc-headers
2021-11-30 05:23:23 +03:00
alexey-milovidov
a7de366741
Merge pull request #31957 from traceon/macos-fixes
Give some love to macOS platform
2021-11-30 04:15:32 +03:00
Raúl Marín
6a04dcb492 Remove libc-headers 2021-11-29 19:55:57 +01:00
Raúl Marín
0bbf437843 Don't include contrib/libc-headers/ if GLIBC_COMPATIBILITY is off 2021-11-29 19:53:42 +01:00
Alexey Milovidov
1ded1e7181 Remove some trash from build 2021-11-28 08:05:24 +03:00
alexey-milovidov
80dbe8aaa4
Merge pull request #31899 from ClickHouse/reproducible-build-4
Reproducible build (4)
2021-11-28 06:06:01 +03:00
Alexey Milovidov
26e3c78da2 Something strange 2021-11-28 04:37:55 +03:00
Nikita Mikhaylov
f0f4737676
Added -no-sanitize=unsigned-integer-overflow build flag (#31881) 2021-11-27 17:39:13 +03:00
Alexey Milovidov
8d8fcceede Output compiler version 2021-11-27 03:33:34 +03:00
Alexey Milovidov
a96e4fe393 More reproducible builds 2021-11-27 02:24:09 +03:00
taiyang-li
d35e2a1c83
Merge branch 'master' into hive_table 2021-11-26 11:44:50 +08:00
Alexey Milovidov
79f6f5a202 More reproducible builds 2021-11-26 05:44:08 +03:00
Denis Glazachev
a0f2c69cf1 Allow AppleClang conditionally 2021-11-26 02:03:31 +03:00
Nikita Mikhaylov
619ad46340
Fix oss-fuzz build (#31818) 2021-11-26 01:14:34 +03:00
taiyang-li
72f60cceb9
Merge branch 'master' into hive_table 2021-11-25 17:33:26 +08:00
Alexey Milovidov
05349ce7a6 Do not build protobuf twice 2021-11-25 01:50:54 +03:00
Alexey Milovidov
21f112b30e Merge branch 'better-crosscompiling-freebsd' into hermetic-builds 2021-11-24 22:43:30 +03:00
Alexey Milovidov
7ecffd7186 Fix build 2021-11-24 15:43:09 +03:00
taiyang-li
ffc963fb74 fix build 2021-11-24 18:05:35 +08:00
taiyang-li
89dcef69d5 merge master 2021-11-24 14:38:04 +08:00
Alexey Milovidov
8d43a5d4b2 Maybe fix build 2021-11-24 03:01:21 +03:00
Alexey Milovidov
51ee8fdbb0 More easy cross-compiling for FreeBSD 2021-11-24 00:32:04 +03:00
Alexey Milovidov
200913a5a5 Remove garbage 2021-11-23 02:23:52 +03:00
Alexey Milovidov
1e057d51c1 Fix error 2021-11-23 02:17:53 +03:00
taiyang-li
8be69c921c commit again 2021-11-22 22:39:57 +08:00
taiyang-li
e0f11343c7 commit again 2021-11-22 22:38:33 +08:00
taiyang-li
280866a01b fix typo 2021-11-22 14:37:12 +08:00
taiyang-li
75bd6c6085 fix build 2021-11-22 12:29:40 +08:00
taiyang-li
d22854e82b add compile swiych USE_HIVE 2021-11-22 10:52:10 +08:00
Alexey Milovidov
f1ff1426f2 Fix build 2021-11-21 21:23:29 +03:00
Alexey Milovidov
c5fcef03c3 Remove trash 2021-11-21 18:12:05 +03:00
Alexey Milovidov
c50b31a7a5 Remove trash 2021-11-21 17:35:33 +03:00
Alexey Milovidov
541f3ae1f9 Fix build on AArch64 2021-11-21 14:30:36 +03:00
Alexey Milovidov
6246cec409 Fix build on AArch64 2021-11-21 14:30:04 +03:00
Alexey Milovidov
d604cf5573 Remove the infamous "unbundled" build 2021-11-21 13:58:26 +03:00
Alexey Milovidov
9a82c62685 Merge branch 'master' into zlib-ng-own-cmake 2021-11-21 11:38:29 +03:00
taiyang-li
e8644807fe merge master and solve conflict 2021-11-19 15:01:58 +08:00
Vladimir Smirnov
48451182f8 Initial support for risc-v
Make ClickHouse compilable and runnable on risc-v 64

So far only basic functionality was tested (on real hw),
clickhouse server runs, exceptions works, client works,
simple tests works.

What doesn't work:
 1. traces - they are always empty
 2. system.stack_trace only have first frame
2021-11-11 19:23:34 +01:00
taiyang-li
65c4c61e33 compile hive-metastore from pre-generated source files 2021-11-09 10:31:22 +08:00
taiyang-li
cd28324e1c add missing files 2021-11-08 18:41:30 +08:00
robot-clickhouse
4289336c27 Auto version update to [21.12.1.1] [54457] 2021-11-02 00:56:45 +03:00
robot-clickhouse
f880c8c2e2 Auto version update to [21.11.1.8636] [54456] 2021-11-02 00:52:35 +03:00
Kseniia Sumarokova
ca48c5f302
Merge pull request #30832 from ucasfl/filelog-fix
filelog engine tests improve
2021-10-31 21:27:48 +03:00
feng lv
13a305d648 filelog engine tests improve
fix
2021-10-29 06:25:21 +00:00
jasperzhu
0217ed09ac revise compile flag 2021-10-27 05:19:15 +05:30
alexey-milovidov
34b75f86a2
Merge pull request #30613 from azat/clang-12
RFC: Relax minimal clang version (set it to 12, was 13)
2021-10-24 23:37:09 +03:00
Kseniia Sumarokova
7383bdd5fa
Merge pull request #25969 from ucasfl/filelog-engine
Implementation of a table engine to consume application log files in ClickHouse
2021-10-24 10:14:05 +03:00
Alexey Milovidov
fe93adac94 Minor changes 2021-10-24 10:11:23 +03:00
Azat Khuzhin
0eef5ee778 Relax minimal clang version (set it to 12, was 13)
ClickHouse compiled fine under clang-12, and also note that not a lot of
distros already switched to clang-13, so it may requires additional
steps to compile ClickHouse otherwise.

Follow-up for: #30597
2021-10-24 09:40:41 +03:00
alexey-milovidov
14e891f07e
Merge pull request #30597 from ClickHouse/update-min-compiler-versions
Update minimum allowed compiler versions
2021-10-24 03:13:31 +03:00
Alexey Milovidov
6d49e59016 Update compiler versions 2021-10-24 00:12:50 +03:00
Alexey Milovidov
df5739b39b Revert "Allow AppleClang builds"
This reverts commit 1ddea6d7ee.
2021-10-23 22:59:12 +03:00
Maksim Kita
243be5028a
Merge pull request #30014 from jinjunzh/master
add x86 feature avx2/avx512 support for accelerating filter operation
2021-10-22 14:16:47 +03:00
feng lv
5cb783aed0 fix 2021-10-22 02:36:24 +00:00
feng lv
6565e1d4b2 fix conflict 2021-10-20 15:22:16 +00:00
mergify[bot]
506c05a520
Merge branch 'master' into reorganiza-contrib-ide-folders 2021-10-19 15:32:57 +00:00
feng lv
1e3df5780c Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into filelog-engine 2021-10-18 07:33:11 +00:00
Alexey Milovidov
2cef9983fa Remove recursive submodules 2021-10-18 02:29:04 +03:00
Denis Glazachev
9de534f96c Revert special contribs and set folder manually for them until fixed 2021-10-17 23:10:01 +03:00
Denis Glazachev
68a08ffed9
Merge branch 'master' into reorganiza-contrib-ide-folders 2021-10-17 22:13:11 +04:00
Alexey Milovidov
5fc2279adf Add RISC-V build 2021-10-17 01:23:55 +03:00
alexey-milovidov
e9af03ef52
Merge pull request #30248 from ClickHouse/musl-4
Preparation to build with Musl
2021-10-16 18:44:35 +03:00
Alexey Milovidov
438d04795e Update toolchain 2021-10-16 03:03:46 +03:00
Alexey Milovidov
2c3709d8ae Add toolchain file 2021-10-16 02:07:36 +03:00
Alexey Milovidov
4848a6f97f Add CMakeLists 2021-10-16 02:07:13 +03:00
mergify[bot]
6bf8c4a2b1
Merge branch 'master' into reorganiza-contrib-ide-folders 2021-10-15 19:59:08 +00:00
feng lv
21f7ecbd9f Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into filelog-engine 2021-10-14 02:09:51 +00:00
jasperzhu
3d0e595579 revise compile flag 2021-10-13 22:49:21 +05:30
Nikita Mikhaylov
57a623aba0
Merge branch 'master' into codegen_select_fuzzer_v1 2021-10-13 16:01:40 +03:00
feng lv
868dbc4bad use poll replace select
fix

fix
2021-10-13 09:13:35 +00:00
jasperzhu
4b080489b5 revise flags definitions 2021-10-13 07:34:21 +05:30
jasperzhu
80760c0a0c revise compile definitions 2021-10-13 05:59:20 +05:30
jasperzhu
f08dd0e8d8 modify flags definitions 2021-10-13 05:13:34 +05:30
alexey-milovidov
26dd0934d3
Update target.cmake 2021-10-13 01:14:47 +03:00
jasperzhu
002c8d3a80 add disable vectorize flag due to llvm bug 2021-10-13 03:38:18 +05:30
Alexey Milovidov
8d6126fd91 Fix build 2021-10-12 22:25:45 +03:00
alexey-milovidov
e63506fde7
Merge branch 'master' into protobuf-host-build 2021-10-12 16:19:15 +03:00
Alexey Milovidov
12168e7762 Enable Protobuf, Arrow, ORC, Parquet for AArch64 and Darwin 2021-10-12 05:46:50 +03:00
jasperzhu
be28e94471 add compile flag -force-vector-width=16 due to llvm autovectorization bug with avx512 2021-10-12 06:30:56 +05:30
Pavel Cheremushkin
7b9358a597 adding codegen fuzzer + code generation script. new contrib added: libprotobuf-mutator 2021-10-12 03:21:31 +03:00
Alexey Milovidov
0d07646866 Fix strange code 2021-10-12 03:17:35 +03:00
Alexey Milovidov
cb9bdf9666 Minor change 2021-10-12 02:07:03 +03:00
Alexey Milovidov
e1409c143b Add toolchain file 2021-10-12 02:06:22 +03:00
Alexey Milovidov
54f3d0d2d9 Fix error 2021-10-12 02:02:44 +03:00
Alexey Milovidov
d4e496c314 Add support for PowerPC build 2021-10-12 01:47:57 +03:00
jasperzhu
0ef2624408 add specific flags for compiling filter operation source files 2021-10-12 04:04:27 +05:30
alexey-milovidov
f1b550cdaf
Merge pull request #29974 from ClickHouse/minimized-toolchain
Experiment with minimized toolchain (2)
2021-10-11 22:04:01 +03:00
jasperzhu
a3d629a5b5 add x86 feature avx2/avx512 support for filter implementation 2021-10-11 22:51:13 +05:30
alexey-milovidov
3b8d7a5030
Merge pull request #29952 from MikaelUrankar/freebsd-aarch64
Add support for FreeBSD aarch64
2021-10-11 14:43:23 +03:00
Alexey Milovidov
1df4792a45 Fix error 2021-10-11 07:07:58 +03:00
Alexey Milovidov
778793267b Add toolchain for linux-x86_64 2021-10-11 07:02:48 +03:00
Alexey Milovidov
0dbe7c4036 Remove old toolchain 2021-10-11 07:02:19 +03:00
Alexey Milovidov
8196f89481 Remove trash from CMake 2021-10-11 06:58:08 +03:00
Alexey Milovidov
7597763d6d Improve search for ar and ranlib 2021-10-11 06:55:00 +03:00
Alexey Milovidov
fa3c13cf81 Experiment with minimized toolchain 2021-10-11 04:37:04 +03:00
mikael
934b72ddd1 Add FreeBSD aarch64 bits for cross-builds for CI. 2021-10-10 18:54:38 +02:00
mikael
5bd2fd0ba3 Add the missing bits for FreeBSD aarch64 2021-10-10 14:52:42 +02:00
Alexey Milovidov
daf4cc6aba Whitespaces 2021-10-10 04:09:17 +03:00
alexey-milovidov
6abb3d4c6d
Merge pull request #29682 from traceon/xcode-13-fix-build
Fix Xcode 13 build
2021-10-04 02:34:43 +03:00
Denis Glazachev
ece880184b Reorganiza contrib IDE folders 2021-10-03 20:26:48 +04:00
Denis Glazachev
1fdaaab2ed Fix typo 2021-10-03 17:42:59 +04:00
Denis Glazachev
ca7b69b0f3 Manipulate with -Wreserved-identifier only if HAS_RESERVED_IDENTIFIER has been detected 2021-10-03 17:42:36 +04:00
Mike Kot
d8b336a942 fix 2021-10-03 00:47:25 +02:00
Mike Kot
84505b7947 fix 2021-10-03 00:24:11 +02:00