summaryrefslogtreecommitdiff
path: root/hadrian
Commit message (Collapse)AuthorAgeFilesLines
* Add a distclean command to hadrian.Andreas Klebinger2021-03-092-3/+13
| | | | | | | | | Hadrian should behave well and not delete files created by configure with the clean command. With this patch hadrian now deletes the fs/mingw tarballs only with distclean. This fixes #19320. The main impact being that validate won't have to redownload the tarballs when re-run.
* Require GHC 8.10 as the minimum compiler for bootstrappingRyan Scott2021-03-094-18/+16
| | | | | | | Now that GHC 9.0.1 is released, it is time to drop support for bootstrapping with GHC 8.8, as we only support building with the previous two major GHC releases. As an added bonus, this allows us to remove several bits of CPP that are either always true or no longer reachable.
* Hadrian: Add powerpc64[le] to supported arch listPeter Trommler2021-03-081-1/+2
| | | | Fixes #19409
* hadrian: Pass -fno-use-rpaths to GHC while linkingBen Gamari2021-03-061-0/+4
| | | | | | | This mirrors the make build system and ensures that we don't end up with references to the build directory in the final executable. Fixes #19485.
* Implement riscv64 LLVM backendAndreas Schwab2021-03-051-1/+1
| | | | This enables a registerised build for the riscv64 architecture.
* Update bounds/hadrian to fix bootstrapping with 9.0.Andreas Klebinger2021-03-054-8/+10
| | | | | | | | | | This fixes #19484. In detail we: * Bump the index-state of hackage. * Require alex-3.2.6, as alex-3.2.5 doesn't build with 9.0. * Allow Cabal-3.4 as 3.2 doesn't build with ghc 9.0. * Allow a newer QuickCheck version that accepts the new base version. * Some code changes to account for Cabal changes.
* Hadrian: Enable -ticky-dyn-thunk in ticky_ghc transformerMatthew Pickering2021-03-041-0/+1
| | | | | | | | | This produces much more detailed ticky profiles which include names of constructors. Related !3340 !2098 Fixes #19403
* Build event logging rts in all flavours except GhcinGhci.Andreas Klebinger2021-03-032-2/+2
| | | | This applies the fix for #19033 to all the other flavours as well.
* hadrian: Fix profiled flavour transformerBen Gamari2021-03-031-1/+9
| | | | | Previously the profiled flavour transformer failed to add the profiled ways to the library and RTS ways lists, resulting in link failures.
* Fix array and cleanup conversion primops (#19026)Sylvain Henry2021-03-033-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first change makes the array ones use the proper fixed-size types, which also means that just like before, they can be used without explicit conversions with the boxed sized types. (Before, it was Int# / Word# on both sides, now it is fixed sized on both sides). For the second change, don't use "extend" or "narrow" in some of the user-facing primops names for conversions. - Names like `narrowInt32#` are misleading when `Int` is 32-bits. - Names like `extendInt64#` are flat-out wrong when `Int is 32-bits. - `narrow{Int,Word}<N>#` however map a type to itself, and so don't suffer from this problem. They are left as-is. These changes are batched together because Alex happend to use the array ops. We can only use released versions of Alex at this time, sadly, and I don't want to have to have a release thatwon't work for the final GHC 9.2. So by combining these we get all the changes for Alex done at once. Bump hackage state in a few places, and also make that workflow slightly easier for the future. Bump minimum Alex version Bump Cabal, array, bytestring, containers, text, and binary submodules
* Fix Windows build with autoconf >=2.70 (#19189)Sylvain Henry2021-02-271-1/+1
|
* hadrian: ticky_ghc should build all things with -ticky (#19405) [skip ci]Sebastian Graf2021-02-261-3/+2
| | | | | | | With this patch, everything built by the stage1 compiler (in a `ticky_ghc`-transformed flavour) will be built with `-ticky`. Fixes #19405.
* hadrian: Throw error on unknown key-value setting nameBen Gamari2021-02-241-2/+5
|
* hadrian: Introduce runtest.opts key-value settingBen Gamari2021-02-242-13/+26
|
* Add the docspec:base rule to HadrianHécate2021-02-223-0/+60
|
* Fix typosBrian Wignall2021-02-061-1/+1
|
* Hadrian: Add support for packages with C++ filesMatthew Pickering2021-02-059-4/+43
|
* hadrian: Introduce ghci-wrapper packageBen Gamari2021-01-302-15/+55
| | | | | This wraps the existing GHCi wrapper script (driver/ghci/ghci.c) in a cabal file and adds the package to Hadrian.
* Warn about using quick with profilingLeif Metcalf2021-01-291-3/+4
|
* Add missing .hi-boot dependencies with ghc -M (#14482)Sylvain Henry2021-01-291-1/+9
|
* Reduce default test verbosityMatthew Pickering2021-01-281-1/+8
|
* hadrian: Fix `lookupInPath` on Windows (#19249)Sebastian Graf2021-01-271-5/+7
| | | | | | By querying the PATH variable explicitly via `getSearchPath`, we can work around the special behavior of `findExecutable` on Windows, where it also searches in System32. Fixes #19249.
* hadrian: Introduce no_profiled_libs flavour transformerBen Gamari2021-01-172-0/+11
| | | | Per request of @AndreasK.
* Hadrian: fix flavour parserSylvain Henry2021-01-171-2/+3
| | | | | | Hadrian was silently using the "quick" flavour when "quick-debug" or "quick-validate" was used. This patch fixes the parser and ensures that the whole input is consumed.
* Hadrian: Pass -jshakethreads to Haddock invocationsalexbiehl2021-01-171-1/+3
|
* hadrian: Add missing dependenciesBen Gamari2021-01-091-1/+5
| | | | | | ghcconfig.h, which depends upon ghcautoconf.h, and is a runtime dependency of deriveConstants. This is essentially a continuation of #18290.
* Hadrian: show default ghc-bignum backend (fix #18912)Sylvain Henry2021-01-071-2/+2
|
* Implement Unique supply with Addr# atomic primopSylvain Henry2021-01-051-16/+0
| | | | | | | | Before this patch the compiler depended on the RTS way (threaded or not) to use atomic incrementation or not. This is wrong because the RTS is supposed to be switchable at link time, without recompilation. Now we always use atomic incrementation of the unique counter.
* Require alex < 3.2.6Ryan Scott2020-12-221-1/+2
| | | | A workaround for #19099.
* hadrian: disable ghc package environments #18988Adam Sandberg Ericsson2020-12-221-0/+1
|
* hadrian: correctly copy the docs dir into the bindist #18669Adam Sandberg Ericsson2020-12-121-1/+9
|
* Hadrian: fix libffi tarball parsingSylvain Henry2020-12-111-1/+1
| | | | | | Fix parsing of "libffi-3.3.tar.gz". NB: switch to a newer libffi isn't done in this patch
* hadrian: build the _l and _thr_l rts flavours in the develN flavoursAdam Sandberg Ericsson2020-12-081-1/+1
| | | | | The ghc binary requires the eventlog rts since fc644b1a643128041cfec25db84e417851e28bab
* hadrian: fix ghc-pkg uses (#17601)Sylvain Henry2020-11-281-6/+24
| | | | | Make sure ghc-pkg doesn't read the compiler "settings" file by passing --no-user-package-db.
* Hadrian: fix detection of ghc-pkg for cross-compilersSylvain Henry2020-11-281-4/+12
|
* hadrian: Drop redundant flavour definitionsBen Gamari2020-11-226-94/+5
| | | | | Drop the profiled, LLVM, and ThreadSanitizer flavour definitions as these can now be realized with flavour transformers.
* hadrian: Add profiled_ghc and no_dynamic_ghc modifiersBen Gamari2020-11-222-0/+27
|
* hadrian: Add a viaLlvmBackend modifierBen Gamari2020-11-223-6/+12
| | | | | Note that this also slightly changes the semantics of these flavours as we only use LLVM for >= stage1 builds.
* hadrian: Introduce notion of flavour transformersBen Gamari2020-11-223-5/+104
| | | | This extends Hadrian's notion of "flavour", as described in #18942.
* hadrian: Dump STG when ticky is enabledBen Gamari2020-11-221-1/+7
| | | | | This changes the "ticky" modifier to enable dumping of final STG as this is generally needed to make sense of the ticky profiles.
* hadrian: Disable stripping when debug information is enabledBen Gamari2020-11-211-3/+5
|
* Merge remote-tracking branch 'origin/wip/tsan/all'Ben Gamari2020-11-084-3/+26
|\
| * testsuite: Mark setnumcapabilities001 as broken with TSANGHC GitLab CI2020-10-241-0/+1
| | | | | | | | Due to #18808.
| * rts: Infrastructure for testing with ThreadSanitizerBen Gamari2020-10-244-3/+25
| |
* | Hadrian: don't fail if ghc-tarballs dir doesn't existSylvain Henry2020-11-031-1/+1
| |
* | hadrian: Don't capture RunTest outputBen Gamari2020-11-021-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a few reasons why capturing the output of the RunTest builder is undesirable: * there is a large amount of output which then gets unnecessarily duplicated by Hadrian if the builder fails * the output may contain codepoints which are unrepresentable in the current codepage on Windows, causing Hadrian to crash * capturing the output causes the testsuite driver to disable its colorisation logic, making the output less legible.
* | testsuite: Add --top flag to driverGHC GitLab CI2020-11-021-1/+1
| | | | | | | | | | This allows us to make `config.top` a proper Path. Previously it was a str, which caused the Ghostscript detection logic to break.
* | hadrian: Don't quote metric baseline argumentBen Gamari2020-10-281-1/+1
| | | | | | Previously this was quoted inappropriately.
* | build system: Clean mingw tarballsBen Gamari2020-10-271-0/+5
| | | | | | | | | | | | Tamar noticed in !4293 that the build systems fail to clean up the mingw tarballs directory (`ghc-tarballs`). Fix this in both the make build system and Hadrian.
* | hadrian: Suppress xelatex output unless it failsBen Gamari2020-10-272-1/+16
|/ | | | | | | As noted in #18835, xelatex produces an absurd amount of output, nearly all of which is meaningless. Silence this. Fixes #18835.