Skip to content

Commit 61213e6

Browse files
committed
Update toolchain registration
1 parent bbb54a6 commit 61213e6

File tree

5 files changed

+43
-35
lines changed

5 files changed

+43
-35
lines changed

MODULE.bazel

+2-10
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ module(
66
compatibility_level = 1,
77
)
88

9-
bazel_dep(name = "bazel_skylib", version = "1.3.0")
10-
bazel_dep(name = "platforms", version = "0.0.5")
9+
bazel_dep(name = "bazel_skylib", version = "1.4.2")
10+
bazel_dep(name = "platforms", version = "0.0.7")
1111
bazel_dep(name = "rules_python", version = "0.23.1")
1212

1313
# Dev dependencies
@@ -23,23 +23,15 @@ use_repo(python, "python_3_9")
2323
tools = use_extension("@rules_foreign_cc//foreign_cc:extensions.bzl", "tools")
2424
use_repo(
2525
tools,
26-
"cmake_3.23.2_toolchains",
2726
"cmake_src",
28-
"gettext_runtime",
29-
"glib_dev",
30-
"glib_src",
3127
"gnumake_src",
3228
"meson_src",
33-
"ninja_1.12.0_toolchains",
3429
"ninja_build_src",
3530
"pkgconfig_src",
3631
"rules_foreign_cc_framework_toolchains",
3732
)
3833

3934
register_toolchains(
4035
"@rules_foreign_cc_framework_toolchains//:all",
41-
"@cmake_3.23.2_toolchains//:all",
42-
"@ninja_1.12.0_toolchains//:all",
43-
"@python_3_9//:all",
4436
"@rules_foreign_cc//toolchains:all",
4537
)

examples/MODULE.bazel

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ use_repo(
1212
"meson_src",
1313
)
1414

15-
bazel_dep(name = "platforms", version = "0.0.6")
16-
bazel_dep(name = "rules_swift", version = "1.6.0", repo_name = "build_bazel_rules_swift")
15+
bazel_dep(name = "platforms", version = "0.0.7")
16+
bazel_dep(name = "rules_swift", version = "1.17.0", repo_name = "build_bazel_rules_swift")
1717
bazel_dep(name = "rules_apple", version = "3.4.0", repo_name = "build_bazel_rules_apple")
18-
bazel_dep(name = "apple_support", version = "1.12.0", repo_name = "build_bazel_apple_support")
19-
bazel_dep(name = "rules_python", version = "0.23.0")
18+
bazel_dep(name = "apple_support", version = "1.14.0", repo_name = "build_bazel_apple_support")
19+
bazel_dep(name = "rules_python", version = "0.23.1")
2020

2121
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
2222
python.toolchain(

examples/WORKSPACE.bzlmod

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ load("//deps:repositories.bzl", "repositories")
44

55
repositories()
66

7-
load("//deps:deps_android.bzl", "deps_android")
8-
9-
deps_android()
7+
# load("//deps:deps_android.bzl", "deps_android")
8+
#
9+
# deps_android()
1010

1111
load("//deps:deps_jvm_external.bzl", "deps_jvm_external")
1212

foreign_cc/extensions.bzl

+30-14
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
"""Entry point for extensions used by bzlmod."""
22

33
load("//foreign_cc:repositories.bzl", "DEFAULT_CMAKE_VERSION", "DEFAULT_MAKE_VERSION", "DEFAULT_MESON_VERSION", "DEFAULT_NINJA_VERSION", "DEFAULT_PKGCONFIG_VERSION", "rules_foreign_cc_dependencies")
4-
load("//toolchains:built_toolchains.bzl", "make_toolchain", "meson_toolchain", "pkgconfig_toolchain")
4+
load("//foreign_cc/private/framework:toolchain.bzl", "register_framework_toolchains")
5+
load("//toolchains:built_toolchains.bzl", cmake_toolchains_src = "cmake_toolchain", "make_toolchain", "meson_toolchain", "pkgconfig_toolchain", ninja_toolchains_src = "ninja_toolchain")
56
load("//toolchains:prebuilt_toolchains.bzl", "cmake_toolchains", "ninja_toolchains")
67

78
cmake_toolchain_version = tag_class(attrs = {
@@ -25,36 +26,51 @@ pkgconfig_toolchain_version = tag_class(attrs = {
2526
})
2627

2728
def _init(module_ctx):
29+
cmake_registered = False
30+
make_registered = False
31+
meson_registered = False
32+
ninja_registered = False
33+
pkgconfig_registered = False
34+
2835
for mod in module_ctx.modules:
2936
if mod.is_root:
3037
for toolchain in mod.tags.cmake:
38+
cmake_toolchains_src(toolchain.version, register_toolchains = False)
3139
cmake_toolchains(toolchain.version, register_toolchains = False)
40+
cmake_registered = True
3241

3342
for toolchain in mod.tags.make:
3443
make_toolchain(toolchain.version, register_toolchains = False)
44+
make_registered = True
3545

3646
for toolchain in mod.tags.meson:
3747
meson_toolchain(toolchain.version, register_toolchains = False)
48+
meson_registered = True
3849

3950
for toolchain in mod.tags.ninja:
4051
ninja_toolchains(toolchain.version, register_toolchains = False)
52+
ninja_toolchains_src(toolchain.version, register_toolchains = False)
53+
ninja_registered = True
4154

4255
for toolchain in mod.tags.pkgconfig:
4356
pkgconfig_toolchain(toolchain.version, register_toolchains = False)
57+
pkgconfig_registered = True
58+
59+
if not cmake_registered:
60+
cmake_toolchains_src(DEFAULT_CMAKE_VERSION, register_toolchains = False)
61+
cmake_toolchains(DEFAULT_CMAKE_VERSION, register_toolchains = False)
62+
if not make_registered:
63+
make_toolchain(DEFAULT_MAKE_VERSION, register_toolchains = False)
64+
if not meson_registered:
65+
meson_toolchain(DEFAULT_MESON_VERSION, register_toolchains = False)
66+
if not ninja_registered:
67+
ninja_toolchains(DEFAULT_NINJA_VERSION, register_toolchains = False)
68+
ninja_toolchains_src(DEFAULT_NINJA_VERSION, register_toolchains = False)
69+
if not pkgconfig_registered:
70+
pkgconfig_toolchain(DEFAULT_PKGCONFIG_VERSION, register_toolchains = False)
71+
72+
register_framework_toolchains(register_toolchains = False)
4473

45-
cmake_toolchains(DEFAULT_CMAKE_VERSION, register_toolchains = False)
46-
make_toolchain(DEFAULT_MAKE_VERSION, register_toolchains = False)
47-
meson_toolchain(DEFAULT_MESON_VERSION, register_toolchains = False)
48-
ninja_toolchains(DEFAULT_NINJA_VERSION, register_toolchains = False)
49-
pkgconfig_toolchain(DEFAULT_PKGCONFIG_VERSION, register_toolchains = False)
50-
51-
rules_foreign_cc_dependencies(
52-
register_toolchains = False,
53-
register_built_tools = True,
54-
register_default_tools = False,
55-
register_preinstalled_tools = False,
56-
register_built_pkgconfig_toolchain = False,
57-
)
5874

5975
tools = module_extension(
6076
implementation = _init,

toolchains/built_toolchains.bzl

+4-4
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,15 @@ def built_toolchains(cmake_version, make_version, ninja_version, meson_version,
4646
4747
register_built_pkgconfig_toolchain: If true, the built pkgconfig toolchain will be registered.
4848
"""
49-
_cmake_toolchain(cmake_version, register_toolchains)
49+
cmake_toolchain(cmake_version, register_toolchains)
5050
make_toolchain(make_version, register_toolchains)
51-
_ninja_toolchain(ninja_version, register_toolchains)
51+
ninja_toolchain(ninja_version, register_toolchains)
5252
meson_toolchain(meson_version, register_toolchains)
5353

5454
if register_built_pkgconfig_toolchain:
5555
pkgconfig_toolchain(pkgconfig_version, register_toolchains)
5656

57-
def _cmake_toolchain(version, register_toolchains):
57+
def cmake_toolchain(version, register_toolchains):
5858
if register_toolchains:
5959
native.register_toolchains(
6060
"@rules_foreign_cc//toolchains:built_cmake_toolchain",
@@ -130,7 +130,7 @@ def make_toolchain(version, register_toolchains):
130130

131131
fail("Unsupported make version: " + str(version))
132132

133-
def _ninja_toolchain(version, register_toolchains):
133+
def ninja_toolchain(version, register_toolchains):
134134
if register_toolchains:
135135
native.register_toolchains(
136136
"@rules_foreign_cc//toolchains:built_ninja_toolchain",

0 commit comments

Comments
 (0)