mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-02-08 19:08:40 -05:00
30 lines
894 B
Python
30 lines
894 B
Python
![]() |
"""
|
||
|
Go toolchain for the host platformS
|
||
|
Inspired by https://github.com/bazel-contrib/rules_go/blob/6e4fdcfeb1a333b54ab39ae3413d4ded46d8958d/go/private/rules/go_bin_for_host.bzl
|
||
|
"""
|
||
|
|
||
|
load("@local_config_platform//:constraints.bzl", "HOST_CONSTRAINTS")
|
||
|
|
||
|
GO_TOOLCHAIN = "@io_bazel_rules_go//go:toolchain"
|
||
|
|
||
|
def _ensure_target_cfg(ctx):
|
||
|
if "-exec" in ctx.bin_dir.path or "/host/" in ctx.bin_dir.path:
|
||
|
fail("exec not found")
|
||
|
|
||
|
def _go_bin_for_host_impl(ctx):
|
||
|
_ensure_target_cfg(ctx)
|
||
|
sdk = ctx.toolchains[GO_TOOLCHAIN].sdk
|
||
|
sdk_files = ctx.runfiles([sdk.go] + sdk.headers + sdk.libs + sdk.srcs + sdk.tools)
|
||
|
return [
|
||
|
DefaultInfo(
|
||
|
files = depset([sdk.go]),
|
||
|
runfiles = sdk_files,
|
||
|
),
|
||
|
]
|
||
|
|
||
|
go_bin_for_host = rule(
|
||
|
implementation = _go_bin_for_host_impl,
|
||
|
toolchains = [GO_TOOLCHAIN],
|
||
|
exec_compatible_with = HOST_CONSTRAINTS,
|
||
|
)
|