summary refs log tree commit diff
path: root/third_party/bazel/rules_haskell/tools/os_info.bzl
blob: 242be51855cf6872e3addffe849c31d488d29742 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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,
)