summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/cmake/toolchains
diff options
context:
space:
mode:
authorChenhao Qu <chenhao.qu@mongodb.com>2021-08-11 09:01:20 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-08-11 09:27:10 +0000
commit57303337e398618c9f0bb9ce345a74599c816a77 (patch)
tree520e07ffee8c535fbd018ea6f63852d74dac0aef /src/third_party/wiredtiger/cmake/toolchains
parentb65bf31179daa16151f4d30c0c8cae3511678d1d (diff)
downloadmongo-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')
-rw-r--r--src/third_party/wiredtiger/cmake/toolchains/aarch64/linux/plat_clang.cmake15
-rw-r--r--src/third_party/wiredtiger/cmake/toolchains/aarch64/linux/plat_gcc.cmake11
-rw-r--r--src/third_party/wiredtiger/cmake/toolchains/cl.cmake13
-rw-r--r--src/third_party/wiredtiger/cmake/toolchains/clang.cmake36
-rw-r--r--src/third_party/wiredtiger/cmake/toolchains/gcc.cmake31
-rw-r--r--src/third_party/wiredtiger/cmake/toolchains/mongodbtoolchain_v3_clang.cmake17
-rw-r--r--src/third_party/wiredtiger/cmake/toolchains/mongodbtoolchain_v3_gcc.cmake17
-rw-r--r--src/third_party/wiredtiger/cmake/toolchains/ppc64le/linux/plat_clang.cmake15
-rw-r--r--src/third_party/wiredtiger/cmake/toolchains/ppc64le/linux/plat_gcc.cmake11
-rw-r--r--src/third_party/wiredtiger/cmake/toolchains/s390x/linux/plat_clang.cmake15
-rw-r--r--src/third_party/wiredtiger/cmake/toolchains/s390x/linux/plat_gcc.cmake11
-rw-r--r--src/third_party/wiredtiger/cmake/toolchains/x86/darwin/plat_clang.cmake15
-rw-r--r--src/third_party/wiredtiger/cmake/toolchains/x86/darwin/plat_gcc.cmake14
-rw-r--r--src/third_party/wiredtiger/cmake/toolchains/x86/linux/plat_clang.cmake15
-rw-r--r--src/third_party/wiredtiger/cmake/toolchains/x86/linux/plat_gcc.cmake11
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()