diff options
author | Chenhao Qu <chenhao.qu@mongodb.com> | 2021-08-11 09:01:20 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-08-11 09:27:10 +0000 |
commit | 57303337e398618c9f0bb9ce345a74599c816a77 (patch) | |
tree | 520e07ffee8c535fbd018ea6f63852d74dac0aef /src/third_party/wiredtiger/cmake/toolchains | |
parent | b65bf31179daa16151f4d30c0c8cae3511678d1d (diff) | |
download | mongo-57303337e398618c9f0bb9ce345a74599c816a77.tar.gz |
Import wiredtiger: ca0fa69cb42e6e85675a953f000f7c6d2fd76fbb from branch mongodb-master
ref: ed22761f88..ca0fa69cb4
for: 5.1.0
WT-7718 Rename 'build_cmake'
Diffstat (limited to 'src/third_party/wiredtiger/cmake/toolchains')
15 files changed, 247 insertions, 0 deletions
diff --git a/src/third_party/wiredtiger/cmake/toolchains/aarch64/linux/plat_clang.cmake b/src/third_party/wiredtiger/cmake/toolchains/aarch64/linux/plat_clang.cmake new file mode 100644 index 00000000000..98cc2a8892b --- /dev/null +++ b/src/third_party/wiredtiger/cmake/toolchains/aarch64/linux/plat_clang.cmake @@ -0,0 +1,15 @@ +# +# Public Domain 2014-present MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# All rights reserved. +# +# See the file LICENSE for redistribution information. +# + +if(CMAKE_CROSSCOMPILING) + set(TRIPLE_TARGET "aarch64-unknown-linux-gnu") + set(CROSS_COMPILER_PREFIX ${TRIPLE_TARGET}-) + set(CMAKE_C_COMPILER_TARGET "${TRIPLE_TARGET}") + set(CMAKE_CXX_COMPILER_TARGET "${TRIPLE_TARGET}") + set(CMAKE_ASM_COMPILER_TARGET "${TRIPLE_TARGET}") +endif() diff --git a/src/third_party/wiredtiger/cmake/toolchains/aarch64/linux/plat_gcc.cmake b/src/third_party/wiredtiger/cmake/toolchains/aarch64/linux/plat_gcc.cmake new file mode 100644 index 00000000000..b82bbfe9b94 --- /dev/null +++ b/src/third_party/wiredtiger/cmake/toolchains/aarch64/linux/plat_gcc.cmake @@ -0,0 +1,11 @@ +# +# Public Domain 2014-present MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# All rights reserved. +# +# See the file LICENSE for redistribution information. +# + +if(CMAKE_CROSSCOMPILING) + set(CROSS_COMPILER_PREFIX "aarch64-linux-gnu-") +endif() diff --git a/src/third_party/wiredtiger/cmake/toolchains/cl.cmake b/src/third_party/wiredtiger/cmake/toolchains/cl.cmake new file mode 100644 index 00000000000..d6467238ce3 --- /dev/null +++ b/src/third_party/wiredtiger/cmake/toolchains/cl.cmake @@ -0,0 +1,13 @@ +# +# Public Domain 2014-present MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# All rights reserved. +# +# See the file LICENSE for redistribution information. +# + +cmake_minimum_required(VERSION 3.10.0) + +set(CMAKE_C_COMPILER "cl.exe") +set(CMAKE_CXX_COMPILER "cl.exe") +set(CMAKE_ASM_COMPILER "cl.exe") diff --git a/src/third_party/wiredtiger/cmake/toolchains/clang.cmake b/src/third_party/wiredtiger/cmake/toolchains/clang.cmake new file mode 100644 index 00000000000..5b789f1134f --- /dev/null +++ b/src/third_party/wiredtiger/cmake/toolchains/clang.cmake @@ -0,0 +1,36 @@ +# +# Public Domain 2014-present MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# All rights reserved. +# +# See the file LICENSE for redistribution information. +# + +cmake_minimum_required(VERSION 3.10.0) + +set(CMAKE_C_COMPILER "clang") +set(CMAKE_C_COMPILER_ID "Clang") + +set(CMAKE_CXX_COMPILER "clang++") +set(CMAKE_CXX_COMPILER_ID "Clang++") + +set(CMAKE_ASM_COMPILER "clang") +set(CMAKE_ASM_COMPILER_ID "Clang") + +if(NOT "${COMPILE_DEFINITIONS}" STREQUAL "") + ### Additional check to overcome check_[symbol|include|function]_exits using toolchain file without passing WT_ARCH and WT_OS. + string(REGEX MATCH "-DWT_ARCH=([A-Za-z0-9]+) -DWT_OS=([A-Za-z0-9]+)" _ ${COMPILE_DEFINITIONS}) + set(wt_config_arch ${CMAKE_MATCH_1}) + set(wt_config_os ${CMAKE_MATCH_2}) +else() + set(wt_config_arch ${WT_ARCH}) + set(wt_config_os ${WT_OS}) +endif() + +# Include any platform specific clang configurations and flags e.g. target-tuple, flags. +if((NOT "${wt_config_arch}" STREQUAL "") AND (NOT "${wt_config_os}" STREQUAL "")) + if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/${wt_config_arch}/${wt_config_os}/plat_clang.cmake") + message(FATAL_ERROR "(${wt_config_arch}/${wt_config_os}) directory does not have a plat_clang.cmake file") + endif() + include("${CMAKE_CURRENT_LIST_DIR}/${wt_config_arch}/${wt_config_os}/plat_clang.cmake") +endif() diff --git a/src/third_party/wiredtiger/cmake/toolchains/gcc.cmake b/src/third_party/wiredtiger/cmake/toolchains/gcc.cmake new file mode 100644 index 00000000000..0fa64ed0037 --- /dev/null +++ b/src/third_party/wiredtiger/cmake/toolchains/gcc.cmake @@ -0,0 +1,31 @@ +# +# Public Domain 2014-present MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# All rights reserved. +# +# See the file LICENSE for redistribution information. +# + +cmake_minimum_required(VERSION 3.10.0) + +if(NOT "${COMPILE_DEFINITIONS}" STREQUAL "") + ### Additional check to overcome check_[symbol|include|function]_exits using toolchain file without passing WT_ARCH and WT_OS. + string(REGEX MATCH "-DWT_ARCH=([A-Za-z0-9]+) -DWT_OS=([A-Za-z0-9]+)" _ ${COMPILE_DEFINITIONS}) + set(wt_config_arch ${CMAKE_MATCH_1}) + set(wt_config_os ${CMAKE_MATCH_2}) +else() + set(wt_config_arch ${WT_ARCH}) + set(wt_config_os ${WT_OS}) +endif() + +# Include any platform specific gcc configurations and flags e.g. target-tuple, flags. +if((NOT "${wt_config_arch}" STREQUAL "") AND (NOT "${wt_config_os}" STREQUAL "")) + if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/${wt_config_arch}/${wt_config_os}/plat_gcc.cmake") + message(FATAL_ERROR "(${wt_config_arch}/${wt_config_os}) directory does not have a plat_gcc.cmake file") + endif() + include("${CMAKE_CURRENT_LIST_DIR}/${wt_config_arch}/${wt_config_os}/plat_gcc.cmake") +endif() + +set(CMAKE_C_COMPILER "${CROSS_COMPILER_PREFIX}gcc") +set(CMAKE_CXX_COMPILER "${CROSS_COMPILER_PREFIX}g++") +set(CMAKE_ASM_COMPILER "${CROSS_COMPILER_PREFIX}gcc") diff --git a/src/third_party/wiredtiger/cmake/toolchains/mongodbtoolchain_v3_clang.cmake b/src/third_party/wiredtiger/cmake/toolchains/mongodbtoolchain_v3_clang.cmake new file mode 100644 index 00000000000..2353ba1b7f7 --- /dev/null +++ b/src/third_party/wiredtiger/cmake/toolchains/mongodbtoolchain_v3_clang.cmake @@ -0,0 +1,17 @@ +# +# Public Domain 2014-present MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# All rights reserved. +# +# See the file LICENSE for redistribution information. +# + +cmake_minimum_required(VERSION 3.10.0) + +if(NOT TOOLCHAIN_ROOT) + set(TOOLCHAIN_ROOT "/opt/mongodbtoolchain/v3") +endif() + +set(CMAKE_C_COMPILER "${TOOLCHAIN_ROOT}/bin/clang") +set(CMAKE_CXX_COMPILER "${TOOLCHAIN_ROOT}/bin/clang++") +set(CMAKE_ASM_COMPILER "${TOOLCHAIN_ROOT}/bin/clang") diff --git a/src/third_party/wiredtiger/cmake/toolchains/mongodbtoolchain_v3_gcc.cmake b/src/third_party/wiredtiger/cmake/toolchains/mongodbtoolchain_v3_gcc.cmake new file mode 100644 index 00000000000..136d4a33f4f --- /dev/null +++ b/src/third_party/wiredtiger/cmake/toolchains/mongodbtoolchain_v3_gcc.cmake @@ -0,0 +1,17 @@ +# +# Public Domain 2014-present MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# All rights reserved. +# +# See the file LICENSE for redistribution information. +# + +cmake_minimum_required(VERSION 3.10.0) + +if(NOT TOOLCHAIN_ROOT) + set(TOOLCHAIN_ROOT "/opt/mongodbtoolchain/v3") +endif() + +set(CMAKE_C_COMPILER "${TOOLCHAIN_ROOT}/bin/gcc") +set(CMAKE_CXX_COMPILER "${TOOLCHAIN_ROOT}/bin/g++") +set(CMAKE_ASM_COMPILER "${TOOLCHAIN_ROOT}/bin/gcc") diff --git a/src/third_party/wiredtiger/cmake/toolchains/ppc64le/linux/plat_clang.cmake b/src/third_party/wiredtiger/cmake/toolchains/ppc64le/linux/plat_clang.cmake new file mode 100644 index 00000000000..f03d4fdbd97 --- /dev/null +++ b/src/third_party/wiredtiger/cmake/toolchains/ppc64le/linux/plat_clang.cmake @@ -0,0 +1,15 @@ +# +# Public Domain 2014-present MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# All rights reserved. +# +# See the file LICENSE for redistribution information. +# + +if(CMAKE_CROSSCOMPILING) + set(TRIPLE_TARGET "powerpc64le-unknown-linux-gnu") + set(CROSS_COMPILER_PREFIX ${TRIPLE_TARGET}-) + set(CMAKE_C_COMPILER_TARGET "${TRIPLE_TARGET}") + set(CMAKE_CXX_COMPILER_TARGET "${TRIPLE_TARGET}") + set(CMAKE_ASM_COMPILER_TARGET "${TRIPLE_TARGET}") +endif() diff --git a/src/third_party/wiredtiger/cmake/toolchains/ppc64le/linux/plat_gcc.cmake b/src/third_party/wiredtiger/cmake/toolchains/ppc64le/linux/plat_gcc.cmake new file mode 100644 index 00000000000..47e706c0d39 --- /dev/null +++ b/src/third_party/wiredtiger/cmake/toolchains/ppc64le/linux/plat_gcc.cmake @@ -0,0 +1,11 @@ +# +# Public Domain 2014-present MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# All rights reserved. +# +# See the file LICENSE for redistribution information. +# + +if(CMAKE_CROSSCOMPILING) + set(CROSS_COMPILER_PEFIX "powerpc64le-linux-gnu-") +endif() diff --git a/src/third_party/wiredtiger/cmake/toolchains/s390x/linux/plat_clang.cmake b/src/third_party/wiredtiger/cmake/toolchains/s390x/linux/plat_clang.cmake new file mode 100644 index 00000000000..f643b9c8df8 --- /dev/null +++ b/src/third_party/wiredtiger/cmake/toolchains/s390x/linux/plat_clang.cmake @@ -0,0 +1,15 @@ +# +# Public Domain 2014-present MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# All rights reserved. +# +# See the file LICENSE for redistribution information. +# + +if(CMAKE_CROSSCOMPILING) + set(TRIPLE_TARGET "s390x-ibm-linux-gnu") + set(CROSS_COMPILER_PREFIX ${TRIPLE_TARGET}-) + set(CMAKE_C_COMPILER_TARGET "${TRIPLE_TARGET}") + set(CMAKE_CXX_COMPILER_TARGET "${TRIPLE_TARGET}") + set(CMAKE_ASM_COMPILER_TARGET "${TRIPLE_TARGET}") +endif() diff --git a/src/third_party/wiredtiger/cmake/toolchains/s390x/linux/plat_gcc.cmake b/src/third_party/wiredtiger/cmake/toolchains/s390x/linux/plat_gcc.cmake new file mode 100644 index 00000000000..abfff342dfb --- /dev/null +++ b/src/third_party/wiredtiger/cmake/toolchains/s390x/linux/plat_gcc.cmake @@ -0,0 +1,11 @@ +# +# Public Domain 2014-present MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# All rights reserved. +# +# See the file LICENSE for redistribution information. +# + +if(CMAKE_CROSSCOMPILING) + set(CROSS_COMPILER_PEFIX "s390x-linux-gnu-") +endif() diff --git a/src/third_party/wiredtiger/cmake/toolchains/x86/darwin/plat_clang.cmake b/src/third_party/wiredtiger/cmake/toolchains/x86/darwin/plat_clang.cmake new file mode 100644 index 00000000000..e7130be256f --- /dev/null +++ b/src/third_party/wiredtiger/cmake/toolchains/x86/darwin/plat_clang.cmake @@ -0,0 +1,15 @@ +# +# Public Domain 2014-present MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# All rights reserved. +# +# See the file LICENSE for redistribution information. +# + +if(CMAKE_CROSSCOMPILING) + set(TRIPLE_TARGET "x86_64-apple-darwin") + set(CROSS_COMPILER_PREFIX ${TRIPLE_TARGET}-) + set(CMAKE_C_COMPILER_TARGET "${TRIPLE_TARGET}") + set(CMAKE_CXX_COMPILER_TARGET "${TRIPLE_TARGET}") + set(CMAKE_ASM_COMPILER_TARGET "${TRIPLE_TARGET}") +endif() diff --git a/src/third_party/wiredtiger/cmake/toolchains/x86/darwin/plat_gcc.cmake b/src/third_party/wiredtiger/cmake/toolchains/x86/darwin/plat_gcc.cmake new file mode 100644 index 00000000000..7a463e46d96 --- /dev/null +++ b/src/third_party/wiredtiger/cmake/toolchains/x86/darwin/plat_gcc.cmake @@ -0,0 +1,14 @@ +# +# Public Domain 2014-present MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# All rights reserved. +# +# See the file LICENSE for redistribution information. +# + +# We are not cross-compiling if our system is Darwin, hence the "x86_64-apple-darwin-" +# prefix is not necessary when we are not cross-compiling. Just default to the host +# installed 'gcc' binary. +if(CMAKE_CROSSCOMPILING) + set(CROSS_COMPILER_PREFIX "x86_64-apple-darwin-") +endif() diff --git a/src/third_party/wiredtiger/cmake/toolchains/x86/linux/plat_clang.cmake b/src/third_party/wiredtiger/cmake/toolchains/x86/linux/plat_clang.cmake new file mode 100644 index 00000000000..126a3a1bbbe --- /dev/null +++ b/src/third_party/wiredtiger/cmake/toolchains/x86/linux/plat_clang.cmake @@ -0,0 +1,15 @@ +# +# Public Domain 2014-present MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# All rights reserved. +# +# See the file LICENSE for redistribution information. +# + +if(CMAKE_CROSSCOMPILING) + set(TRIPLE_TARGET "x86_64-pc-linux-gnu") + set(CROSS_COMPILER_PREFIX ${TRIPLE_TARGET}-) + set(CMAKE_C_COMPILER_TARGET "${TRIPLE_TARGET}") + set(CMAKE_CXX_COMPILER_TARGET "${TRIPLE_TARGET}") + set(CMAKE_ASM_COMPILER_TARGET "${TRIPLE_TARGET}") +endif() diff --git a/src/third_party/wiredtiger/cmake/toolchains/x86/linux/plat_gcc.cmake b/src/third_party/wiredtiger/cmake/toolchains/x86/linux/plat_gcc.cmake new file mode 100644 index 00000000000..2b36fb667d5 --- /dev/null +++ b/src/third_party/wiredtiger/cmake/toolchains/x86/linux/plat_gcc.cmake @@ -0,0 +1,11 @@ +# +# Public Domain 2014-present MongoDB, Inc. +# Public Domain 2008-2014 WiredTiger, Inc. +# All rights reserved. +# +# See the file LICENSE for redistribution information. +# + +if(CMAKE_CROSSCOMPILING) + set(CROSS_COMPILER_PREFIX "x86_64-linux-gnu-") +endif() |