Skip to content
Snippets Groups Projects
  1. May 24, 2019
    • Alp Mestanogullari's avatar
      add an --hadrian mode to ./validate · 04b4b984
      Alp Mestanogullari authored and Marge Bot's avatar Marge Bot committed
      When the '--hadrian' flag is passed to the validate script, we use hadrian
      to build GHC, package it up in a binary distribution and later on run GHC's
      testsuite against the said bindist, which gets installed locally in the process.
      
      Along the way, this commit fixes a typo, an omission (build iserv binaries
      before producing the bindist archive) and moves the Makefile that enables
      'make install' on those bindists from being a list of strings in the code to
      an actual file (it was becoming increasingly annoying to work with).
      
      Finally, the Settings.Builders.Ghc part of this patch is necessary for being
      able to use the installed binary distribution, in 'validate'.
      04b4b984
  2. Mar 25, 2019
    • Takenobu Tani's avatar
      Update Wiki URLs to point to GitLab · 3769e3a8
      Takenobu Tani authored and Marge Bot's avatar Marge Bot committed
      This moves all URL references to Trac Wiki to their corresponding
      GitLab counterparts.
      
      This substitution is classified as follows:
      
      1. Automated substitution using sed with Ben's mapping rule [1]
          Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy...
          New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy...
      
      2. Manual substitution for URLs containing `#` index
          Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy...#Zzz
          New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy...#zzz
      
      3. Manual substitution for strings starting with `Commentary`
          Old: Commentary/XxxYyy...
          New: commentary/xxx-yyy...
      
      See also !539
      
      [1]: https://gitlab.haskell.org/bgamari/gitlab-migration/blob/master/wiki-mapping.json
      3769e3a8
  3. Oct 15, 2018
    • Krzysztof Gogolewski's avatar
      Cleanup boot and validate · a816ac48
      Krzysztof Gogolewski authored
      - Remove dph from validate; dph was removed
      - The required-tag argument to boot was used only for dph, remove
      - check_boot_packages() was not called at all, and didn't work.
        I fixed it based on previous Perl version.
      
      Test Plan: Harbormaster
      
      Reviewers: bgamari, thomie
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, carter
      
      Differential Revision: https://phabricator.haskell.org/D5129
      a816ac48
  4. Jul 06, 2018
  5. Jun 02, 2018
    • Ben Gamari's avatar
      vectorise: Put it out of its misery · faee23bb
      Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
      Poor DPH and its vectoriser have long been languishing; sadly it seems there is
      little chance that the effort will be rekindled. Every few years we discuss
      what to do with this mass of code and at least once we have agreed that it
      should be archived on a branch and removed from `master`. Here we do just that,
      eliminating heaps of dead code in the process.
      
      Here we drop the ParallelArrays extension, the vectoriser, and the `vector` and
      `primitive` submodules.
      
      Test Plan: Validate
      
      Reviewers: simonpj, simonmar, hvr, goldfire, alanz
      
      Reviewed By: simonmar
      
      Subscribers: goldfire, rwbarton, thomie, mpickering, carter
      
      Differential Revision: https://phabricator.haskell.org/D4761
      faee23bb
  6. Oct 02, 2017
    • Ben Gamari's avatar
      Rewrite boot in Python · c0e6c734
      Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
      One step closer to being able to drop the Windows Perl tarball. We
      previously attempted to do this in D3567 but were forced to revert due
      to Windows problems.
      
      Acknowledgements:
       * @Phyx kindly contributed the codepath allowing this to work on
      Windows.
      
      Test Plan: Validate
      
      Reviewers: hvr, austin, Phyx
      
      Subscribers: erikd, thomie, rwbarton
      
      Differential Revision: https://phabricator.haskell.org/D3918
      c0e6c734
  7. Jul 28, 2017
  8. May 26, 2017
  9. May 22, 2017
  10. Apr 05, 2017
    • Ben Gamari's avatar
      validate: Clean GMP trees · 53152236
      Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
      For reasons unknown `validate` passed `NO_CLEAN_GMP=YES` to
      `maintainer-clean`, leaving a stale `gmp.h` which causes the build to
      fail in the event that the uses a tree for validating for two different
      target platforms. This is quite unexpected, don't do it.
      
      Reviewers: hvr, austin, rwbarton, dfeuer
      
      Reviewed By: dfeuer
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D3409
      53152236
  11. Oct 17, 2016
  12. Oct 02, 2016
  13. Jun 18, 2016
  14. Apr 17, 2016
  15. Jan 17, 2016
  16. Jan 04, 2016
  17. Nov 24, 2015
  18. Oct 29, 2015
    • Thomas Miedema's avatar
      Revert "Build system: don't create mk/are-validating.mk" · fa587316
      Thomas Miedema authored
      Summary:
      This reverts commit aecf4a5f.
      
      It turns out the Simons are relying on 'mk/are-validating.mk', see
      D1307.
      
      The workflow they are using is:
        * run ./validate
        * find a bug in the compiler
        * try to fix the bug, running 'make 1' (or 'make 2') repeatedly. Because
          of 'mk/are-validating.mk', this uses the same build settings as validate.
        * continue ./validate (--no-clean)
      
      I suggested two alternatives:
      
        A. run 'make 1 Validating=YES' instead of 'make 1'
      
           Problem: when running `./validate --fast` or `./validate --hpc`
           instead of a normal `./validate`, validate sets ValidateSpeed and
           ValdateHpc in mk/are-validating.mk. You would for example have to run
           'make 1 Validating=YES ValidateSpeed=FAST' instead of 'make 1' to get the
           same build settings as `./validate --fast`, which is entirely too long and
           error prone.
      
        B. uncomment `#BuildFlavour=validate` in mk/build.mk, and include
           'mk/validate.mk'.
      
           Problems:
            * any other settings you have in build.mk will also get used.
            * the distinction between 'mk/validate.mk' and 'mk/build.mk' becomes less
              clear.
            * it is easy to forget to include 'mk/validate.mk'.
            * the build system again doesn't have access to the ValidateSpeed and
              ValdateHpc settings set by validate.
      
      Neither of these two options is entirely satisfactory.
      
      Reviewers: austin, bgamari
      
      Differential Revision: https://phabricator.haskell.org/D1383
      fa587316
  19. Oct 04, 2015
  20. Sep 08, 2015
  21. Sep 02, 2015
    • Thomas Miedema's avatar
      Testsuite: by default run all tests for a single way · c43c8e2c
      Thomas Miedema authored
      `make test` now runs all tests for a single way only. Use `make slowtest` to
      get the previous behaviour (i.e. run all tests for all ways).
      
      The intention is to use this new `make test` setting for Phabricator, as
      a reasonable compromise between `make fasttest` (what it previously
      used) and a fullblown `make slowtest` (which runs all tests for all
      ways).
      
      See Note [validate and testsuite speed] in toplevel Makefile.
      
      Differential Revision: https://phabricator.haskell.org/D1178
      c43c8e2c
  22. Aug 20, 2015
  23. Aug 17, 2015
  24. Jul 22, 2015
  25. Jul 21, 2015
  26. Jul 13, 2015
    • Thomas Miedema's avatar
      Build system: do not build stm and parallel by default · 392ff06d
      Thomas Miedema authored
      stm and parallel have an 'extra' tag in the ./packages file, so would get
      added to PACKAGES_STAGE2 by default, and subsequently build by the stage2
      compiler.
      
      With this patch, this happens only when you set BUILD_EXTRA_PKGS=YES in
      build.mk. A normal validate still builds (and tests) the 'extra'
      packages, but they are skipped for `validate --fast`. Maybe this brings
      us closer to finishing within the 50 minute Travis limit as well.
      
      We can later try to give random, primitive and vector an 'extra' tag as
      well (now they have a 'dph' tag), but some tests will probably fail at
      first.
      
      Differential Revision: https://phabricator.haskell.org/D1065
      392ff06d
  27. Jun 04, 2015
    • Thomas Miedema's avatar
      Make validate more quiet · d0063e89
      Thomas Miedema authored
        * By default use V=0, and call the testsuite with VERBOSE=2, which we
          did before only with validate --quiet. This disables printing the
          test commands it runs.
      
        * When --quiet is used, call the testsuite with VERBOSE=1. This
          disables printing the '====> Scanning' lines, and doesn't print
          which test is being run. So it only prints something when a test
          accidentally prints to stdout or when it fails.
      
          Don't set this option on Travis, as Travis will cancel a build if it
          doesn't see any output for more than 10 minutes.
      
        * When --quiet is used, set the new test option NO_PRINT_SUMMARY,
          which skips printing the test summary. Only the list of unexpected
          failures is printed, if there are any. Note that the full summary
          can still be found in testsuite_summary.txt
      
        * When --quiet is used, don't pass the `-v` flag to `ghc-pkg check`
      
        * When --quiet is used, don't print the Oops! header. It shoud be
          clear from the list of failing tests that something is wrong.
      
      This is all done to get the most out of 30 lines of logfile. These changes can
      be disabled later by simply not passing the --quiet flag to validate.
      
      Differential Revision: https://phabricator.haskell.org/D942
      d0063e89
  28. Apr 07, 2015
  29. Apr 01, 2015
  30. Mar 02, 2015
    • Thomas Miedema's avatar
      `make test` in root directory now runs fulltest · 31d4f2e9
      Thomas Miedema authored
      Summary:
      Currently, running `make test` in:
        /                   runs fast testsuite
        /testsuite          doesn't work
        /testsuite/tests    runs slow testsuite
      
      This commit:
        * changes `make test` in the ghc root directory to run the slow testsuite,
          just like it already does in `testsuite/tests`
        * adds some simple targets to `/testsuite`, that all delegate to
          `/testsuite/tests`
        * adds a new target `fasttest` to the toplevel Makefile, with a shorthand
          name `fast` (for consistency with /testsuite and /testsuite/tests)
        * declares some more targets PHONY for safety
      
      Wiki pages that need updating:
        * Building/StandardTargets
        * Buliding/RunningTests
      
      Reviewers: austin
      
      Reviewed By: austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D685
      31d4f2e9
  31. Nov 18, 2014
  32. Nov 07, 2014
  33. Oct 01, 2014
    • Austin Seipp's avatar
      First stab at making ./validate less verbose · bcbb0454
      Austin Seipp authored
      
      Summary:
      When we run `./validate`, we are typically given an incredibly large
      heap of information, a large majority of which isn't really
      necessary. In particular, we don't really care about what `make` is
      doing, nor `ghc` itself most of the time.
      
      This reduces some of the output by making `./validate` quietier. By
      running:
      
        $ ./validate --quiet
      
      you'll enable `V=0` in the build, suppressing compiler messages, and
      you will suppress `make` commands by running `make` in 'silent
      mode'. It also runs the testsuite with `VERBOSE=2` to avoid extra
      lines. This alone makes quite a difference for build log sizes.
      
      Furthermore, by making the build logs less verbose, life is easier for
      systems like Harbormaster and Travis-CI, which dislike dealing with
      logs that are 10k lines or more.
      
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
      
      Test Plan: iiam
      
      Reviewers: hvr, nomeata, ezyang
      
      Reviewed By: ezyang
      
      Subscribers: simonmar, ezyang, carter, thomie
      
      Projects: #ghc
      
      Differential Revision: https://phabricator.haskell.org/D298
      bcbb0454
  34. Aug 19, 2014
  35. Aug 12, 2014
  36. Aug 10, 2014
  37. Jun 29, 2014
    • Herbert Valerio Riedel's avatar
      Add BUILD_DPH variable to GHC build-system · 88d85aa6
      Herbert Valerio Riedel authored
      
      Now that the `libraries/dph` submodule is checked out always we need
      a different way to disable building DPH to save compile-time while
      developing GHC.
      
      This commit adds a new YES/NO Make variable `BUILD_DPH` that can be used
      inside mk/build.mk to control whether to build libraries/dph or not.
      The default setting is `BUILD_DPH=YES` (via `mk/config.mk.in`).
      
      This also changes `validate`'s flag `--no-dph` to explicitly disable DPH
      for the current validation run.
      
      Signed-off-by: Herbert Valerio Riedel's avatarHerbert Valerio Riedel <hvr@gnu.org>
      
      Test Plan: successful validates with `--fast --no-dph`
      
      Differential Revision: https://phabricator.haskell.org/D31
      88d85aa6
Loading