about summary refs log tree commit diff
path: root/third_party/bazel/rules_haskell/tools/os_info.bzl
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2019-07-04T10·18+0100
committerVincent Ambo <tazjin@google.com>2019-07-04T10·18+0100
commitf723b8b878a3c4a4687b9e337a875500bebb39b1 (patch)
treee85204cf042c355e90cff61c111e7d8cd15df311 /third_party/bazel/rules_haskell/tools/os_info.bzl
parent2eb1dc26e42ffbdc168f05ef744bd4b4f3e4c36f (diff)
feat(third_party/bazel): Check in rules_haskell from Tweag r/17
Diffstat (limited to 'third_party/bazel/rules_haskell/tools/os_info.bzl')
-rw-r--r--third_party/bazel/rules_haskell/tools/os_info.bzl29
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,
+)