1. 04 Mar, 2019 1 commit
  2. 20 Feb, 2019 1 commit
    • Andrey Mokhov's avatar
      Hadrian: Fix untracked dependencies · 1dad4fc2
      Andrey Mokhov authored
      This is a preparation for #16295: https://ghc.haskell.org/trac/ghc/ticket/16295
      This commit mostly focuses on getting rid of untracked dependencies,
      which prevent Shake's new `--shared` feature from appropriately caching
      build rules.
      There are three different solutions to untracked dependencies:
      * Track them! This is the obvious and the best approach, but in some
        situations we cannot use it, for example, because a build rule creates
        files whose names are not known statically and hence cannot be
        specified as the rule's outputs.
      * Use Shake's `produces` to record outputs dynamically, within the rule.
      * Use Shake's `historyDisable` to disable caching for a particular build
        rule. We currently use this approach only for `ghc-pkg` which mutates
        the package database and the file `package.cache`.
      These two tickets are fixed as the result:
      Ticket #16271: ​https://ghc.haskell.org/trac/ghc/ticket/16271
      Ticket #16272: ​https://ghc.haskell.org/trac/ghc/ticket/16272 (this one
      is fixed only partially: we correctly record the dependency, but we
      still copy files into the RTS build tree).
  3. 16 Jan, 2019 2 commits
    • Alec Theriault's avatar
      Make sure 'haddock' package also copies resources · 8765c1e6
      Alec Theriault authored
      ...and does so in the lib folder of the right stage
    • Alec Theriault's avatar
      Hadrian: handle Haddock's resource directory · 2e059120
      Alec Theriault authored
      Fixes #16105
        * Require Haddock's resource as runtime dependencies of the Haddock
          builder. This means we no longer have to `need` particular resources
          in every other documentation rule.
        * Do a _tracked_ copy of both the 'html' and 'latex' folder resource
        * Move resources into `stage1/lib` (NB: the `haddock` binary goes in
          `stage1/bin`). Besides now actually matching the Haddock script
          wrapper generated by BinaryDist, this also prepares for Haddock
          in relocatable build folder detecting its own resources.
  4. 09 Jan, 2019 1 commit
    • Matthew Pickering's avatar
      Hadrian: Add support for building stage3 · 6486c6e4
      Matthew Pickering authored
      This ticket enables the building of a `stage3` compiler by making the
      build logic more consistent and predictable in Hadrian.
      Two of the main changes are:
      1. In order to build anything at stageN we use the package database
      present at stageN. Fixing #16069
      2. `haddock` and `ghc-tags` are built
      as stage1 executables (with the stage1 compiler) rather than as
      stage2 compiler. Fixing
      In order to build a stage3 compiler, you have to set the new `finalStage` hadrian option to `Stage3`.
  5. 08 Dec, 2017 1 commit
    • Ben Gamari's avatar
      Rip out hadrian subtree · 7733e44d
      Ben Gamari authored
      Sadly subtrees haven't worked quite as well as we would have liked for
      developers. See Hadrian #440.