Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP - Dynamic dependencies for Haskell (discussion) #19

Draft
wants to merge 17 commits into
base: main
Choose a base branch
from

Commits on Sep 17, 2024

  1. Pass correct rpath origin setting to linker on Darwin

    Similar to D54346421
    avdv committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    510e85d View commit details
    Browse the repository at this point in the history
  2. Add cxx_merge_cpreprocessors_actions function with `AnalysisActions…

    …` parameter
    
    This is going to be useful with new dynamic action rules.
    avdv committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    918cc09 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5c76460 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1c0f3c8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    5c073fe View commit details
    Browse the repository at this point in the history
  6. Add HaskellToolchainLibrary provider

    This is used to track libraries that are provided by the haskell toolchain (e.g. by Nix) in the `deps`
    attribute of Haskell rules.
    avdv committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    04bc389 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    28821ff View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    15df14c View commit details
    Browse the repository at this point in the history
  9. make compiler_flags be of arg type (#34)

    compiler_flags often needs macro like $(location :target).
    wavewave authored and avdv committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    cf6e340 View commit details
    Browse the repository at this point in the history
  10. Add scripts to haskell rules

    aherrmann authored and avdv committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    a43ba22 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    9e563a9 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    0175c44 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    8915ca0 View commit details
    Browse the repository at this point in the history
  14. Add attributes to haskell rules

    - `external_tools`: pass executables called from Haskell compiler during preprocessing or compilation
    - `srcs_envs`: pass individual run-time env for each source compilation
    - `use_argsfile_at_link`: use response file at linking
    avdv committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    92486a8 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    d9af4ce View commit details
    Browse the repository at this point in the history
  16. Make cc toolchain tools optional

    avdv committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    f1b8753 View commit details
    Browse the repository at this point in the history
  17. Determine haskell dependencies and compile modules according to the d…

    …ependency graph
    
    This commit comprises all of the changes needed to use meta data from the Haskell compiler (a JSON file gathered with `ghc -M`) and use that inside
    of dynamic actions to create module compilation actions, including tracking cross-package dependencies and handling template haskell usage accordingly.
    
    This also allows us to put sources into different sub-directories.
    
    Co-authored-by: Ian-Woo Kim <[email protected]>
    Co-authored-by: Andreas Herrmann <[email protected]>
    3 people committed Sep 17, 2024
    Configuration menu
    Copy the full SHA
    bb7b557 View commit details
    Browse the repository at this point in the history