Skip to content

Commit 57c8ea4

Browse files
committed
Bring in the latest version of Bazel's builtins_bzl
This gets rid of the vast majority of the code, as it has since moved into rules_cc. Because rules_cc depends on a different set of builtins than what we had before, we need to fix up builtins_core as well.
1 parent 697dcf0 commit 57c8ea4

74 files changed

Lines changed: 602 additions & 19062 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

pkg/model/starlark/builtins.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1038,7 +1038,7 @@ func GetBuiltins[TReference object.BasicReference, TMetadata model_core.Referenc
10381038
)
10391039
},
10401040
),
1041-
"bazel_version": starlark.String("8.0.0"),
1041+
"bazel_version": starlark.String("10.0.0"),
10421042
"current_ctx": starlark.NewBuiltin(
10431043
"native.current_ctx",
10441044
func(thread *starlark.Thread, b *starlark.Builtin, args starlark.Tuple, kwargs []starlark.Tuple) (starlark.Value, error) {

starlark/bazel_tools/command_line_option/BUILD.bazel

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,25 @@ int_flag(
136136
visibility = ["//visibility:public"],
137137
)
138138

139+
# TODO: Should be a string_keyed_label_dict_flag().
140+
string_list_flag(
141+
name = "bytecode_optimizers",
142+
build_setting_default = [],
143+
visibility = ["//visibility:public"],
144+
)
145+
146+
bool_flag(
147+
name = "cc_dotd_files",
148+
build_setting_default = True,
149+
visibility = ["//visibility:public"],
150+
)
151+
152+
bool_flag(
153+
name = "cc_include_scanning",
154+
build_setting_default = False,
155+
visibility = ["//visibility:public"],
156+
)
157+
139158
string_list_flag(
140159
name = "cc_proto_library_header_suffixes",
141160
build_setting_default = [".pb.h"],
@@ -333,6 +352,12 @@ bool_flag(
333352
visibility = ["//visibility:public"],
334353
)
335354

355+
bool_flag(
356+
name = "experimental_allow_map_directory",
357+
build_setting_default = True,
358+
visibility = ["//visibility:public"],
359+
)
360+
336361
bool_flag(
337362
name = "experimental_allow_runtime_deps_on_neverlink",
338363
build_setting_default = True,
@@ -466,6 +491,12 @@ bool_flag(
466491
visibility = ["//visibility:public"],
467492
)
468493

494+
bool_flag(
495+
name = "experimental_enforce_transitive_visibility",
496+
build_setting_default = True,
497+
visibility = ["//visibility:public"],
498+
)
499+
469500
bool_flag(
470501
name = "experimental_exclude_defines_from_exec_config",
471502
build_setting_default = False,
@@ -792,6 +823,12 @@ bool_flag(
792823
visibility = ["//visibility:public"],
793824
)
794825

826+
int_flag(
827+
name = "experimental_turbine_cpu_reservation",
828+
build_setting_default = 1,
829+
visibility = ["//visibility:public"],
830+
)
831+
795832
bool_flag(
796833
name = "experimental_unsupported_and_brittle_include_scanning",
797834
build_setting_default = False,
@@ -1046,6 +1083,12 @@ bool_flag(
10461083
visibility = ["//visibility:public"],
10471084
)
10481085

1086+
bool_flag(
1087+
name = "incompatible_bep_cpu_from_platform",
1088+
build_setting_default = False,
1089+
visibility = ["//visibility:public"],
1090+
)
1091+
10491092
bool_flag(
10501093
name = "incompatible_builtin_objc_strip_action",
10511094
build_setting_default = True,
@@ -1064,6 +1107,12 @@ bool_flag(
10641107
visibility = ["//visibility:public"],
10651108
)
10661109

1110+
bool_flag(
1111+
name = "incompatible_compact_repo_mapping_manifest",
1112+
build_setting_default = True,
1113+
visibility = ["//visibility:public"],
1114+
)
1115+
10671116
bool_flag(
10681117
name = "incompatible_default_to_explicit_init_py",
10691118
build_setting_default = False,
@@ -1130,6 +1179,24 @@ bool_flag(
11301179
visibility = ["//visibility:public"],
11311180
)
11321181

1182+
bool_flag(
1183+
name = "incompatible_exclude_starlark_flags_from_exec_config",
1184+
build_setting_default = True,
1185+
visibility = ["//visibility:public"],
1186+
)
1187+
1188+
bool_flag(
1189+
name = "incompatible_filegroup_runfiles_for_data",
1190+
build_setting_default = True,
1191+
visibility = ["//visibility:public"],
1192+
)
1193+
1194+
label_list_flag(
1195+
name = "incompatible_limit_platforms_in_output_dir_to",
1196+
build_setting_default = [],
1197+
visibility = ["//visibility:public"],
1198+
)
1199+
11331200
bool_flag(
11341201
name = "incompatible_make_thinlto_command_lines_standalone",
11351202
build_setting_default = True,
@@ -1190,6 +1257,24 @@ bool_flag(
11901257
visibility = ["//visibility:public"],
11911258
)
11921259

1260+
bool_flag(
1261+
name = "incompatible_remove_ctx_android_fragment",
1262+
build_setting_default = False,
1263+
visibility = ["//visibility:public"],
1264+
)
1265+
1266+
bool_flag(
1267+
name = "incompatible_remove_ctx_apple_fragment",
1268+
build_setting_default = False,
1269+
visibility = ["//visibility:public"],
1270+
)
1271+
1272+
bool_flag(
1273+
name = "incompatible_remove_ctx_objc_fragment",
1274+
build_setting_default = False,
1275+
visibility = ["//visibility:public"],
1276+
)
1277+
11931278
bool_flag(
11941279
name = "incompatible_remove_old_python_version_api",
11951280
build_setting_default = True,
@@ -1376,6 +1461,12 @@ string_list_flag(
13761461
visibility = ["//visibility:public"],
13771462
)
13781463

1464+
bool_flag(
1465+
name = "objc_use_dotd_pruning",
1466+
build_setting_default = True,
1467+
visibility = ["//visibility:public"],
1468+
)
1469+
13791470
bool_flag(
13801471
name = "one_version_enforcement_on_java_tests",
13811472
build_setting_default = True,

starlark/bazel_tools/fragments/fragments.bzl

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,11 @@ def _cpp_fragment_impl(ctx):
103103
remove_legacy_whole_archive = ctx.attr._remove_legacy_whole_archive[BuildSettingInfo].value
104104
save_feature_state = ctx.attr._save_feature_state[BuildSettingInfo].value
105105
save_temps = ctx.attr._save_temps[BuildSettingInfo].value
106-
start_end_lib = ctx.attr._start_end_lib[BuildSettingInfo].value
106+
should_generate_dotd_files = ctx.attr._cc_dotd_files[BuildSettingInfo].value
107107
strip = ctx.attr._strip[BuildSettingInfo].value
108-
stripopt = ctx.attr._stripopt[BuildSettingInfo].value
109108
should_strip_binaries = strip == "always" or (strip == "sometimes" and compilation_mode == "fastbuild")
109+
start_end_lib = ctx.attr._start_end_lib[BuildSettingInfo].value
110+
stripopt = ctx.attr._stripopt[BuildSettingInfo].value
110111
use_specific_tool_files = ctx.attr._use_specific_tool_files[BuildSettingInfo].value
111112
return [FragmentInfo(
112113
_dont_enable_host_nonhost = ctx.attr._dont_enable_host_nonhost_crosstool_features[BuildSettingInfo].value,
@@ -141,6 +142,7 @@ def _cpp_fragment_impl(ctx):
141142
proto_profile = lambda: proto_profile,
142143
save_feature_state = lambda: save_feature_state,
143144
save_temps = lambda: save_temps,
145+
should_generate_dotd_files = lambda: should_generate_dotd_files,
144146
should_strip_binaries = lambda: should_strip_binaries,
145147
start_end_lib = lambda: start_end_lib,
146148
strip_opts = lambda: stripopt,
@@ -150,6 +152,7 @@ cpp_fragment = rule(
150152
_cpp_fragment_impl,
151153
attrs = {
152154
"_apple_generate_dsym": attr.label(default = "//command_line_option:apple_generate_dsym"),
155+
"_cc_dotd_files": attr.label(default = "//command_line_option:cc_dotd_files"),
153156
"_cc_implementation_deps": attr.label(default = "//command_line_option:experimental_cc_implementation_deps"),
154157
"_collect_code_coverage": attr.label(default = "//command_line_option:collect_code_coverage"),
155158
"_compilation_mode": attr.label(default = "//command_line_option:compilation_mode"),

starlark/bazel_tools/tools/jdk/launcher_flag_alias.bzl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414

1515
"""Temporary implementation of a rule that aliases the value of --java_launcher flag"""
1616

17+
load("@rules_cc//cc/common:cc_common.bzl", "cc_common")
18+
load("@rules_cc//cc/common:cc_info.bzl", "CcInfo")
19+
1720
_providers = (
1821
[CcInfo, getattr(cc_common, "launcher_provider")] if hasattr(cc_common, "launcher_provider") else [CcInfo]
1922
)

starlark/builtins_bzl/bazel/exports.bzl

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,47 @@
1414

1515
"""Exported builtins symbols that are specific to OSS Bazel."""
1616

17-
load("@_builtins//:common/python/py_internal.bzl", "py_internal")
17+
load(":common/cc/cc_common_bazel.bzl", "cc_common")
1818
load(":common/java/java_common.bzl", "java_common_export_for_bazel")
19+
load(":common/objc/apple_common.bzl", "apple_common_bazel")
20+
load(":common/python/py_internal.bzl", "py_internal")
21+
22+
_REMOVED_RULES = [
23+
"cc_binary",
24+
"cc_import",
25+
"cc_library",
26+
"cc_shared_library",
27+
"cc_static_library",
28+
"cc_test",
29+
"cc_toolchain",
30+
"cc_toolchain_alias",
31+
"fdo_prefetch_hints",
32+
"fdo_profile",
33+
"memprof_profile",
34+
"propeller_optimize",
35+
"objc_import",
36+
"objc_library",
37+
]
38+
39+
def _removed_rule_failure(**_kwargs):
40+
fail("""
41+
This rule has been removed from Bazel. Please add a `load()` statement for it.
42+
This can also be done automatically by running:
43+
buildifier --lint=fix <path-to-BUILD-or-bzl-file>
44+
""")
1945

2046
exported_toplevels = {
2147
"py_internal": py_internal,
2248
"java_common": java_common_export_for_bazel,
49+
"cc_common": cc_common,
50+
"apple_common": apple_common_bazel,
2351
}
24-
exported_rules = {}
52+
53+
exported_rules = {
54+
"cc_toolchain_suite": lambda name, **kwargs: _builtins.toplevel.native.filegroup(name = name),
55+
} | {
56+
rule_name: _removed_rule_failure
57+
for rule_name in _REMOVED_RULES
58+
}
59+
2560
exported_to_java = {}

0 commit comments

Comments
 (0)