* Allow build without rt library
* fix
* Cmake misc
* CLICKHOUSE-3600 Use correct lld version
* CLICKHOUSE-3600 Use correct lld version
* Use libllvm same version as clang
* fix
* Fix build with iodbc
* Fix iodbc build
* Fix gold find
* Fix empty lines
Interpreters/Compiler.cpp contained hard-coded paths for system's
includes needed for query compiler. These paths were not portable
between different Linux distros and gcc/clang versions. For example,
Debian/Ubuntu use /usr/lib/gcc/x86_64-linux-gnu/*/include,
RHEL/Fedora use /usr/lib/gcc/x86_64-redhat-linux/*/include,
others use /usr/lib/gcc/*/include (without x86_64-XXX triplet).
Patch 68850012b "Embedded compiler fixes" attempted to fix this problem
by adding CMAKE_LIBRARY_ARCHITECTURE after /usr/lib. Unfortunally,
CMAKE_LIBRARY_ARCHITECTURE is not defined on RHEL/Fedora because someone
decided to omit "-gnu" from x86_64-redhat-linux (see RHBZ#1531678).
Patch 70e35d0bc "Build fixes (#1718)" added a workaround for
undefined CMAKE_LIBRARY_ARCHITECTURE on RHEL/Fedora, but hasn't fixed
problem with missing /usr/lib/gcc/x86_64-redhat-linux/*/include/
in the list of hardcoded paths.
Remove hard-coded paths and get the list of `-isystem` includes directly
from bundled clickhouse-clang.
Other changes:
- Enable RPATH for the build directory to get working binaries
without installing them by `make install`.
- Make sure to use dynamic linking on macOS to avoid OpenSSL static linking bug
- Use -std=c++17 in CFLAGS for files in contrib
- Avoid bad support for thread_local on macOS with clang altogether
* Embedded compiler: development [#CLICKHOUSE-3396].
* Embedded compiler: development [#CLICKHOUSE-3396].
* Embedded compiler: development [#CLICKHOUSE-3396].
* Embedded compiler: development [#CLICKHOUSE-3396].
* Embedded compiler: development [#CLICKHOUSE-3396].
* Embedded compiler: development [#CLICKHOUSE-3396].
* Embedded compiler: development [#CLICKHOUSE-3396].
* Embedded compiler: development [#CLICKHOUSE-3396].
* Embedded compiler: development [#CLICKHOUSE-3396].
* Embedded compiler: development [#CLICKHOUSE-3396].
* Embedded compiler: development [#CLICKHOUSE-3396].
Cap'n Proto is a binary message format.
Like Protocol Buffers and Thrift (but unlike JSON or MessagePack), Cap'n Proto messages are strongly-typed and not self-describing. Due to this, it requires a schema setting to specify schema file and the root object. The schema is parsed on runtime and cached for each SQL statement.