summaryrefslogtreecommitdiffhomepage
path: root/tools/build
diff options
context:
space:
mode:
authorAdin Scannell <ascannell@google.com>2020-02-04 14:36:43 -0800
committergVisor bot <gvisor-bot@google.com>2020-02-04 14:37:39 -0800
commit95ce8bb4c7ecb23e47e68c60b1de0b99ad8a856d (patch)
tree355f3b741ef9ac4920f711bfeb53351c22bebac2 /tools/build
parent6d8bf405bc5e887247534172713bf7d2f5252734 (diff)
Automatically propagate tags for stateify and marshal.
Note that files will need to be appropriately segmented in order for the mechanism to work, in suffixes implying special tags. This only needs to happen for cases where marshal or state structures are defined, which should be rare and mostly architecture specific. PiperOrigin-RevId: 293231579
Diffstat (limited to 'tools/build')
-rw-r--r--tools/build/defs.bzl2
-rw-r--r--tools/build/tags.bzl36
2 files changed, 38 insertions, 0 deletions
diff --git a/tools/build/defs.bzl b/tools/build/defs.bzl
index 967c1f900..1a1a0d825 100644
--- a/tools/build/defs.bzl
+++ b/tools/build/defs.bzl
@@ -8,6 +8,7 @@ load("@rules_pkg//:pkg.bzl", _pkg_deb = "pkg_deb", _pkg_tar = "pkg_tar")
load("@io_bazel_rules_docker//go:image.bzl", _go_image = "go_image")
load("@io_bazel_rules_docker//container:container.bzl", _container_image = "container_image")
load("@pydeps//:requirements.bzl", _py_requirement = "requirement")
+load("//tools/build:tags.bzl", _go_suffixes = "go_suffixes")
container_image = _container_image
cc_binary = _cc_binary
@@ -18,6 +19,7 @@ cc_test = _cc_test
cc_toolchain = "@bazel_tools//tools/cpp:current_cc_toolchain"
go_image = _go_image
go_embed_data = _go_embed_data
+go_suffixes = _go_suffixes
gtest = "@com_google_googletest//:gtest"
loopback = "//tools/build:loopback"
proto_library = native.proto_library
diff --git a/tools/build/tags.bzl b/tools/build/tags.bzl
new file mode 100644
index 000000000..e99c87f81
--- /dev/null
+++ b/tools/build/tags.bzl
@@ -0,0 +1,36 @@
+"""List of special Go suffixes."""
+
+go_suffixes = [
+ "_386",
+ "_386_unsafe",
+ "_amd64",
+ "_amd64_unsafe",
+ "_aarch64",
+ "_aarch64_unsafe",
+ "_arm",
+ "_arm_unsafe",
+ "_arm64",
+ "_arm64_unsafe",
+ "_mips",
+ "_mips_unsafe",
+ "_mipsle",
+ "_mipsle_unsafe",
+ "_mips64",
+ "_mips64_unsafe",
+ "_mips64le",
+ "_mips64le_unsafe",
+ "_ppc64",
+ "_ppc64_unsafe",
+ "_ppc64le",
+ "_ppc64le_unsafe",
+ "_riscv64",
+ "_riscv64_unsafe",
+ "_s390x",
+ "_s390x_unsafe",
+ "_sparc64",
+ "_sparc64_unsafe",
+ "_wasm",
+ "_wasm_unsafe",
+ "_linux",
+ "_linux_unsafe",
+]