diff options
Diffstat (limited to 'third_party/bazel/rules_haskell/tools/os_info.bzl')
-rw-r--r-- | third_party/bazel/rules_haskell/tools/os_info.bzl | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/third_party/bazel/rules_haskell/tools/os_info.bzl b/third_party/bazel/rules_haskell/tools/os_info.bzl new file mode 100644 index 000000000000..242be51855cf --- /dev/null +++ b/third_party/bazel/rules_haskell/tools/os_info.bzl @@ -0,0 +1,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, +) |