Skip to main content
Glama
toolchain.bzl2.71 kB
# Copyright (c) Meta Platforms, Inc. and affiliates. # # This source code is licensed under both the MIT license found in the # LICENSE-MIT file in the root directory of this source tree and the Apache # License, Version 2.0 found in the LICENSE-APACHE file in the root directory # of this source tree. GoToolchainInfo = provider( # @unsorted-dict-items fields = { "assembler": provider_field(RunInfo), "assembler_flags": provider_field(typing.Any, default = None), "c_compiler_flags": provider_field(typing.Any, default = None), "cgo": provider_field(RunInfo), "cgo_wrapper": provider_field(RunInfo), "gen_stdlib_importcfg": provider_field(RunInfo), "go_wrapper": provider_field(RunInfo), "compiler": provider_field(RunInfo), "compiler_flags": provider_field(typing.Any, default = None), "concat_files": provider_field(RunInfo), "cover": provider_field(RunInfo), "env_go_arch": provider_field(str), "env_go_os": provider_field(str), "env_go_arm": provider_field(str | None, default = None), "env_go_root": provider_field(typing.Any, default = None), "env_go_debug": provider_field(dict[str, str], default = {}), "external_linker_flags": provider_field(typing.Any, default = None), "go": provider_field(RunInfo), "linker": provider_field(RunInfo), "linker_flags": provider_field(typing.Any, default = None), "packer": provider_field(RunInfo), "build_tags": provider_field(list[str], default = []), }, ) def get_toolchain_env_vars(toolchain: GoToolchainInfo) -> dict[str, str | cmd_args]: env = { "GOARCH": toolchain.env_go_arch, "GOEXPERIMENT": "", "GOOS": toolchain.env_go_os, } if toolchain.env_go_arm != None: env["GOARM"] = toolchain.env_go_arm if toolchain.env_go_root != None: env["GOROOT"] = toolchain.env_go_root if toolchain.env_go_debug: godebug = ",".join(["{}={}".format(k, v) for k, v in toolchain.env_go_debug.items()]) env["GODEBUG"] = godebug return env # Sets default value of cgo_enabled attribute based on availability of CxxToolchain def evaluate_cgo_enabled(cxx_toolchain_available: bool, cgo_enabled: [bool, None], override_cgo_enabled: [bool, None] = None) -> bool: if not cxx_toolchain_available and (cgo_enabled or override_cgo_enabled): fail("CGo can't be enabled because CxxToolchain is not available for current configuration") if override_cgo_enabled != None: return override_cgo_enabled if cgo_enabled != None: return cgo_enabled return cxx_toolchain_available

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systeminit/si'

If you have feedback or need assistance with the MCP directory API, please join our Discord server