buck2-prelude
buck2-prelude copied to clipboard
WIP - Dynamic dependencies for Haskell (discussion)
- Pass correct rpath origin setting to linker on Darwin
-
Add
cxx_merge_cpreprocessors_actionsfunction withAnalysisActionsparameter - Add script to generate target metadata for Haskell
- Add ghc wrapper script which writes ABI hash and a deps file
-
Add
is_haskell_boothelper function -
Add
HaskellToolchainLibraryprovider -
Add
haskell_toolchain_libraryrule -
Add
generate_target_metadataandghc_wrappertool targets - make compiler_flags be of arg type (#34)
- Add scripts to haskell rules
- Allow to declare dependencies for haskell sources manually
-
Add
get_source_prefixeshelper function -
Make
ghci_lib_pathoptional in template processor script - Add attributes to haskell rules
- Support HaskellToolchainLibs for ide BXL
- Make cc toolchain tools optional
- Determine haskell dependencies and compile modules according to the dependency graph
IMPORTANT: Please don't raise pull requests here, but at facebook/buck2.
NOTE: this is a PR to get the discussion started on how to incorporate our changes into upstream.
I'll raise a PR at the buck2 repo soonish.
These changes requires a few GHC patches:
- add -dep-json flag for emitting machine-readable dependency info https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11994
-
--show-iface-abi-hashhttps://gitlab.haskell.org/ghc/ghc/-/tree/wip/show-iface-abi-hash?ref_type=heads