summaryrefslogtreecommitdiff
path: root/hadrian
Commit message (Collapse)AuthorAgeFilesLines
* Rework handling of win32 toolchain tarballsBen Gamari2020-01-241-1/+2
|
* Fix more typos, via an improved Levenshtein-style correctorBrian Wignall2020-01-123-3/+3
|
* Bump haskeline submodule to 0.8.0.1Ben Gamari2020-01-081-0/+7
| | | | (cherry picked from commit feb3b955402d53c3875dd7a9a39f322827e5bd69)
* configure: Find Python3 for testsuiteBen Gamari2020-01-071-1/+1
| | | | | In addition, we prefer the Mingw64 Python distribution on Windows due to #17483.
* Fix typos, via a Levenshtein-style correctorBrian Wignall2020-01-0410-10/+10
|
* 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.
* Add index-state to hadrian/cabal.projectOleg Grenrus2019-12-161-0/+3
| | | | | Then one is freer to omit upper bounds, as we won't pick any new entries on Hackage while building hadrian itself.
* Having no shake upper bound is irresposibleOleg Grenrus2019-12-161-1/+1
| | | | | Given that shake is far from "done" API wise, and is central component to the build system.
* 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-022-2/+2
|
* Hadrian docs: Rename the second "validate" entry to "slow-validate" [ci skip]Sebastian Graf2019-11-301-1/+1
| | | | That would be in line with the implementation.
* 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.
* hadrian: export METRICS_FILE to make it accessible to perf notes scriptAlp Mestanogullari2019-11-111-2/+1
| | | | | This addresses #17456 and also fixes the --metrics-file argument that Hadrian passes to the testsuite driver.
* hadrian: Add enableTickyGhc helperBen Gamari2019-11-081-1/+12
| | | | | This took a bit of trial-and-error to get working so it seems worth having in the tree.
* hadrian: fix support for the recording of perf test resultsAlp Mestanogullari2019-11-071-0/+8
| | | | | | | | | | Before this patch, Hadrian didn't care about the TEST_ENV and METRICS_FILE environment variables, that the performance testing infrastructure uses to record perf tests results from CI jobs. It now looks them up right before running the testsuite driver, and passes suitable --test-env/--metrics-file arguments when these environment variables are set.
* configure: Add --with-libdw-{includes,libraries} flagsBen Gamari2019-11-064-1/+14
| | | | Fixing #17255.
* Hadrian: enable interpreter for s390xStefan Schulze Frielinghaus2019-11-051-1/+1
|
* hadrian: Make runtest invocation consistency with MakeBen Gamari2019-11-011-8/+9
| | | | | Use True/False instead of 0/1. This shouldn't be a functional change but we should be consistent.
* hadrian: Drop -Werror=unused-but-set-variable from GHC flagsBen Gamari2019-10-291-3/+1
| | | | | | | | | | | Previously `hadrian` would pass `-optc-Werror=unused-but-set-variable` to all GHC invocations. This was a difference from the make build system and cause the unregisterised build to fail as the C that GHC produces contains many unused functions. Drop it from the GHC flags. Note, however, that the flag is still present in `Settings.Builders.Common.cWarnings` and therefore will still be applied during compilation of C sources.
* hadrian: Shuffle around RTS build flagsBen Gamari2019-10-291-10/+19
| | | | | Some of these flags wanted to be passed to .cmm builds as well as C builds.
* hadrian: Define NOSMP when building rts unregisterisedBen Gamari2019-10-296-15/+54
| | | | | | | | It seems that NOSMP was previously only defined when compiling the compiler, not the RTS. Fix this. In addition do some spring-cleaning and make the logic match that of the Make build system.
* hadrian: Define USE_LIBFFI_FOR_ADJUSTORS when necessaryBen Gamari2019-10-291-0/+2
|
* hadrian: Silence output from Support SMP checkBen Gamari2019-10-271-1/+1
| | | | | | | Previously we would allow the output from the check of SMP support introduced by 83655b06e6d3e93b2d15bb0fa250fbb113d7fe68 leak to stdout. Silence this. See #16873.
* Fix path to ghc-flags in users guide Hadrian rulesLuke Lau2019-10-271-2/+2
| | | | It should point to the _build directory, not the source
* Remove unused importLuke Lau2019-10-271-1/+0
|
* hadrian: point link to ghc gitlabAdam Sandberg Eriksson2019-10-261-1/+1
| | | | [skip ci]
* Make Hadrian use -dynamic-too in the basic caseJames Foster2019-10-252-1/+19
| | | | | | | | | This commit makes Hadrian use the `-dynamic-too` flag when the current Flavour's libraryWays contains both vanilla and dynamic, cutting down the amount of repeated work caused by separate compilation of dynamic and static files. It does this for the basic case where '.o' and '.dyn_o' files are built with one command, but does not generalise to cases like '.prof_o' and '.prof_dyn_o'.
* hadrian: Warn user if hadrian build fails due to lack of threaded RTSBen Gamari2019-10-242-1/+27
| | | | See #16873.
* Hadrian: Invoke ghc0 via bash when running tests to fix #17362.Andreas Klebinger2019-10-231-1/+3
| | | | | | | | cmd uses RawCommand which uses Windows semantics to find the executable which sometimes seems to fail for unclear reasons. If we invoke ghc via bash then bash will find the ghc executable and the issue goes away.
* Implement s390x LLVM backend.Stefan Schulze Frielinghaus2019-10-221-1/+1
| | | | | | This patch adds support for the s390x architecture for the LLVM code generator. The patch includes a register mapping of STG registers onto s390x machine registers which enables a registerised build.
* hadrian: Introduce enableDebugInfo flavour transformerBen Gamari2019-10-161-9/+21
| | | | Also refactor things a bit to eliminate repetition.
* hadrian: Add support for bindist compressors other than XzBen Gamari2019-10-151-11/+31
| | | | Fixes #17351.
* gitlab-ci: Move hadrian-ghc-in-ghci job firstBen Gamari2019-10-141-1/+1
| | | | | This is a very cheap job and can catch a number of "easy" failure modes (e.g. missing imports in the compiler). Let's run it first.
* Simplify Configure in a few waysJohn Ericson2019-10-127-28/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - No need to distinguish between gcc-llvm and clang. First of all, gcc-llvm is quite old and surely unmaintained by now. Second of all, none of the code actually care about that distinction! Now, it does make sense to consider C multiple frontends for LLVMs in the form of clang vs clang-cl (same clang, yes, but tweaked interface). But this is better handled in terms of "gccish vs mvscish" and "is LLVM", yielding 4 combinations. Therefore, I don't think it is useful saving the existing code for that. - Get the remaining CC_LLVM_BACKEND, and also TABLES_NEXT_TO_CODE in mk/config.h the normal way, rather than hacking it post-hoc. No point keeping these special cases around for now reason. - Get rid of hand-rolled `die` function and just use `AC_MSG_ERROR`. - Abstract check + flag override for unregisterised and tables next to code. Oh, and as part of the above I also renamed/combined some variables where it felt appropriate. - GccIsClang -> CcLlvmBackend. This is for `AC_SUBST`, like the other Camal case ones. It was never about gcc-llvm, or Apple's renamed clang, to be clear. - llvm_CC_FLAVOR -> CC_LLVM_BACKEND. This is for `AC_DEFINE`, like the other all-caps snake case ones. llvm_CC_FLAVOR was just silly indirection *and* an odd name to boot.
* Hadrian: Take care of assembler source filesStefan Schulze Frielinghaus2019-10-113-5/+12
| | | | Fixes #17286.
* Define GHC_STAGE in headers instead of command-lineBen Gamari2019-10-092-3/+4
|
* Rename STAGE macro to GHC_STAGEBen Gamari2019-10-092-2/+2
| | | | To avoid polluting the macro namespace
* gitlab-ci: Check coverage of GHC flags in users guideBen Gamari2019-10-081-0/+17
| | | | | | | This ensures that all GHC flags are documented during the documentation build. Fixes #17315.
* users-guide: Run sphinx in nit-picky modeBen Gamari2019-10-082-0/+16
| | | | This ensure that it blurts an error on missing references.
* hadrian: Add `validate` and `slow validate` flavoursBen Gamari2019-10-084-1/+71
|
* Hadrian: Stop using in-tree CabalAndrey Mokhov2019-10-074-6/+3
|
* Always enable the external interpreterJohn Ericson2019-10-041-4/+0
| | | | | | You can always just not use or even build `iserv`. I don't think the maintenance cost of the CPP is worth...I can't even tell what the benefit is.
* Factor out a smaller part of Platform for host fallbackJohn Ericson2019-10-043-5/+40
|
* Remove {Build,Host}Platform_NAME from headerJohn Ericson2019-10-041-7/+6
| | | | They are only used in a file we construct directly, so just skip CPP.