feat(third_party/bazel): Check in rules_haskell from Tweag
This commit is contained in:
parent
2eb1dc26e4
commit
f723b8b878
479 changed files with 51484 additions and 0 deletions
39
third_party/bazel/rules_haskell/haskell/platforms/BUILD.bazel
vendored
Normal file
39
third_party/bazel/rules_haskell/haskell/platforms/BUILD.bazel
vendored
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
# This file declares constraint values for each platform supported by
|
||||
# GHC. These rules follow the GHC naming convention, for example,
|
||||
# //haskell/platform:linux and //haskell/platform:x86_64. See the
|
||||
# config.guess in any GHC source distribution for possible platforms.
|
||||
#
|
||||
# These can be used in select expressions to choose platform-specifc
|
||||
# sources and dependencies.
|
||||
|
||||
load(":list.bzl", "declare_config_settings")
|
||||
|
||||
declare_config_settings()
|
||||
|
||||
constraint_value(
|
||||
name = "nixpkgs",
|
||||
constraint_setting = "@bazel_tools//tools/cpp:cc_compiler",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "linux_x86_64_nixpkgs",
|
||||
constraint_values = [
|
||||
# XXX using the platform names defined here results in a graph
|
||||
# cycle for some reason.
|
||||
"@bazel_tools//platforms:x86_64",
|
||||
"@bazel_tools//platforms:linux",
|
||||
":nixpkgs",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "darwin_x86_64_nixpkgs",
|
||||
constraint_values = [
|
||||
"@bazel_tools//platforms:x86_64",
|
||||
"@bazel_tools//platforms:osx",
|
||||
":nixpkgs",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
44
third_party/bazel/rules_haskell/haskell/platforms/list.bzl
vendored
Normal file
44
third_party/bazel/rules_haskell/haskell/platforms/list.bzl
vendored
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
OS = {
|
||||
"aix": None,
|
||||
"darwin": "@bazel_tools//platforms:osx",
|
||||
"dragonfly": None,
|
||||
"freebsd": "@bazel_tools//platforms:freebsd",
|
||||
"haiku": None,
|
||||
"hpux": None,
|
||||
"ios": "@bazel_tools//platforms:ios",
|
||||
"linux_android": "@bazel_tools//platforms:android",
|
||||
"linux": "@bazel_tools//platforms:linux",
|
||||
"mingw32": "@bazel_tools//platforms:windows",
|
||||
"netbsd": None,
|
||||
"openbsd": None,
|
||||
"solaris2": None,
|
||||
}
|
||||
|
||||
ARCH = {
|
||||
"aarch64": None,
|
||||
"alpha": None,
|
||||
"arm64": "@bazel_tools//platforms:aarch64",
|
||||
"arm": "@bazel_tools//platforms:arm",
|
||||
"i386": "@bazel_tools//platforms:x86_32",
|
||||
"ia64": None,
|
||||
"powerpc64": None,
|
||||
"powerpc64le": None,
|
||||
"powerpc": "@bazel_tools//platforms:ppc",
|
||||
"rs6000": None,
|
||||
"sparc": None,
|
||||
"x86_64": "@bazel_tools//platforms:x86_64",
|
||||
}
|
||||
|
||||
def declare_config_settings():
|
||||
for os, constraint_value in OS.items():
|
||||
if constraint_value:
|
||||
native.config_setting(
|
||||
name = os,
|
||||
constraint_values = [constraint_value],
|
||||
)
|
||||
for arch, constraint_value in ARCH.items():
|
||||
if constraint_value:
|
||||
native.config_setting(
|
||||
name = arch,
|
||||
constraint_values = [constraint_value],
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue