| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Previously we were invoking:
bash -c
"c:/GitLabRunner/builds/eEQrxK4p/0/ghc/ghc/toolchain/bin/ghc.exe.exe
testsuite/mk/ghc-config.hs -o _build/test/bin/ghc-config.exe"
|
| |
|
| |
|
|
|
|
| |
The submodule has already been bumped to contain the fix.
|
|
|
|
| |
Shake's "**" wildcard doesn't match absolute root. We must use "//" instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Convert hadrian buildscripts to unsuffixed, dashed form
final cleanups
|
|
|
|
|
| |
This exposes the flag of the same name supported by the testsuite
driver.
|
| |
|
|
|
|
| |
Move the gmp configuration to its own binding.
|
| |
|
| |
|
| |
|
|
|
|
| |
submodule updates: nofib, haddock
|
| |
|
|
|
|
|
|
| |
Somehow I forgot to totally remove `gmpContext` in
d7029cc09edc052c2f97effe33233c53340fcce0. This patch fixes it and adds
some additional comments.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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"
|
|
|
|
| |
Fixes #17748.
|
| |
|
|
|
|
|
|
|
| |
It seems that Sphinx produces the ghc-flags.txt in
doc/users_guide/_build rather than pdfRoot. We could copy ghc-flags.txt
into pdfRoot (like happens naturally in the HTML case) but the benefit
is pretty small. Let's just only check the HTML case.
|
| |
|
|
|
|
| |
The function was added to base with base-4.11 (GHC 8.4)
|
| |
|
|
|
|
|
| |
Configure intree GMP with `--with-pic` instead of patching it. Moreover
the correct patching was only done for x86_64/darwin (see #17799).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This appears to be a cut-and-paste error.
|
|
|
|
|
| |
Allowing the test metric output to be captured to a file, a la
the METRIC_FILE environment variable of the make build system.
|
| |
|
|
|
|
| |
This will hopefully fix #17631.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adopts a patch from NetBSD's packaging fixing the `GhcThreaded`
option of the make build system. In addition we introduce a `ghcThreaded`
option in hadrian's `Flavour` type.
Also fix Hadrian's treatment of the `Use Threaded` entry in `settings`.
Previously it would incorrectly claim `Use Threaded = True` if we were
building the `threaded` runtime way. However, this is inconsistent with
the `make` build system, which defines it to be whether the `ghc`
executable is linked against the threaded runtime.
Fixes #17692.
|
|
|
|
|
| |
Fixes #17612 by adding a `cabal.configure.opts` key for
`hadrian.settings`.
|
| |
|
|
|
|
|
|
|
| |
Throw an error if the user requests a flavour for which there is more
than one match.
Fixes #17156.
|
| |
|
| |
|
|
|
|
| |
(cherry picked from commit feb3b955402d53c3875dd7a9a39f322827e5bd69)
|
| |
|
|
|
|
| |
Lest we fail to rebuild when they change. Fixes #17611.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Previously it would hackily look at the flavour name to determine
whether LLVM was used to build stage2 ghc. However, this didn't work at
all with Hadrian and would miss cases like ARM where we use the LLVM
backend by default.
See #16087 for the motivation for why ghc_built_by_llvm is needed at
all. This should catch one of the ARMv7 failures described in #17555.
|
|
|
|
|
| |
I'm not sure how this was omitted from the list of supported
architectures.
|
| |
|
| |
|
|
|
|
| |
Should finally fix #17255.
|
|
|
|
| |
Haskeline now depends upon exceptions. See #16752.
|