Commit Graph

46 Commits

Author SHA1 Message Date
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
Raúl Marín
5caba7000a Try a different approach 2022-11-15 17:53:24 +01:00
Alexey Milovidov
5ce6c07005 Set linker for RISC-V 64 2022-08-14 05:57:55 +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
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
Amos Bird
6d62060e16
Build improvement 2022-01-17 22:36:27 +08:00
Amos Bird
f56e3942e3
Hermetic shared build 2021-12-20 16:59:42 +08: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
26e3c78da2 Something strange 2021-11-28 04:37:55 +03:00
Alexey Milovidov
a96e4fe393 More reproducible builds 2021-11-27 02:24:09 +03:00
Alexey Milovidov
7ecffd7186 Fix build 2021-11-24 15:43:09 +03:00
Alexey Milovidov
8d43a5d4b2 Maybe fix build 2021-11-24 03:01:21 +03:00
Alexey Milovidov
d604cf5573 Remove the infamous "unbundled" build 2021-11-21 13:58:26 +03: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
Alexey Milovidov
5fc2279adf Add RISC-V build 2021-10-17 01:23:55 +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
Alexey Milovidov
e1409c143b Add toolchain file 2021-10-12 02:06:22 +03:00
Alexey Milovidov
d4e496c314 Add support for PowerPC build 2021-10-12 01:47:57 +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
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
Yatsishin Ilya
227eb9fda5 try 2021-05-25 18:29:04 +03:00
mastertheknife
00ed52e947 Fix finding libclang_rt.builtins on Fedora\RHEL\CentOS on ppc64le 2021-04-01 18:38:16 +03:00
Alexey Milovidov
b99634dc5d Merge branch 'master' into harmful 2020-12-21 03:03:10 +03:00
Azat Khuzhin
c862ae0c42 Explicitly link with -llib$SANITIZER for gcc
gcc with -nodefaultlibs does not add sanitizers library during linkage
with -static-libasan and similar, fix this, by add them explicitly.

From the gcc(1) about -nodefaultlibs:

    Do not use the standard system libraries when linking. Only the
    libraries you specify are passed to the linker, and options specifying
    linkage of the system libraries, such as -static-libgcc or
    -shared-libgcc, are ignored. The standard startup files are used
    normally, unless -nostartfiles is used.

Plus checked it manually, w/o -nodefaultlibs everything works without
this explicit linkage.

After this patch UBSAN under gcc compiled successfully.

v2: freebsd and darwin
2020-12-16 21:31:03 +03:00
Azat Khuzhin
1dca6e9269 cmake/linux/default_libs.cmake: fix alignment 2020-12-16 21:31:03 +03:00
Alexey Milovidov
91e80598cd Add "harmful" library 2020-10-28 02:00:16 +03:00
Alexander Kuzmenkov
3e6b9f297f Some provisions for Android build 2020-07-15 14:16:00 +03:00
alexey-milovidov
efc57fb063
Make the comment more readable. 2020-06-22 17:59:38 +03:00
Azat Khuzhin
f748021d9a Use libc-headers only for BUNDLED build (fixes gcc10 unbundled build)
libstdc++ from gcc10 uses pthread_mutex_clocklock() which is not yet
exists in contrib/libc-headres.

P.S. I can prepare an update for libc-contrib
2020-05-16 00:00:38 +03:00
Ivan Lezhankin
2d44fa59b5 libs/ → base/ 2020-02-14 17:48:30 +03:00
Alexey Milovidov
8f5e41ddfc Using libc-headers for cxx targets 2019-12-20 18:48:01 +03:00
Alexey Milovidov
1444b18e1c Fixed AArch64 build 2019-12-20 15:35:41 +03:00
Alexey Milovidov
687a8bf43b Using libc includes from custom directory 2019-12-20 04:24:25 +03:00
Ivan Lezhankin
ad76cd74e6 Cache AR and RANLIB paths 2019-11-01 18:18:57 +03:00
Ivan
be75b8d16e
Update toolchain for ASM language 2019-11-01 16:14:15 +03:00
Ivan Lezhankin
473a60f741 Fix toolchain file 2019-11-01 14:28:39 +03:00
Ivan
4f2f5cca84
Add support for cross-compiling to the CPU architecture AARCH64 (#7370) 2019-10-30 10:01:53 +03:00
Ivan Lezhankin
f01706ad11 Refactor some cmake files 2019-09-13 17:56:26 +03:00