blob: e88614b0b9d5d28624270ea8cdc659bcbef620ca [file] [log] [blame]
Tim Windelschmidt156248b2025-01-10 00:27:45 +01001def _build_pure_transition_impl(settings, _attr):
Serge Bazanskic3ae7582020-06-08 17:15:26 +02002 """
3 Transition that enables pure, static build of Go binaries.
4 """
Tim Windelschmidt3a171d12024-12-09 23:51:23 +01005 race = settings["@io_bazel_rules_go//go/config:race"]
Serge Bazanski30021af2023-06-20 13:30:11 +02006 pure = not race
7
Serge Bazanskic3ae7582020-06-08 17:15:26 +02008 return {
Serge Bazanski30021af2023-06-20 13:30:11 +02009 "@io_bazel_rules_go//go/config:pure": pure,
Serge Bazanskic3ae7582020-06-08 17:15:26 +020010 "@io_bazel_rules_go//go/config:static": True,
Tim Windelschmidt3a171d12024-12-09 23:51:23 +010011 "//command_line_option:platforms": "//build/platforms:linux_amd64_static",
Serge Bazanskic3ae7582020-06-08 17:15:26 +020012 }
13
14build_pure_transition = transition(
15 implementation = _build_pure_transition_impl,
Serge Bazanski30021af2023-06-20 13:30:11 +020016 inputs = [
17 "@io_bazel_rules_go//go/config:race",
18 ],
Serge Bazanskic3ae7582020-06-08 17:15:26 +020019 outputs = [
20 "@io_bazel_rules_go//go/config:pure",
21 "@io_bazel_rules_go//go/config:static",
Tim Windelschmidt3a171d12024-12-09 23:51:23 +010022 "//command_line_option:platforms",
Serge Bazanskic3ae7582020-06-08 17:15:26 +020023 ],
24)
25
Tim Windelschmidt156248b2025-01-10 00:27:45 +010026def _build_static_transition_impl(_settings, _attr):
Lorenz Brun5e4fc2d2020-09-22 18:35:15 +020027 """
28 Transition that enables static builds with CGo and musl for Go binaries.
29 """
30 return {
31 "@io_bazel_rules_go//go/config:static": True,
Leopoldbc93c2b2023-01-14 13:12:23 +010032 "//command_line_option:platforms": "//build/platforms:linux_amd64_static",
Lorenz Brun5e4fc2d2020-09-22 18:35:15 +020033 }
34
35build_static_transition = transition(
36 implementation = _build_static_transition_impl,
37 inputs = [],
38 outputs = [
39 "@io_bazel_rules_go//go/config:static",
Leopoldbc93c2b2023-01-14 13:12:23 +010040 "//command_line_option:platforms",
Lorenz Brun5e4fc2d2020-09-22 18:35:15 +020041 ],
42)