summaryrefslogtreecommitdiff
path: root/aclocal.m4
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* aclocal.m4: allow riscv and riscv64 CPUSergei Trofimovich2018-07-161-1/+7
| | | | | | Tested on riscv64-unknown-linux-gnu tuple. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* Add support for FreeBSD armBen Gamari2018-06-071-0/+16
| | | | | | | | | | | | Test Plan: Tested on armv6, armv7 and aarch64 on FreeBSD 12-CURRENT. Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, erikd, carter Differential Revision: https://phabricator.haskell.org/D4810
* configure: Use -Werror to check for existence of -no-pieBen Gamari2018-04-191-1/+1
| | | | | | | | | | | | | | | | | | | Clang throws a warning instead of an error when it is passed -no-pie, clang: warning: argument unused during compilation: '-nopie' [-Wunused-command-line-argument] Consequently configure concludes that it supports -no-pie. However, this will fail when used with -Werror. The solution is to simply use -Werror in the configure check. Thanks to @goldfire for reporting this. Reviewers: hvr Subscribers: thomie, carter, goldfire Differential Revision: https://phabricator.haskell.org/D4557
* Introduce a $tooldir variable for nicer toolchain detection on WindowsAlp Mestanogullari2018-04-171-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch affects several files that affect how we detect mingw and perl on Windows. The initial motivation is: https://github.com/snowleopard/hadrian/issues/564 where, with Hadrian building relocatable (non-inplace) GHCs, the current detection mechanism falls short by e.g only trying $topdir/../mingw. But in Hadrian, for reasons given in that issue, we would need to store e.g mingw under $topdir/../../mingw except for binary distributions, where we want to follow the existing structure, in which case $topdir/../mingw is correct. So we need to support both, which is what this patch hopefully implements. Test Plan: ./validate Reviewers: Phyx, hvr, bgamari, erikd Reviewed By: Phyx Subscribers: snowleopard, thomie, carter Differential Revision: https://phabricator.haskell.org/D4598
* configure: Throw error if OS is found to be msysBen Gamari2018-03-271-0/+3
| | | | | | | | | | | | | Test Plan: Try running configure on Windows with msys and mingw toolchains Reviewers: Phyx, hvr Reviewed By: Phyx Subscribers: rwbarton, thomie, erikd, carter Differential Revision: https://phabricator.haskell.org/D4526
* Support iOS variants elsewhere when configuringJohn Ericson2018-03-251-1/+1
| | | | | | | | | | Reviewers: hvr, bgamari, angerman Reviewed By: angerman Subscribers: rwbarton, thomie, erikd, carter, angerman Differential Revision: https://phabricator.haskell.org/D4513
* configure: Accept version suffix in solaris nameBen Gamari2018-03-191-1/+4
| | | | | | | | | | Summary: OpenIndiana apparently reports a triple of i386-pc-solaris2.11. Reviewers: hvr Subscribers: rwbarton, thomie, erikd, carter Differential Revision: https://phabricator.haskell.org/D4487
* aclocal.m4: add OSHurd (debian patch)Sergei Trofimovich2018-03-171-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | ghc treats OSUnknown (and GNU/Hurd) as non-ELF target. This causes panic in native codegenerator when trying to build PIC code: ``` ... -- all other platforms howToAccessLabel dflags _ _ _ _ _ | not (positionIndependent dflags) = AccessDirectly | otherwise = panic "howToAccessLabel: PIC not defined for this platform" ``` This change declares new 'OSHurd' and marks it as an ELF target. Fixes building ghc-stage2 on i686-unknown-gnu0.9. Patch provided by "Pino" via Samuel Thibault and taken from debian. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* aclocal.m4: allow more GNU/Hurd tuplesSergei Trofimovich2018-03-171-1/+4
| | | | | | | | | | | | Running plain ./configure fails on hurd because ./config.guess reports unrecognised tuple: $ ./config.guess i686-unknown-gnu0.9 The change makes the following target configure: $ ./configure --target=i686-unknown-gnu0.9 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>