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

Native-static foreign libraries #9637

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Commits on Jan 20, 2024

  1. Configuration menu
    Copy the full SHA
    510efe3 View commit details
    Browse the repository at this point in the history
  2. Introduce computations in the context of building a component

    Introduces 'BuildM', a monad for actions defined in the context of
    building a component. Actions in the 'BuildM' monad have access to
    'PreBuildComponentInputs', which is the information necessary and
    available to a build right before building a component (hence the name).
    
    Introduces as well 'BuildingWhat', a type that distinguishes the kind of
    build we are doing (Normal vs Repl vs Haddock vs Hscolour) and the
    different flags available for each kind of build.
    alt-romes committed Jan 20, 2024
    Configuration menu
    Copy the full SHA
    e6e9792 View commit details
    Browse the repository at this point in the history
  3. Build extra sources as a standalone BuildM action

    Refactors the duplicated `buildExtraSources` function from `gbuild` and
    `buildOrReplLib` into a standalone monadic computation in the context of
    building a component (namely, a 'BuildM' action). This refactor allows
    us to share the code for building an extra source amongst the two
    functions, and paves the way to fixing haskell#9389.
    
    A standalong part of the refactor of gbuild and buildOrReplLib (haskell#9389)
    alt-romes committed Jan 20, 2024
    Configuration menu
    Copy the full SHA
    71ef5c4 View commit details
    Browse the repository at this point in the history
  4. Build Haskell modules accounting for TH

    Creates a new module Distribution.Simple.GHC.Build.Modules which, in the
    same spirit as ...GHC.Build.ExtraModules, defines a 'BuildM' action
    which builds all the Haskell modules of the component being built.
    
    This function clarifies and re-implements the logic of building Haskell
    modules in the different possible ways, while accounting for
    Template Haskell special "way requirements", which was previously
    duplicated in a non-obvious manner in gbuild and buildOrReplLib.
    
    The Note [Building Haskell modules accounting for TH] in that module
    explains the big picture, and the implementation is re-done in light of
    it.
    
    A standalone part of the refactor of gbuild vs buildOrReplLib (haskell#9389)
    alt-romes committed Jan 20, 2024
    Configuration menu
    Copy the full SHA
    58a1a75 View commit details
    Browse the repository at this point in the history
  5. Refactor the linking invocations from gbuild/buildOrReplLib

    This is the third part of the refactor of gbuild and buildOrReplLib (haskell#9389).
    It re-works the linker invocations, focusing on preserving existing
    behaviour before simplifying or fixing bugs any further.
    
    Follows the spirit of the two previous commits, with the end goal of (haskell#9389)
    alt-romes committed Jan 20, 2024
    Configuration menu
    Copy the full SHA
    419bf51 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3185dd9 View commit details
    Browse the repository at this point in the history