about summary refs log blame commit diff
path: root/third_party/bazel/rules_haskell/tools/os_info.bzl
blob: 242be51855cf6872e3addffe849c31d488d29742 (plain) (tree)




























                                                                     
load("@bazel_tools//tools/cpp:lib_cc_configure.bzl", "get_cpu_value")

_os_info_bzl_template = """
cpu_value = "{CPU_VALUE}"
is_darwin = cpu_value == "darwin"
is_linux = cpu_value == "k8"
is_windows = cpu_value == "x64_windows"
"""

def _os_info_impl(repository_ctx):
    cpu = get_cpu_value(repository_ctx)
    os_info_substitutions = {
        "CPU_VALUE": cpu,
    }
    repository_ctx.file(
        "os_info.bzl",
        _os_info_bzl_template.format(**os_info_substitutions),
        False,
    )
    repository_ctx.file(
        "BUILD",
        "",
        False,
    )

os_info = repository_rule(
    implementation = _os_info_impl,
    local = True,
)