summaryrefslogtreecommitdiff
path: root/hadrian/src
Commit message (Collapse)AuthorAgeFilesLines
* hadrian: Eliminate redundant .exe from GHC pathBen Gamari2020-03-221-1/+1
| | | | | | | | 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"
* hadrian: Fix executable extension passed to testsuite driverGHC GitLab CI2020-03-221-1/+1
|
* Hadrian: ignore in-tree GMP objects with ``--lint``Sylvain Henry2020-03-202-4/+5
|
* Enable stage1 build of haddockCale Gibbard2020-03-141-1/+3
| | | | The submodule has already been bumped to contain the fix.
* Hadrian: fix absolute buildroot support (#17822)Sylvain Henry2020-03-145-24/+24
| | | | Shake's "**" wildcard doesn't match absolute root. We must use "//" instead.
* hadrian: improve dependency tracking for the check-* programsAlp Mestanogullari2020-03-133-34/+36
| | | | | | | | | | | | | | | | | | | | | | | 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).
* Hadrian: track missing configure resultsSylvain Henry2020-03-101-2/+21
|
* Use configure script to detect that we should use in-tree GMP on WindowsSylvain Henry2020-03-022-9/+4
|
* Fix Hadrian's ``--configure`` (fix #17883)Sylvain Henry2020-02-291-8/+9
|
* Rename ghci.sh and build.sh to ghci and build respectivelyXavier Denis2020-02-292-4/+4
| | | | | | Convert hadrian buildscripts to unsuffixed, dashed form final cleanups
* hadrian: Add --broken-test flagBen Gamari2020-02-262-0/+14
| | | | | This exposes the flag of the same name supported by the testsuite driver.
* hadrian: Tell Cabal about integer-gmp library locationBen Gamari2020-02-261-4/+17
|
* hadrian: Refactor gmp argumentsBen Gamari2020-02-261-10/+14
| | | | Move the gmp configuration to its own binding.
* hadrian: Allow libnuma library path to be specifiedBen Gamari2020-02-263-0/+13
|
* hadrian: docs depend on stage1 ghcAdam Sandberg Ericsson2020-02-231-1/+3
|
* Hadrian: `docs` rule needs `configure` (#17840)Sylvain Henry2020-02-211-0/+4
|
* Modules: Driver (#13009)Sylvain Henry2020-02-211-2/+2
| | | | submodule updates: nofib, haddock
* Hadrian: fix source-dist target (#17849)Sylvain Henry2020-02-201-21/+11
|
* Hadrian: minor GMP refactoringSylvain Henry2020-02-201-23/+27
| | | | | | Somehow I forgot to totally remove `gmpContext` in d7029cc09edc052c2f97effe33233c53340fcce0. This patch fixes it and adds some additional comments.
* Hadrian: refactor GMP in-tree build support (#17756)Sylvain Henry2020-02-187-116/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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"
* hadrian: Drop empty arguments from target listBen Gamari2020-02-141-1/+1
| | | | Fixes #17748.
* Rework handling of win32 toolchain tarballsBen Gamari2020-02-141-1/+2
|
* Hadrian: drop Sphinx flag checking for PDF documentation (#17825)Sylvain Henry2020-02-141-2/+0
| | | | | | | 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.
* GMP expects the Target platform as --host parameterSylvain Henry2020-02-141-2/+2
|
* Remove Hadrian's copy of (Data.Functor.<&>)Ömer Sinan Ağacan2020-02-111-11/+1
| | | | The function was added to base with base-4.11 (GHC 8.4)
* hadrian: build (and ship) iserv on WindowsAlp Mestanogullari2020-02-113-19/+16
|
* Force -fPIC for intree GMP (fix #17799)Sylvain Henry2020-02-091-0/+1
| | | | | Configure intree GMP with `--with-pic` instead of patching it. Moreover the correct patching was only done for x86_64/darwin (see #17799).
* hadrian: Windows fixes (bindists, CI)Alp Mestanogullari2020-02-093-7/+9
| | | | | | | | | | | | | | | | | | | 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.
* hadrian: Fix --test-summary argumentBen Gamari2020-02-091-4/+4
| | | | This appears to be a cut-and-paste error.
* hadrian: Add --test-metrics argumentBen Gamari2020-02-092-1/+11
| | | | | Allowing the test metric output to be captured to a file, a la the METRIC_FILE environment variable of the make build system.
* Update to hie-bios 0.3.2 style program cradlePepe Iborra2020-02-081-1/+1
|
* hadrian: Depend upon libray dependencies when configuring packagesBen Gamari2020-02-082-1/+12
| | | | This will hopefully fix #17631.
* Fix GhcThreaded settingBen Gamari2020-02-084-2/+7
| | | | | | | | | | | | | | 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.
* hadrian: Allow override of Cabal configuration in hadrian.settingsBen Gamari2020-02-081-5/+15
| | | | | Fixes #17612 by adding a `cabal.configure.opts` key for `hadrian.settings`.
* Add two warnings to HadrianTom Ellis2020-01-271-1/+4
|
* hadrian: Throw error on duplicate-named flavoursBen Gamari2020-01-251-4/+6
| | | | | | | Throw an error if the user requests a flavour for which there is more than one match. Fixes #17156.
* Module hierarchy: Cmm (cf #13009)Sylvain Henry2020-01-252-4/+4
|
* Fix more typos, via an improved Levenshtein-style correctorBrian Wignall2020-01-122-2/+2
|
* Bump haskeline submodule to 0.8.0.1Ben Gamari2020-01-081-0/+7
| | | | (cherry picked from commit feb3b955402d53c3875dd7a9a39f322827e5bd69)
* Fix typos, via a Levenshtein-style correctorBrian Wignall2020-01-048-8/+8
|
* hadrian: Track hash of Cabal Setup builder argumentsBen Gamari2019-12-301-1/+6
| | | | Lest we fail to rebuild when they change. Fixes #17611.
* Use *Mode suffix instead of *MJosh Meredith2019-12-173-17/+17
|
* Rename SphinxMode constructorsJosh Meredith2019-12-173-18/+18
|
* Fix ambiguous occurence error when building HadrianJosh Meredith2019-12-171-1/+1
|
* testsuite: Make ghc_built_by_llvm check more preciseBen Gamari2019-12-171-4/+0
| | | | | | | | | | 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.
* hadrian: AArch64 supports the GHCi interpreter and SMPBen Gamari2019-12-102-2/+2
| | | | | I'm not sure how this was omitted from the list of supported architectures.
* Fix more typosBrian Wignall2019-12-021-1/+1
|
* Fix typos, using Wikipedia list of common typosBrian Wignall2019-11-281-2/+2
|
* Properly account for libdw paths in make build systemBen Gamari2019-11-191-2/+5
| | | | Should finally fix #17255.
* Bump Haskeline and add exceptions as boot libraryBen Gamari2019-11-132-5/+7
| | | | Haskeline now depends upon exceptions. See #16752.