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
83
third_party/bazel/rules_haskell/haskell/ghc.BUILD
vendored
Normal file
83
third_party/bazel/rules_haskell/haskell/ghc.BUILD
vendored
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
filegroup(
|
||||
name = "bin",
|
||||
srcs = glob(["bin/*"]),
|
||||
)
|
||||
|
||||
cc_library(
|
||||
name = "threaded-rts",
|
||||
srcs = glob(
|
||||
["lib/ghc-*/rts/libHSrts_thr-ghc*." + ext for ext in [
|
||||
"so",
|
||||
"dylib",
|
||||
]] +
|
||||
# dependency of `libHSrts_thr_ghc*`
|
||||
# globbing on the `so` version to stay working when they update
|
||||
[
|
||||
"lib/ghc-*/rts/libffi.so.*",
|
||||
],
|
||||
),
|
||||
hdrs = glob(["lib/ghc-*/include/**/*.h"]),
|
||||
strip_include_prefix = glob(
|
||||
["lib/ghc-*/include"],
|
||||
exclude_directories = 0,
|
||||
)[0],
|
||||
)
|
||||
|
||||
# TODO: detect this more automatically.
|
||||
cc_library(
|
||||
name = "unix-includes",
|
||||
hdrs = glob(["lib/ghc-*/unix-*/include/*.h"]),
|
||||
includes = glob(
|
||||
["lib/ghc-*/unix-*/include"],
|
||||
exclude_directories = 0,
|
||||
),
|
||||
)
|
||||
|
||||
# This is needed for Hazel targets.
|
||||
cc_library(
|
||||
name = "rts-headers",
|
||||
hdrs = glob([
|
||||
"lib/ghc-*/include/**/*.h",
|
||||
"lib/include/**/*.h",
|
||||
]),
|
||||
includes = glob(
|
||||
[
|
||||
"lib/ghc-*/include",
|
||||
"lib/include",
|
||||
],
|
||||
exclude_directories = 0,
|
||||
),
|
||||
)
|
||||
|
||||
# Expose embedded MinGW toolchain when on Windows.
|
||||
|
||||
filegroup(
|
||||
name = "empty",
|
||||
srcs = [],
|
||||
)
|
||||
|
||||
cc_toolchain_suite(
|
||||
name = "toolchain",
|
||||
toolchains = {
|
||||
"x64_windows": ":cc-compiler-mingw64",
|
||||
"x64_windows|ghc-mingw-gcc": ":cc-compiler-mingw64",
|
||||
},
|
||||
)
|
||||
|
||||
# Keep in sync with @bazel_tools//cpp:cc-compiler-x64_windows definition.
|
||||
cc_toolchain(
|
||||
name = "cc-compiler-mingw64",
|
||||
all_files = ":empty",
|
||||
ar_files = ":empty",
|
||||
as_files = ":empty",
|
||||
compiler_files = ":empty",
|
||||
cpu = "x64_windows",
|
||||
dwp_files = ":empty",
|
||||
linker_files = ":empty",
|
||||
objcopy_files = ":empty",
|
||||
strip_files = ":empty",
|
||||
supports_param_files = 0,
|
||||
toolchain_identifier = "ghc_windows_mingw64",
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue