diff options
author | Vincent Ambo <tazjin@google.com> | 2019-07-04T10·18+0100 |
---|---|---|
committer | Vincent Ambo <tazjin@google.com> | 2019-07-04T10·18+0100 |
commit | f723b8b878a3c4a4687b9e337a875500bebb39b1 (patch) | |
tree | e85204cf042c355e90cff61c111e7d8cd15df311 /third_party/bazel/rules_haskell/examples/README.md | |
parent | 2eb1dc26e42ffbdc168f05ef744bd4b4f3e4c36f (diff) |
feat(third_party/bazel): Check in rules_haskell from Tweag r/17
Diffstat (limited to 'third_party/bazel/rules_haskell/examples/README.md')
-rw-r--r-- | third_party/bazel/rules_haskell/examples/README.md | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/third_party/bazel/rules_haskell/examples/README.md b/third_party/bazel/rules_haskell/examples/README.md new file mode 100644 index 000000000000..7b477f547619 --- /dev/null +++ b/third_party/bazel/rules_haskell/examples/README.md @@ -0,0 +1,45 @@ +# rule_haskell examples + +Examples of using [rules_haskell][rules_haskell], the Bazel rule set +for building Haskell code. + +* [**vector:**](./vector/) shows how to build the `vector` package as + found on Hackage, using a Nix provided compiler toolchain. +* [**rts:**](./rts/) demonstrates foreign exports and shows how to + link against GHC's RTS library, i.e. `libHSrts.so`. + +## **Important** + +Run all commands from the root of `rules_haskell`. +If you `cd examples/`, bazel *will* [break on +you](https://github.com/tweag/rules_haskell/issues/740). +This is a current problem with bazel workspaces. + +## Root Workspace + +Build everything in the root workspace with; + +``` +$ bazel build @io_tweag_rules_haskell_examples//... +``` + +Show every target of the vector example; + +``` +$ bazel query @io_tweag_rules_haskell_examples//vector/... +@io_tweag_rules_haskell_examples//vector:vector +@io_tweag_rules_haskell_examples//vector:semigroups +@io_tweag_rules_haskell_examples//vector:primitive +@io_tweag_rules_haskell_examples//vector:ghc-prim +@io_tweag_rules_haskell_examples//vector:deepseq +@io_tweag_rules_haskell_examples//vector:base +``` + +Build the two main Haskell targets; + +``` +$ bazel build @io_tweag_rules_haskell_examples//vector +$ bazel build @io_tweag_rules_haskell_examples//rts:add-one-hs +``` + +[rules_haskell]: https://github.com/tweag/rules_haskell |