summaryrefslogtreecommitdiff
path: root/aclocal.m4
Commit message (Collapse)AuthorAgeFilesLines
* configure: Fix double-negation in ld merge-objects checkBen Gamari2020-08-071-1/+1
| | | | | We want to only run the check if ld is gold. Fixes the fix to #17962.
* Refactor handling of object mergingBen Gamari2020-08-051-8/+133
| | | | | | | | | Previously to merge a set of object files we would invoke the linker as usual, adding -r to the command-line. However, this can result in non-sensical command-lines which causes lld to balk (#17962). To avoid this we introduce a new tool setting into GHC, -pgmlm, which is the linker which we use to merge object files.
* configure: Fix build system on ARMPeter Trommler2020-07-291-1/+1
|
* config: Fix Haskell platform constructor w/ paramsPeter Trommler2020-07-281-4/+4
| | | | Fixes #18505
* No need for CURSES_INCLUDE_DIRSGabor Greif2020-07-021-1/+0
| | | This is a leftover from ef63ff27251a20ff11e58c9303677fa31e609a88
* Add most common return values for `os` and `arch`Hécate2020-07-011-1/+3
|
* configure: Use grep -q instead of --quietBen Gamari2020-06-171-1/+1
| | | | The latter is apparently not supported by busybox.
* winio: Add Atomic Exchange PrimOp and implement Atomic Ptr exchanges.Tamar Christina2020-06-141-2/+3
| | | | | | | The initial version was rewritten by Tamar Christina. It was rewritten in large parts by Andreas Klebinger. Co-authored-by: Andreas Klebinger <klebinger.andreas@gmx.at>
* configure: Modify aclocal.m4 according to new module hierarchyTakenobu Tani2020-06-011-2/+2
| | | | | | | | | | | | | This patch updates file paths according to new module hierarchy [1]: * Rename: * compiler/GHC/Parser.hs <= compiler/parser/Parser.hs * compiler/GHC/Parser/Lexer.hs <= compiler/Parser/Lexer.hs * Add: * compiler/GHC/Cmm/Lexer.hs [1]: https://gitlab.haskell.org/ghc/ghc/-/wikis/Make-GHC-codebase-more-modular
* configure: correctly generate LIBRARY_template_haskell_VERSIONAdam Sandberg Ericsson2020-02-271-3/+3
|
* configure: Don't assume Gnu linker on SolarisBen Gamari2020-02-111-1/+12
| | | | | | | Compl Yue noticed that the linker was dumping the link map on SmartOS. This is because Smartos uses the Solaris linker, which uses the `-64` flag, not `-m64` like Gnu ld, to indicate that it should link for 64-bits. Fix the configure script to handle the Solaris linker correctly.
* Module hierarchy: Cmm (cf #13009)Sylvain Henry2020-01-251-1/+1
|
* Avoid ./configure failure on NetBSDPHO2020-01-201-1/+4
|
* Fix more typos, via an improved Levenshtein-style correctorBrian Wignall2020-01-121-2/+2
|
* configure: Find Python3 for testsuiteBen Gamari2020-01-071-0/+11
| | | | | In addition, we prefer the Mingw64 Python distribution on Windows due to #17483.
* configure: Only check GCC version if CC is GCCBen Gamari2020-01-071-19/+24
| | | | | | | | | | | Also refactor FP_GCC_EXTRA_FLAGS in a few ways: * We no longer support compilers which lack support for -fno-builtin and -fwrapv so remove the condition on GccVersion * These flags are only necessary when using the via-C backend so make them conditional on Unregisterised. Fixes #15742.
* while at it rename XCode to the official XcodeGabor Greif2019-12-271-12/+12
|
* suppress popup dialog about missing Xcode at configureGabor Greif2019-12-271-1/+1
| | | | tested with `bash` and `zsh`.
* Revert "Replace freebsd-gnueabihf with freebsd"Ben Gamari2019-10-291-0/+4
| | | | | This reverts commit aa31ceaf7568802590f73a740ffbc8b800096342 as suggested in #17392.
* Don't substitute GccVersion variableBen Gamari2019-10-291-2/+2
| | | | | Not only is it now unused but we generally can't assume that we are compiling with GCC, so it really shouldn't be used.
* configure: Drop GccLT46Ben Gamari2019-10-251-5/+2
| | | | | GCC 4.6 was released 7 years ago. I think we can finally assume that it's available. This is a simplification prompted by #15742.
* aclocal: A bit of reformattingBen Gamari2019-10-251-31/+31
|
* Implement s390x LLVM backend.Stefan Schulze Frielinghaus2019-10-221-1/+4
| | | | | | 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.
* Replace freebsd-gnueabihf with freebsdMatthew Bauer2019-10-221-4/+0
| | | | | | | | | | | FreeBSD does not support GNU libc, so it makes no sense to use this triple. Most likely previous builds were just using the FreeBSD libc instead of gnueabihf. To fix this, we should just use armv6-unknown-freebsd and armv7-unknown-freebsd triples. Note that both of these are actually "soft-float", not "hard-float". FreeBSD has never officially released hard-float arm32: https://wiki.freebsd.org/ARMTier1
* Simplify Configure in a few waysJohn Ericson2019-10-121-17/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
* Add musl systems to llvm-targetsMatthew Bauer2019-10-041-1/+1
| | | | | | This was done in Nixpkgs, but never upstreamed. Musl is pretty much the same as gnu, but with a different libc. I’ve used the same values for everything.
* Factor out a smaller part of Platform for host fallbackJohn Ericson2019-10-041-1/+3
|
* configure: Don't depend upon alex in source dist buildBen Gamari2019-09-271-2/+5
| | | | | | This fixes #16860 by verifying that the generated sources don't already exist before asserting that the `alex` executable was found. This replicates the logic already used for `happy` in the case of `alex`.
* Make sure all boolean settings entries use `YES` / `NO`John Ericson2019-09-051-9/+9
| | | | | | | | | Some where using `True` / `False`, a legacy of when they were in `Config.hs`. See #16914 / d238d3062a9858 for a similar problem. Also clean up the configure variables names for consistency and clarity while we're at it. "Target" makes clear we are talking about outputted code, not where GHC itself runs.
* configure: Search for LLVM executables with two-number versionsBen Gamari2019-08-041-2/+3
| | | | | | | Fedora uses the naming llc-7.0 while Debian uses llc-7. Ensure that both are found. Fixes #16990.
* Maintain separate flags for C++ compiler invocationsBen Gamari2019-06-131-0/+3
| | | | | | | Previously we would pass flags intended for the C compiler to the C++ compiler (see #16738). This would cause, for instance, `-std=gnu99` to be passed to the C++ compiler, causing spurious test failures. Fix this by maintaining a separate set of flags for C++ compilation invocations.
* Fix uses of #ifdef/#ifndefBen Gamari2019-06-121-6/+6
| | | | | The linter now enforces our preference for `#if defined()` and `#if !defined()`.
* Restore the --coerce option in 'happy' configurationVladislav Zavialov2019-05-141-2/+2
| | | | | | happy-1.19.10 has been released with a fix for --coerce in the presence of higher rank types. This should result in about 10% performance improvement in the parser.
* Generate settings by make/hadrian instead of configureJohn Ericson2019-04-301-10/+10
| | | | This allows it to eventually become stage-specific
* configure: Always use AC_LINK_ELSEIF when testing against assemblerBen Gamari2019-04-031-5/+33
| | | | | | | | | | This fixes #16440, where the build system incorrectly concluded that the `.subsections_via_symbols` assembler directive was supported on a Linux system. This was caused by the fact that gcc was invoked with `-flto`; when so-configured gcc does not call the assembler but rather simply serialises its AST for compilation during the final link. This is described in Note [autoconf assembler checks and -flto].
* Update Wiki URLs to point to GitLabTakenobu Tani2019-03-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | 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
* Update Trac ticket URLs to point to GitLabRyan Scott2019-03-151-1/+1
| | | | | This moves all URL references to Trac tickets to their corresponding GitLab counterparts.
* Rip out object splittingBen Gamari2019-03-051-20/+0
| | | | | | | | | | | | | | | The splitter is an evil Perl script that processes assembler code. Its job can be done better by the linker's --gc-sections flag. GHC passes this flag to the linker whenever -split-sections is passed on the command line. This is based on @DemiMarie's D2768. Fixes Trac #11315 Fixes Trac #9832 Fixes Trac #8964 Fixes Trac #8685 Fixes Trac #8629
* Fix incorrectly named configure optionsAlec Theriault2019-01-271-2/+2
| | | | | | Although we should use 'AC_ARG_ENABLE' for boolean flags, it also means options get named '--enable-*', not '--with-*'. This should unbreak the --with-intree-gmp option.
* Hadrian: support in-tree GMPAlec Theriault2019-01-231-0/+14
| | | | | | | | | | | | | | | | | | | | | | Summary: This adds top-level configure flags '--with-intree-gmp' and '--with-framework-preferred', both of which are especially relevant on MacOS. Besides gaining two new flags, Hadrian also had to be taught what to do with the 'framework' in .cabal files. Test Plan: ./boot && ./configure --with-intree-gmp && ./hadrian/build.sh ./boot && ./configure --with-gmp-framework-preferred && ./hadrian/build.sh # on macos Reviewers: carter, snowleopard, alpmestan, hvr, goldfire, bgamari Subscribers: rwbarton, erikd GHC Trac Issues: #16001 Differential Revision: https://phabricator.haskell.org/D5417
* configure: introduce HAPPY and ALEX vars and deprecate --with-ghc in favour ↵Adam Sandberg Eriksson2019-01-011-9/+17
| | | | | | of the GHC var Also updates the windows gitlab ci to use the new configure variables.
* aclocal.m4: drop obsolete -fno-stack-protectorSergei Trofimovich2018-12-261-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Initially -fno-stack-protector was added for openbsd specifically for ghc-6.5: changeset:f638fdfe1d9de1307355c8074fbff9c28342c0ef (2006) and later it was extended to cover osx: changeset:c2cd83e7d85c11e6a33e1cde263eb2312566d535 (2009) None of the reports hint at exact breakage. I guess both happened in -fvia-C mode where GHC's Evil Mangler had a chance to mangle stack canaries generated by fstack-protector. ghc has no evil mangler anymore and the change is not needed at least for C codegen. validated the patch on OpenBSD-6.4. No new failures compared to clean master branch. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Test Plan: validated on OpenBSD Reviewers: bgamari Subscribers: rwbarton, erikd, carter GHC Trac Issues: #16046 Differential Revision: https://phabricator.haskell.org/D5465
* configure: Disable LD_NO_GOLD logic when cross-compilingBen Gamari2018-12-121-1/+5
| | | | | | | | | | | This is generally terrible: see #16025. In short, we previously just blindly used an un-prefixed ld for LD_NO_GOLD. This is blatantly wrong. Ideally we would actually verify that ld.gold is indeed broken (by binutils #22266) before insisting on using another linker but sadly we cannot do so when cross-compiling since this would require running host code. For now we simply disable the LD_NO_GOLD logic when cross-compiling and hope that the user has verified that their ld.gold isn't affected by #22266.
* Remove warnings-silencing flags for code generated by AlexSimon Jakobi2018-11-221-8/+2
| | | | | | | | | | | | | | | | | | Current versions of Alex don't seem to produce as many warnings any more. In order to silence a warning and to avoid overlong lines, I've taken the liberty of refactoring 'tok_num'. Test Plan: ./validate Reviewers: bgamari, simonmar Reviewed By: simonmar Subscribers: erikd, rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5319
* Correctly detect GIT in a subtreeSylvain Henry2018-10-291-1/+1
| | | | | | | When we use a git subtree, .git is a file, not a directory. The script was already fixed for the commit ID but not for its date. PR: https://github.com/ghc/ghc/pull/212/
* Fix test for GCC support for atomics in AutotoolsOndra Pelech2018-10-151-1/+1
| | | | PR: https://github.com/ghc/ghc/pull/198/
* aclocal.m4: fix shell comment syntax: '#', not '$'Sergei Trofimovich2018-09-251-1/+1
| | | | | | | | | | | | Summary: Reported-by: Evan Laforge Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Reviewers: bgamari Subscribers: rwbarton, erikd, carter Differential Revision: https://phabricator.haskell.org/D5171
* Revert "adds -latomic to. ghc-prim"Ben Gamari2018-09-201-0/+18
| | | | | | | This commit was never properly justified and relies on the existence of libatomic, which doesn't appear to exist on Darwin. This reverts commit ec9aacf3eb2975fd302609163aaef429962ecd87.
* Fix Git commit ID detection in Git worktreesSylvain Henry2018-07-281-1/+1
| | | | | | | | | | | | Summary: When using a Git worktree, ".git" is a file, not a directory Reviewers: bgamari, monoidal Reviewed By: monoidal Subscribers: rwbarton, thomie, erikd, carter Differential Revision: https://phabricator.haskell.org/D5016
* aclocal.m4: narrow down 'riscv*' to 'riscv-*' and 'riscv32*'Sergei Trofimovich2018-07-171-3/+3
| | | | | | | | | | Two minor changes: - 32-bit CPU macro is called riscv32_HOST_ARCH (was riscv_HOST_ARCH) - shrink understood tuples from riscv* to riscv-* and riscv32*-* as a tiny safeguard against riscv128*- in future. Suggested-by: James Clarke <jrtc27@jrtc27.com> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>