treewide: enable pure Go by default
Pure can be safely enabled by default. For those targets which need cgo,
we can set `pure = "off"` on the go_binary or go_test.
This simplifies transitions, and makes the files/files_cc distinction
obsolete.
Change-Id: Ic1a985e7d347a7222f55735c1ee2016e8a7e1c65
Reviewed-on: https://review.monogon.dev/c/monogon/+/4158
Tested-by: Jenkins CI
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
diff --git a/osbase/build/def.bzl b/osbase/build/def.bzl
index f3ef7a9..66644b4 100644
--- a/osbase/build/def.bzl
+++ b/osbase/build/def.bzl
@@ -1,31 +1,6 @@
-def _build_pure_transition_impl(settings, _attr):
- """
- Transition that enables pure, static build of Go binaries.
- """
- race = settings["@io_bazel_rules_go//go/config:race"]
- pure = not race
-
- return {
- "@io_bazel_rules_go//go/config:pure": pure,
- "@io_bazel_rules_go//go/config:static": True,
- "//command_line_option:platforms": "//build/platforms:linux_amd64_static",
- }
-
-build_pure_transition = transition(
- implementation = _build_pure_transition_impl,
- inputs = [
- "@io_bazel_rules_go//go/config:race",
- ],
- outputs = [
- "@io_bazel_rules_go//go/config:pure",
- "@io_bazel_rules_go//go/config:static",
- "//command_line_option:platforms",
- ],
-)
-
def _build_static_transition_impl(_settings, _attr):
"""
- Transition that enables static builds with CGo and musl for Go binaries.
+ Transition that enables static build of Go and C binaries.
"""
return {
"@io_bazel_rules_go//go/config:static": True,