1. 23 Mar, 2020 1 commit
  2. 21 Mar, 2020 1 commit
  3. 14 Mar, 2020 2 commits
  4. 13 Mar, 2020 1 commit
    • Alp Mestanogullari's avatar
      hadrian: improve dependency tracking for the check-* programs · 6a65b8c2
      Alp Mestanogullari authored
      The code in Rules.Register responsible for finding all the build artifacts
      that Cabal installs when registering a library (static/shared libs, .hi files,
      ...) was looking in the wrong place. This patch fixes that logic and makes sure
      we gather all those artifacts in a list to declare that the rule for a given
      `.conf` file, our proxy for "Hadrian, please install this package in the package
      db for this stage", also produces those artifacts under the said package
      database.
      
      We also were completely missing some logic to declare that the check-* programs
      have dependencies besides their source code, at least when testing an in-tree
      compiler.
      
      Finally, this patch also removes redundant packages from 'testsuitePackages',
      since they should already be covered by the stage<N>Packages lists from
      Settings.Default.
      
      With this patch, after a complete build and freezing stage 1, a change to
      `compiler/parser/Parser.y` results in rebuilding the ghc lib, reinstalling it,
      and rebuilding the few programs that depend on it, _including_ `check-ppr` and
      `check-api-annotations` (therefore fixing #17273).
      6a65b8c2
  5. 10 Mar, 2020 1 commit
  6. 02 Mar, 2020 1 commit
  7. 29 Feb, 2020 2 commits
  8. 26 Feb, 2020 4 commits
  9. 23 Feb, 2020 1 commit
  10. 22 Feb, 2020 2 commits
  11. 21 Feb, 2020 2 commits
  12. 19 Feb, 2020 1 commit
    • Sylvain Henry's avatar
      Hadrian: refactor GMP in-tree build support (#17756) · d7029cc0
      Sylvain Henry authored
      * Hadrian doesn't use integer-gmp/config.mk file anymore to determine if
        building GMP in-tree is required.
      
        "config.mk" is created by Cabal when the integer-gmp package is
        configured and this file is still untracked by Hadrian. This led to a
        tricky configure "race" because "config.mk" is built by the
        "setup-config" rule, but this rule is also used to find dependencies,
        in particular the "ghc-gmp.h" header, but the creation of this file
        was depending (without being tracked) on "config.mk".
      
        Now Hadrian only builds in-tree GMP if `--with-intree-gmp` is passed
        to the top-level configure script.
      
      * in-tree GMP isn't built once for all in a fixed stage (Stage1)
        anymore. It is built per stage which is required if we build a
        cross-compiler
      
      * switching between in-tree and external GMP is now supported without
        having to clean the build directory first.
      
      * "wrappers.c" now includes "ghc-gmp.h" instead of "ghc.h". It
        helps ensuring that the build system generates "ghc-gmp.h".
      
      * build in-tree GMP in "<root>/stageN/gmp/gmpbuild" and produce useful
        artefacts (libgmp.a, gmp.h, objs/*.o) in "<root>/stageN/gmp"
      d7029cc0
  13. 14 Feb, 2020 5 commits
  14. 13 Feb, 2020 1 commit
  15. 11 Feb, 2020 2 commits
  16. 09 Feb, 2020 4 commits
    • Sylvain Henry's avatar
      Force -fPIC for intree GMP (fix #17799) · 414e2f62
      Sylvain Henry authored
      Configure intree GMP with `--with-pic` instead of patching it. Moreover
      the correct patching was only done for x86_64/darwin (see #17799).
      414e2f62
    • Alp Mestanogullari's avatar
      hadrian: Windows fixes (bindists, CI) · 3ae83da1
      Alp Mestanogullari authored
      This commit implements a few Windows-specific fixes which get us from a CI
      job that can't even get as far as starting the testsuite driver, to a state
      where we can run the entire testssuite (but have test failures to fix).
      
      - Don't forget about a potential extension for the haddock program, when
        preparing the bindist.
      - Build the timeout program, used by the testsuite driver on Windows in place
        of the Python script used elsewhere, using the boot compiler. We could
        alternatively build it with the compiler that we're going to test but this
        would be a lot more tedious to write.
      - Implement a wrapper-script less installation procedure for Windows, in
        `hadrian/bindist/Makefile.
      - Make dependencies a bit more accurate in the aforementioned Makefile.
      - Update Windows/Hadrian CI job accordingly.
      
      This patch fixes #17486.
      3ae83da1
    • Ben Gamari's avatar
      hadrian: Fix --test-summary argument · f432d8c6
      Ben Gamari authored
      This appears to be a cut-and-paste error.
      f432d8c6
    • Ben Gamari's avatar
      hadrian: Add --test-metrics argument · 2ac784ab
      Ben Gamari authored
      Allowing the test metric output to be captured to a file, a la
      the METRIC_FILE environment variable of the make build system.
      2ac784ab
  17. 08 Feb, 2020 4 commits
  18. 27 Jan, 2020 1 commit
  19. 25 Jan, 2020 4 commits