SERVER-102939: Group the compiler specific build files in toolchains dir. (#34400)

GitOrigin-RevId: 1f0dc8023df35708c65be2760c93afbc0151e125
This commit is contained in:
patricearruda84 2025-04-02 09:01:29 -04:00 committed by MongoDB Bot
parent 87d6117f54
commit 197bbfb335
29 changed files with 63 additions and 63 deletions

View File

@ -1,7 +1,7 @@
load("@npm//:defs.bzl", "npm_link_all_packages")
load("@aspect_rules_js//npm:defs.bzl", "npm_link_package")
load("//bazel/install_rules:install_rules.bzl", "TEST_TAGS", "mongo_install")
load("//bazel/toolchains:mongo_toolchain.bzl", "setup_mongo_toolchain_aliases")
load("//bazel/toolchains/cc:mongo_toolchain.bzl", "setup_mongo_toolchain_aliases")
load("//bazel/config:render_template.bzl", "render_template")
load("@npm//:eslint/package_json.bzl", eslint_bin = "bin")
load("//bazel:mongo_js_rules.bzl", "mongo_js_library")

View File

@ -137,9 +137,9 @@ register_execution_platforms("@internal_platforms_do_not_use//host:host")
## "mongo_toolchain_v5",
##)
#
mongo_apple_toolchain_config = use_repo_rule("//bazel/toolchains/mongo_apple:mongo_apple_toolchain.bzl", "mongo_apple_toolchain_config")
mongo_apple_toolchain_config = use_repo_rule("//bazel/toolchains/cc/mongo_apple:mongo_apple_toolchain.bzl", "mongo_apple_toolchain_config")
mongo_apple_toolchain_setup = use_repo_rule("//bazel/toolchains/mongo_apple:mongo_apple_toolchain.bzl", "mongo_apple_toolchain_setup")
mongo_apple_toolchain_setup = use_repo_rule("//bazel/toolchains/cc/mongo_apple:mongo_apple_toolchain.bzl", "mongo_apple_toolchain_setup")
mongo_apple_toolchain_config(name = "mongo_apple_toolchain_config")

32
MODULE.bazel.lock generated
View File

@ -59,24 +59,24 @@
"moduleExtensions": {
"//bazel:bzlmod.bzl%setup_mongo_python_toolchains": {
"general": {
"bzlTransitiveDigest": "K2FJu7KoZqpnHrorz3m629qCy0gc6MahFUDwzlEU7Jo=",
"bzlTransitiveDigest": "hJjUHd8gYJ+UhUuc0EhGnjmPEIJWFeFqwY2XLEMFLG4=",
"usagesDigest": "bUxjq9n+hj2YwYT/lcSP4lHyQ2GVy5JpFgSmddUqUZg=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
"generatedRepoSpecs": {
"py_host": {
"bzlFile": "@@//bazel/toolchains:python_toolchain.bzl",
"bzlFile": "@@//bazel/toolchains/python:python_toolchain.bzl",
"ruleClassName": "py_download",
"attributes": {}
},
"py_linux_arm64": {
"bzlFile": "@@//bazel/toolchains:python_toolchain.bzl",
"bzlFile": "@@//bazel/toolchains/python:python_toolchain.bzl",
"ruleClassName": "py_download",
"attributes": {
"arch": "aarch64",
"os": "linux",
"build_tpl": "@@//bazel/toolchains:python_toolchain.BUILD",
"build_tpl": "@@//bazel/toolchains/python:python_toolchain.BUILD",
"sha256": "3e26a672df17708c4dc928475a5974c3fb3a34a9b45c65fb4bd1e50504cc84ec",
"urls": [
"https://github.com/indygreg/python-build-standalone/releases/download/20231002/cpython-3.11.6+20231002-aarch64-unknown-linux-gnu-install_only.tar.gz"
@ -84,12 +84,12 @@
}
},
"py_linux_x86_64": {
"bzlFile": "@@//bazel/toolchains:python_toolchain.bzl",
"bzlFile": "@@//bazel/toolchains/python:python_toolchain.bzl",
"ruleClassName": "py_download",
"attributes": {
"arch": "amd64",
"os": "linux",
"build_tpl": "@@//bazel/toolchains:python_toolchain.BUILD",
"build_tpl": "@@//bazel/toolchains/python:python_toolchain.BUILD",
"sha256": "ee37a7eae6e80148c7e3abc56e48a397c1664f044920463ad0df0fc706eacea8",
"urls": [
"https://github.com/indygreg/python-build-standalone/releases/download/20231002/cpython-3.11.6+20231002-x86_64-unknown-linux-gnu-install_only.tar.gz"
@ -97,12 +97,12 @@
}
},
"py_linux_ppc64le": {
"bzlFile": "@@//bazel/toolchains:python_toolchain.bzl",
"bzlFile": "@@//bazel/toolchains/python:python_toolchain.bzl",
"ruleClassName": "py_download",
"attributes": {
"arch": "ppc64le",
"os": "linux",
"build_tpl": "@@//bazel/toolchains:python_toolchain.BUILD",
"build_tpl": "@@//bazel/toolchains/python:python_toolchain.BUILD",
"sha256": "7937035f690a624dba4d014ffd20c342e843dd46f89b0b0a1e5726b85deb8eaf",
"urls": [
"https://github.com/indygreg/python-build-standalone/releases/download/20231002/cpython-3.11.6+20231002-ppc64le-unknown-linux-gnu-install_only.tar.gz"
@ -110,12 +110,12 @@
}
},
"py_linux_s390x": {
"bzlFile": "@@//bazel/toolchains:python_toolchain.bzl",
"bzlFile": "@@//bazel/toolchains/python:python_toolchain.bzl",
"ruleClassName": "py_download",
"attributes": {
"arch": "s390x",
"os": "linux",
"build_tpl": "@@//bazel/toolchains:python_toolchain.BUILD",
"build_tpl": "@@//bazel/toolchains/python:python_toolchain.BUILD",
"sha256": "f9f19823dba3209cedc4647b00f46ed0177242917db20fb7fb539970e384531c",
"urls": [
"https://github.com/indygreg/python-build-standalone/releases/download/20231002/cpython-3.11.6+20231002-s390x-unknown-linux-gnu-install_only.tar.gz"
@ -123,12 +123,12 @@
}
},
"py_windows_x86_64": {
"bzlFile": "@@//bazel/toolchains:python_toolchain.bzl",
"bzlFile": "@@//bazel/toolchains/python:python_toolchain.bzl",
"ruleClassName": "py_download",
"attributes": {
"arch": "amd64",
"os": "windows",
"build_tpl": "@@//bazel/toolchains:python_toolchain.BUILD",
"build_tpl": "@@//bazel/toolchains/python:python_toolchain.BUILD",
"interpreter_path": "dist/python.exe",
"sha256": "35458ef3163a2705cd0952ba1df6012acb42b043349dcb31ab49afec341369cf",
"urls": [
@ -137,12 +137,12 @@
}
},
"py_macos_arm64": {
"bzlFile": "@@//bazel/toolchains:python_toolchain.bzl",
"bzlFile": "@@//bazel/toolchains/python:python_toolchain.bzl",
"ruleClassName": "py_download",
"attributes": {
"arch": "aarch64",
"os": "macos",
"build_tpl": "@@//bazel/toolchains:python_toolchain.BUILD",
"build_tpl": "@@//bazel/toolchains/python:python_toolchain.BUILD",
"sha256": "916c35125b5d8323a21526d7a9154ca626453f63d0878e95b9f613a95006c990",
"urls": [
"https://github.com/indygreg/python-build-standalone/releases/download/20231002/cpython-3.11.6+20231002-aarch64-apple-darwin-install_only.tar.gz"
@ -150,12 +150,12 @@
}
},
"py_macos_x86_64": {
"bzlFile": "@@//bazel/toolchains:python_toolchain.bzl",
"bzlFile": "@@//bazel/toolchains/python:python_toolchain.bzl",
"ruleClassName": "py_download",
"attributes": {
"arch": "amd64",
"os": "macos",
"build_tpl": "@@//bazel/toolchains:python_toolchain.BUILD",
"build_tpl": "@@//bazel/toolchains/python:python_toolchain.BUILD",
"sha256": "178cb1716c2abc25cb56ae915096c1a083e60abeba57af001996e8bc6ce1a371",
"urls": [
"https://github.com/indygreg/python-build-standalone/releases/download/20231002/cpython-3.11.6+20231002-x86_64-apple-darwin-install_only.tar.gz"

View File

@ -1,5 +1,5 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("//bazel/toolchains:mongo_toolchain.bzl", "setup_mongo_toolchains")
load("//bazel/toolchains/cc:mongo_toolchain.bzl", "setup_mongo_toolchains")
http_archive(
name = "aspect_rules_lint",

View File

@ -1,7 +1,7 @@
load("@bazel_features//:deps.bzl", _bazel_features_deps = "bazel_features_deps")
load("//bazel/platforms:local_config_platform.bzl", "setup_local_config_platform")
load("//bazel/toolchains:python_toolchain.bzl", _setup_mongo_python_toolchains = "setup_mongo_python_toolchains")
load("//bazel/toolchains:mongo_toolchain.bzl", _setup_mongo_toolchains = "setup_mongo_toolchains")
load("//bazel/toolchains/python:python_toolchain.bzl", _setup_mongo_python_toolchains = "setup_mongo_python_toolchains")
load("//bazel/toolchains/cc:mongo_toolchain.bzl", _setup_mongo_toolchains = "setup_mongo_toolchains")
def _bazel_features_deps_impl(_ctx):
_bazel_features_deps()

View File

@ -2,9 +2,9 @@
BUILD files in the "src/" subtree.
"""
load("//bazel/toolchains:mongo_defines.bzl", "MONGO_GLOBAL_DEFINES")
load("//bazel/toolchains/cc:mongo_defines.bzl", "MONGO_GLOBAL_DEFINES")
load(
"//bazel/toolchains:mongo_errors.bzl",
"//bazel/toolchains/cc:mongo_errors.bzl",
"LIBCXX_ERROR_MESSAGE",
"REQUIRED_SETTINGS_LIBUNWIND_ERROR_MESSAGE",
"SYSTEM_ALLOCATOR_SANITIZER_ERROR_MESSAGE",
@ -720,7 +720,6 @@ FUZZER_SANITIZER_LINKFLAGS = select({
"//bazel/config:fsan_disabled": [],
}, no_match_error = SYSTEM_ALLOCATOR_SANITIZER_ERROR_MESSAGE + "fuzzer")
# TODO - Patrice: Move error message to defs.
# Combines following two conditions -
# 1.
# TODO: SERVER-48622

View File

@ -1,6 +1,6 @@
load("//bazel/platforms:remote_execution_containers.bzl", "REMOTE_EXECUTION_CONTAINERS")
load("//bazel/platforms:normalize.bzl", "ARCH_TO_PLATFORM_MAP", "OS_TO_PLATFORM_MAP")
load("//bazel/toolchains:mongo_toolchain_version.bzl", "TOOLCHAIN_MAP")
load("//bazel/toolchains/cc:mongo_toolchain_version.bzl", "TOOLCHAIN_MAP")
load("//bazel:utils.bzl", "get_host_distro_major_version")
def _setup_local_config_platform(ctx):

View File

@ -35,7 +35,7 @@ load("@build_bazel_apple_support//lib:apple_support.bzl", "apple_support")
###
# mongodb customization
load("@//bazel/toolchains/mongo_apple:mongo_custom_features.bzl", "mongo_frameworks_feature")
load("@//bazel/toolchains/cc/mongo_apple:mongo_custom_features.bzl", "mongo_frameworks_feature")
###
# TODO: Remove when we drop bazel 6.x support

View File

@ -1,5 +1,5 @@
load("@build_bazel_apple_support//configs:platforms.bzl", "APPLE_PLATFORMS_CONSTRAINTS")
load("@//bazel/toolchains/mongo_apple:mongo_apple_toolchain.bzl", "get_supported_apple_archs")
load("@//bazel/toolchains/cc/mongo_apple:mongo_apple_toolchain.bzl", "get_supported_apple_archs")
package(default_visibility = ["//visibility:public"])
[
@ -17,4 +17,4 @@ package(default_visibility = ["//visibility:public"])
toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
)
for apple_arch, cpu in get_supported_apple_archs().items()
]
]

View File

@ -175,7 +175,7 @@ def configure_osx_toolchain(repository_ctx):
###
# mongodb customization
cc_toolchain_config = Label("@//bazel/toolchains/mongo_apple:mongo_apple_cc_toolchain_config.bzl")
cc_toolchain_config = Label("@//bazel/toolchains/cc/mongo_apple:mongo_apple_cc_toolchain_config.bzl")
###
build_template = Label("@build_bazel_apple_support//crosstool:BUILD.tpl")
@ -333,7 +333,7 @@ mongo_apple_toolchain_setup = repository_rule(
doc = "Host architecture.",
),
"build_tpl": attr.label(
default = "//bazel/toolchains/mongo_apple:mongo_apple_toolchain.BUILD",
default = "//bazel/toolchains/cc/mongo_apple:mongo_apple_toolchain.BUILD",
doc = "Label denoting the BUILD file template that get's installed in the repo.",
),
},

View File

@ -2,7 +2,8 @@
"""
load(
"//bazel/toolchains:mongo_errors.bzl",
"//bazel/toolchains/cc:mongo_errors.bzl",
"GLIBCXX_DEBUG_ERROR_MESSAGE",
"LIBCXX_ERROR_MESSAGE",
"SYSTEM_ALLOCATOR_SANITIZER_ERROR_MESSAGE",
"THREAD_SANITIZER_ERROR_MESSAGE",
@ -153,14 +154,6 @@ UNDEFINED_SANITIZER_DEFINES = select({
"//bazel/config:ubsan_disabled": [],
})
#TODO SERVER-84714 add message about using the toolchain version of C++ libs
GLIBCXX_DEBUG_ERROR_MESSAGE = """
Error:
glibcxx_debug requires these configurations:
--dbg=True
--use_libcxx=False
"""
GLIBCXX_DEBUG_DEFINES = select({
("//bazel/config:use_glibcxx_debug_required_settings"): ["_GLIBCXX_DEBUG"],
("//bazel/config:use_glibcxx_debug_disabled"): [],

View File

@ -1,5 +1,5 @@
"""This file contains a list of error strings that is related
to toolchain.
"""This file contains a list of error strings that is related to
all functionality under toolchains/cc.
"""
THREAD_SANITIZER_ERROR_MESSAGE = """
@ -22,6 +22,14 @@ Error:
libc++ requires these configuration: --compiler_type=clang
"""
#TODO SERVER-84714 add message about using the toolchain version of C++ libs
GLIBCXX_DEBUG_ERROR_MESSAGE = """
Error:
glibcxx_debug requires these configurations:
--dbg=True
--use_libcxx=False
"""
REQUIRED_SETTINGS_LIBUNWIND_ERROR_MESSAGE = """
Error:
libunwind=on is only supported on linux"

View File

@ -1,6 +1,6 @@
# This file exists to describe "mongo_toolchain", the http_archive defined in WORKSPACE.bazel
load("@//bazel/toolchains:mongo_linux_cc_toolchain_config.bzl", "mongo_linux_cc_toolchain_config")
load("@//bazel/toolchains/cc:mongo_linux_cc_toolchain_config.bzl", "mongo_linux_cc_toolchain_config")
load("@mongo_toolchain_{version}//:mongo_toolchain_flags.bzl",
"CLANG_INCLUDE_DIRS",
"COMMON_BINDIRS",

View File

@ -1,6 +1,6 @@
load("//bazel:utils.bzl", "get_host_distro_major_version", "retry_download_and_extract")
load("//bazel/platforms:normalize.bzl", "ARCH_NORMALIZE_MAP")
load("//bazel/toolchains:mongo_toolchain_version.bzl", "TOOLCHAIN_MAP")
load("//bazel/toolchains/cc:mongo_toolchain_version.bzl", "TOOLCHAIN_MAP")
def _generate_noop_toolchain(ctx, substitutions):
# BUILD file is required for a no-op
@ -128,7 +128,7 @@ toolchain_download = repository_rule(
mandatory = True,
),
"build_tpl": attr.label(
default = "//bazel/toolchains:mongo_toolchain.BUILD",
default = "//bazel/toolchains/cc:mongo_toolchain.BUILD",
doc = "Label denoting the BUILD file template that gets installed in the repo.",
),
},
@ -138,13 +138,13 @@ def setup_mongo_toolchains():
toolchain_download(
name = "mongo_toolchain_v4",
version = "v4",
flags_tpl = "//bazel/toolchains:mongo_toolchain_flags_v4.bzl",
flags_tpl = "//bazel/toolchains/cc:mongo_toolchain_flags_v4.bzl",
)
toolchain_download(
name = "mongo_toolchain_v5",
version = "v5",
flags_tpl = "//bazel/toolchains:mongo_toolchain_flags_v5.bzl",
flags_tpl = "//bazel/toolchains/cc:mongo_toolchain_flags_v5.bzl",
)
native.register_toolchains(

View File

@ -0,0 +1,7 @@
load("//bazel/toolchains/cc:mongo_toolchain_version_v4.bzl", "TOOLCHAIN_MAP_V4")
load("//bazel/toolchains/cc:mongo_toolchain_version_v5.bzl", "TOOLCHAIN_MAP_V5")
TOOLCHAIN_MAP = {
"v4": TOOLCHAIN_MAP_V4,
"v5": TOOLCHAIN_MAP_V5,
}

View File

@ -1,7 +0,0 @@
load("//bazel/toolchains:mongo_toolchain_version_v4.bzl", "TOOLCHAIN_MAP_V4")
load("//bazel/toolchains:mongo_toolchain_version_v5.bzl", "TOOLCHAIN_MAP_V5")
TOOLCHAIN_MAP = {
"v4": TOOLCHAIN_MAP_V4,
"v5": TOOLCHAIN_MAP_V5,
}

View File

View File

@ -185,7 +185,7 @@ py_download = repository_rule(
doc = "Path you'd expect the python interpreter binary to live.",
),
"build_tpl": attr.label(
default = "//bazel/toolchains:python_toolchain.BUILD",
default = "//bazel/toolchains/python:python_toolchain.BUILD",
doc = "Label denoting the BUILD file template that get's installed in the repo.",
),
},
@ -204,7 +204,7 @@ def setup_mongo_python_toolchains():
name = "py_linux_arm64",
arch = "aarch64",
os = "linux",
build_tpl = "//bazel/toolchains:python_toolchain.BUILD",
build_tpl = "//bazel/toolchains/python:python_toolchain.BUILD",
sha256 = URLS_MAP["linux_aarch64"]["sha"],
urls = [URLS_MAP["linux_aarch64"]["url"]],
)
@ -213,7 +213,7 @@ def setup_mongo_python_toolchains():
name = "py_linux_x86_64",
arch = "amd64",
os = "linux",
build_tpl = "//bazel/toolchains:python_toolchain.BUILD",
build_tpl = "//bazel/toolchains/python:python_toolchain.BUILD",
sha256 = URLS_MAP["linux_amd64"]["sha"],
urls = [URLS_MAP["linux_amd64"]["url"]],
)
@ -222,7 +222,7 @@ def setup_mongo_python_toolchains():
name = "py_linux_ppc64le",
arch = "ppc64le",
os = "linux",
build_tpl = "//bazel/toolchains:python_toolchain.BUILD",
build_tpl = "//bazel/toolchains/python:python_toolchain.BUILD",
sha256 = URLS_MAP["linux_ppc64le"]["sha"],
urls = [URLS_MAP["linux_ppc64le"]["url"]],
)
@ -231,7 +231,7 @@ def setup_mongo_python_toolchains():
name = "py_linux_s390x",
arch = "s390x",
os = "linux",
build_tpl = "//bazel/toolchains:python_toolchain.BUILD",
build_tpl = "//bazel/toolchains/python:python_toolchain.BUILD",
sha256 = URLS_MAP["linux_s390x"]["sha"],
urls = [URLS_MAP["linux_s390x"]["url"]],
)
@ -240,7 +240,7 @@ def setup_mongo_python_toolchains():
name = "py_windows_x86_64",
arch = "amd64",
os = "windows",
build_tpl = "//bazel/toolchains:python_toolchain.BUILD",
build_tpl = "//bazel/toolchains/python:python_toolchain.BUILD",
interpreter_path = "dist/python.exe",
sha256 = URLS_MAP["windows_amd64"]["sha"],
urls = [URLS_MAP["windows_amd64"]["url"]],
@ -250,7 +250,7 @@ def setup_mongo_python_toolchains():
name = "py_macos_arm64",
arch = "aarch64",
os = "macos",
build_tpl = "//bazel/toolchains:python_toolchain.BUILD",
build_tpl = "//bazel/toolchains/python:python_toolchain.BUILD",
sha256 = URLS_MAP["macos_aarch64"]["sha"],
urls = [URLS_MAP["macos_aarch64"]["url"]],
)
@ -259,7 +259,7 @@ def setup_mongo_python_toolchains():
name = "py_macos_x86_64",
arch = "amd64",
os = "macos",
build_tpl = "//bazel/toolchains:python_toolchain.BUILD",
build_tpl = "//bazel/toolchains/python:python_toolchain.BUILD",
sha256 = URLS_MAP["macos_x86_64"]["sha"],
urls = [URLS_MAP["macos_x86_64"]["url"]],
)

View File

@ -1,4 +1,4 @@
load("//bazel/toolchains:mongo_defines.bzl", "MONGO_GLOBAL_DEFINES")
load("//bazel/toolchains/cc:mongo_defines.bzl", "MONGO_GLOBAL_DEFINES")
load("//bazel:mongo_src_rules.bzl", "MONGO_GLOBAL_COPTS", "MONGO_GLOBAL_LINKFLAGS", "idl_generator", "mongo_cc_benchmark", "mongo_cc_binary", "mongo_cc_library", "mongo_cc_unit_test")
load("//bazel/config:generate_config_header.bzl", "generate_config_header")
load("//bazel/config:render_template.bzl", "render_template")