summaryrefslogtreecommitdiff
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
...
* Bump ghc version to 8.9Ryan Scott2019-02-201-2/+2
| | | | | | | Along the way, I discovered that `template-haskell.cabal` was hard-coding the GHC version (in the form of its `ghc-boot-th` version bounds), so I decided to make life a little simpler in the future by generating `template-haskell.cabal` with autoconf.
* configure: Document CLANG, LLC, and OPT variablesBen Gamari2019-02-121-0/+3
|
* configure: introduce HAPPY and ALEX vars and deprecate --with-ghc in favour ↵Adam Sandberg Eriksson2019-01-011-7/+9
| | | | | | of the GHC var Also updates the windows gitlab ci to use the new configure variables.
* PPC NCG: Remove Darwin supportPeter Trommler2019-01-011-10/+1
| | | | | | | Support for Mac OS X on PowerPC has been dropped by Apple years ago. We follow suit and remove PowerPC support for Darwin. Fixes #16106.
* Add missing comma in 'libdw' configure checkAlec Theriault2018-12-171-1/+1
| | | | | | | | | | | | | | | Fix a bug from cb882fc993b4972f7f212b291229ef9e9ade0af9. Without the comma, all non-diverging codepaths set 'UseLibdw=NO'. Reviewers: bgamari, nh2 Reviewed By: nh2 Subscribers: rwbarton, erikd, carter GHC Trac Issues: #15968 Differential Revision: https://phabricator.haskell.org/D5459
* configure: Don't use ln -vBen Gamari2018-12-111-5/+5
| | | | | | | | | | | | | | | | | | | There's no reason why we need to print the linked files and apparently ln on OpenBSD doesn't support -v. Fixes #15946. Test Plan: Validate Reviewers: monoidal Reviewed By: monoidal Subscribers: rwbarton, erikd, carter GHC Trac Issues: #15946 Differential Revision: https://phabricator.haskell.org/D5425
* Require 'libdw' for '--enable-dwarf-unwind'Alec Theriault2018-12-071-1/+3
| | | | | | | | | | | | | | | | | | | | This causes './configure --enable-dwarf-unwind' to exit with a helpful error message when 'libdw' cannot be found (compared to the previous behaviour of silently pretending the user hadn't requested DWARF support at all). Test Plan: ./configure --enable-dwarf-unwind # on systems with/without libdw Reviewers: bgamari, nh2 Reviewed By: nh2 Subscribers: nh2, rwbarton, erikd, carter GHC Trac Issues: #15968 Differential Revision: https://phabricator.haskell.org/D5424
* Use autoconf to generate version numbers for libiserv and friendsRyan Scott2018-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | | Summary: Currently, the version numbers for `libiserv`, `iserv`, and `iserv-proxy` are hard-coded directly into their `.cabal` files. These are easy to forget to update, and in fact, this has already happened once (see #15866). Let's use `autoconf` to do this for us so that it is not forgotten in the future. Test Plan: ./validate Reviewers: bgamari Reviewed By: bgamari Subscribers: rwbarton, erikd, carter GHC Trac Issues: #15866 Differential Revision: https://phabricator.haskell.org/D5302
* configure: Use LLVM 7.0Ben Gamari2018-11-231-1/+1
|
* Drop GHC 8.2 compatibilityRyan Scott2018-10-031-7/+2
| | | | | | | | | | | | | | | | | Summary: GHC 8.6.1 is out, so now GHC's support window only extends back to GHC 8.4. This means we can delete gobs of code that were only used for GHC 8.2 support. Hooray! Test Plan: ./validate Reviewers: bgamari, Phyx, erikd Reviewed By: bgamari, Phyx Subscribers: rwbarton, erikd, carter Differential Revision: https://phabricator.haskell.org/D5192
* Revert "adds -latomic to. ghc-prim"Ben Gamari2018-09-201-0/+5
| | | | | | | 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.
* split-obj: disable split-objects on Windows.Tamar Christina2018-07-161-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | A change has caused GHC to generate excessive specializations. This is making GHC generate 1800 splits for a simple GHC.Prim module, which means 1800 fork/exec calls. Due to this compilation times on Windows with split-objs on take over 24 hours to complete depending on your disk speed. Also the end compiler compiling medium to large project is also much slower. So I think we need to just disable split-objects. As there's nothing that can be done about this. Test Plan: ./validate Reviewers: bgamari Subscribers: tdammers, rwbarton, thomie, erikd, carter GHC Trac Issues: #15051 Differential Revision: https://phabricator.haskell.org/D4915
* Revert "rts: Enable two-step allocator on FreeBSD"Ben Gamari2018-07-061-9/+8
| | | | | | This reverts commit 8736715857d08cc1f88d766c257b39c05df20639. I hadn't intended on merging this.
* rts: Enable two-step allocator on FreeBSDBen Gamari2018-07-061-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we would prevent any operating system not providing the MEM_NORESERVE flag from using the two-step allocator. Afterall, Linux will reserve swap-space for a mapping unless this flag is given, which is most certainly not what we want. However, it seems that FreeBSD provides the reservation-only mapping behavior that we expect despite not providing the MEM_NORESERVE macro. In fact, it provided the macro until 2014, when it was removed on account of not being implemented in the kernel. However, empirical evidence suggests that just plain mmap does what we want. Reviewers: erikd, simonmar Subscribers: rwbarton, thomie, erikd, carter GHC Trac Issues: #15348 Differential Revision: https://phabricator.haskell.org/D4939
* Fix incorrect GHC versioningHerbert Valerio Riedel2018-06-211-1/+1
| | | | | This is an unstable release, hence it must be x.y.$DATE, rather than x.y.0.$DATE which would denote a stable pre-release snapshot.
* configure: Set version to 8.7ghc-8.7-startBen Gamari2018-06-201-1/+1
| | | | Bumps haddock submodule.
* configure: Fix libnuma detection logicBen Gamari2018-06-201-1/+1
| | | | | | | | Test Plan: Validate with numa support Subscribers: rwbarton, thomie, erikd, carter Differential Revision: https://phabricator.haskell.org/D4869
* configure: Bump version to 8.6.0Richard Eisenberg2018-06-191-1/+1
| | | | Bumps haddock submodule.
* configure: Fail when bootstrapping with GHC 8.2.1Ben Gamari2018-06-171-0/+5
| | | | See #15281
* Revert "Amend configure script to support lndir build tree"Ben Gamari2018-06-161-5/+5
| | | | | | | | | | | | This appears to inexplicably break the OS X build, which fails with: ``` make[1]: *** No rule to make target `utils/unlit/fs.c', needed by `utils/unlit/dist/build/.depend.c_asm'. Stop. make[1]: *** Waiting for unfinished jobs.... make: *** [all] Error 2 ``` This reverts commit 8ee9c574a6d2105ace858f0fee31750acafe0a0f.
* Amend configure script to support lndir build treeAdam Gundry2018-06-161-5/+5
| | | | | | | | | | | | Test Plan: ./validate Reviewers: bgamari Subscribers: rwbarton, thomie, erikd, carter GHC Trac Issues: #15257 Differential Revision: https://phabricator.haskell.org/D4853
* Bump supported LLVM version to 6.0Ben Gamari2018-06-151-1/+1
| | | | This seems to fix a number of segmentation faults.
* configure: Make sphinx-build version test work on recent versionsJens Petersen2018-05-301-1/+1
| | | | | | | | On Fedora: `/usr/libexec/sphinx-build --version` outputs `sphinx-build 1.7.2`. In bindir we actually have sphinx-build-2 and sphinx-build-3 (python2 and python3 versions), which output `sphinx-build-2 1.7.2` and `sphinx-build-3 1.7.2` respectively. Dunno what version others are using but at least this change should works for most versions I suppose.
* Add HeapView functionalityPatrick Dougherty2018-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | This pulls parts of Joachim Breitner's ghc-heap-view library inside GHC. The bits added are the C hooks into the RTS and a basic Haskell wrapper to these C hooks. The main reason for these to be added to GHC proper is that the code needs to be kept in sync with the closure types defined by the RTS. It is expected that the version of HeapView shipped with GHC will always work with that version of GHC and that extra functionality can be layered on top with a library like ghc-heap-view distributed via Hackage. Test Plan: validate Reviewers: simonmar, hvr, nomeata, austin, Phyx, bgamari, erikd Reviewed By: bgamari Subscribers: carter, patrickdoc, tmcgilchrist, rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3055
* Ensure that RTS cabal file reflects dependency on libnumaBen Gamari2018-05-151-0/+6
| | | | | | | | | | Test Plan: Validate with Hadrian and `libnuma` support Reviewers: snowleopard, hvr, erikd, simonmar Subscribers: izgzhen, alpmestan, thomie, carter Differential Revision: https://phabricator.haskell.org/D4616
* Configure option to disable dtraceBen Gamari2018-04-131-5/+15
| | | | | | | | Reviewers: hvr, bgamari Subscribers: lelf, thomie, carter Differential Revision: https://phabricator.haskell.org/D4575
* Remove MAX_PATH restrictions from RTS, I/O manager and various utilitiesTamar Christina2018-03-311-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This shims out fopen and sopen so that they use modern APIs under the hood along with namespaced paths. This lifts the MAX_PATH restrictions from Haskell programs and makes the new limit ~32k. There are only some slight caveats that have been documented. Some utilities have not been upgraded such as lndir, since all these things are different cabal packages I have been forced to copy the source in different places which is less than ideal. But it's the only way to keep sdist working. Test Plan: ./validate Reviewers: hvr, bgamari, erikd, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, carter GHC Trac Issues: #10822 Differential Revision: https://phabricator.haskell.org/D4416
* 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
* Bump autoconf version bound to >= 2.69Ben Gamari2018-03-191-7/+8
| | | | | | | | | | Reviewers: hvr Subscribers: rwbarton, thomie, erikd, carter GHC Trac Issues: #14910 Differential Revision: https://phabricator.haskell.org/D4495
* Require GHC 8.2 to bootstrap GHCJoachim Breitner2018-03-191-2/+2
| | | | | | | | | | Reviewers: bgamari, hvr, RyanGlScott Reviewed By: RyanGlScott Subscribers: RyanGlScott, rwbarton, thomie, erikd, carter Differential Revision: https://phabricator.haskell.org/D4509
* Various Windows / Cross Compile to Windows fixesMoritz Angermann2018-03-021-0/+4
| | | | | | | | | | | | | | | - Adds quick-cross-ncg flavour. - Fix windows wchar with `_s` for mingw - Lookup windres, dllwrap and objdump - Fix type. Reviewers: bgamari, hvr, Phyx, erikd, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, erikd, carter Differential Revision: https://phabricator.haskell.org/D4430
* Don't use ld.gold when building libraries for GHCiSimon Marlow2018-02-211-0/+2
| | | | | | | | | | | | | | | | | | | Summary: ld.gold is buggy when using -r and a linker script. See upstream bug https://sourceware.org/bugzilla/show_bug.cgi?id=22266 This has been causing various brokenness for the GHC runtime linker, where we load these broken object files. Test Plan: Test program from #14675 Reviewers: bgamari, RyanGlScott, alpmestan, hvr, erikd Subscribers: rwbarton, thomie, erikd, carter GHC Trac Issues: #14328, #14675, #14291 Differential Revision: https://phabricator.haskell.org/D4431
* adds -latomic to. ghc-primMoritz Angermann2018-02-151-5/+0
| | | | | | | | | | Reviewers: bgamari, hvr Reviewed By: bgamari Subscribers: erikd, hvr, rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4378
* ghc-prim: Emulate C11 atomics when not availableBen Gamari2018-02-031-0/+5
| | | | | | | | | | | | | | | | | | GCC's __sync primitives apparently "usually" imply a full barrier, meaning they can be used to emulate the more precise C11 atomics albeit with a loss of efficiency. This restores compatibility with GCC 4.4. This partially reverts commit 59de290928e6903337f31c1f8107ac8a98ea145d. Test Plan: Validate on Centos Reviewers: hvr, simonmar, trommler Subscribers: rwbarton, thomie, erikd, carter GHC Trac Issues: #14244 Differential Revision: https://phabricator.haskell.org/D4364
* configure: Various cleanupsJohn Ericson2018-01-151-10/+9
| | | | | | | | | | | | | | | | | Substitute RanlibCmd for consistency, and other configure cleanups that should have no effect The other commands are so substituted. Maybe we don't need ranlib at all, and the configure snippet can be removed all together, but that can always be done later. Reviewers: bgamari, hvr, angerman Reviewed By: bgamari, angerman Subscribers: rwbarton, thomie, erikd, carter Differential Revision: https://phabricator.haskell.org/D4286
* Bump version to 8.5ghc-8.5-startBen Gamari2017-12-041-1/+1
| | | | The ghc-8.4 branch has now been cut. Updates the haddock submodule.
* configure: Fix incorrect quotingBen Gamari2017-11-161-1/+5
| | | | | This is a regression affecting Windows introduced by 3bed4aa703c41ccbd310496420fbb71afdfd99e7.
* Adds rts/rts.cabal.in fileMoritz Angermann2017-11-151-6/+23
| | | | | | | | | | | | | | | | | | | | | | | | This is in preparation for cabalification of the `rts`. To be actually able to parse this file, a rather recent Cabal is required. One after commit 357d49d of haskell/cabal. The relevant PR to support the new `asm-sources` and `cmm-sources` is haskell/cabal/pull/4857. Not that this does *not* allow cabal to build the RTS. It does however provide enough information such that cabal can `copy` and `register` the package properly in the package database, if all the build artifacts have been build properly. As such it does not require any custom handling of the `rts` package. As the rts as well as all the other packages built by the GHC built system are built outside of cabal anyway. Reviewers: bgamari, hvr, erikd, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, erikd Differential Revision: https://phabricator.haskell.org/D4174
* FreeBSD dtrace probe supportBen Gamari2017-10-161-1/+3
| | | | | | | | | | Reviewers: austin, hvr, erikd, simonmar, bgamari Reviewed By: bgamari Subscribers: snowleopard, raichoo, rwbarton, thomie, erikd Differential Revision: https://phabricator.haskell.org/D3994
* Rewrite boot in PythonBen Gamari2017-10-021-1/+1
| | | | | | | | | | | | | | | | | | One step closer to being able to drop the Windows Perl tarball. We previously attempted to do this in D3567 but were forced to revert due to Windows problems. Acknowledgements: * @Phyx kindly contributed the codepath allowing this to work on Windows. Test Plan: Validate Reviewers: hvr, austin, Phyx Subscribers: erikd, thomie, rwbarton Differential Revision: https://phabricator.haskell.org/D3918
* configure: Don't hard-code strip toolBen Gamari2017-09-251-0/+7
| | | | | | | | | | | | | | For reasons that I don't entirely understand we didn't previously detect `strip` using autoconf. This naturally broke during cross-compilation. How did this ever work? I have no idea. Test Plan: Try cross-compiling Reviewers: austin, hvr, angerman Subscribers: rwbarton, thomie, erikd Differential Revision: https://phabricator.haskell.org/D4008
* Fix the searching of target AR toolTamar Christina2017-09-261-3/+1
| | | | | | | | | | | | | | | | | | | | Summary: Ar was being checked twice prior to D3883 where I removed one of the checks because the converted path was being overridden after the check because of the second check for Ar. However the one in configure.ac was a target check so I'm changing the path check to a target check now. Test Plan: ./configure Reviewers: angerman, austin, hvr, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, erikd GHC Trac Issues: #14274 Differential Revision: https://phabricator.haskell.org/D4020
* Allow opt+llc from LLVM5Moritz Angermann2017-09-191-1/+1
| | | | | | | | | | | | | | | | Summary: This bumps our LLVM version requirement to LLVM5, which will likely be released before GHC 8.4. Test Plan: validate Reviewers: austin, hvr, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie, erikd Differential Revision: https://phabricator.haskell.org/D3797
* Remove makefile logic for legacy -this-package-keyHerbert Valerio Riedel2017-09-091-5/+0
| | | | | | This isn't needed anymore as we don't support GHC < 8 anymore. This is a follow-up to 122f183
* Clean up opt and llcMoritz Angermann2017-09-061-0/+7
| | | | | | | | | | | | | | | | | | | | | The LLVM backend shells out to LLVMs `opt` and `llc` tools. This clean up introduces a shared data structure to carry the arguments we pass to each tool so that corresponding flags are next to each other. It drops the hard coded data layouts in favor of using `-mtriple` and have LLVM infer them. Furthermore we add `clang` as a proper tool, so we don't rely on assuming that `clang` is called `clang` on the `PATH` when using `clang` as the assembler. Finally this diff also changes the type of `optLevel` from `Int` to `Word`, as we do not have negative optimization levels. Reviewers: erikd, hvr, austin, rwbarton, bgamari, kavon Reviewed By: kavon Subscribers: michalt, Ericson2314, ryantrinkle, dfeuer, carter, simonpj, kavon, simonmar, thomie, erikd, snowleopard Differential Revision: https://phabricator.haskell.org/D3352
* Add gen-dll as replacement for dll-splitTamar Christina2017-08-291-16/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This tool can be used to generate dll's for any list of object files given to it. It will then repartition them automatically to fit within a dll and generates as many dll's as needed to do this. Cyclic dependencies between these generated dlls are handle automatically so there is no need to tell it how to partition. It is also a lot more general than `dll-split` as it is able to split any package not just `libGHC`. It also uses a trick using GNU style import libraries to hide the splitting from the rest of the pipeline. Which means come linking time you don't need to know which dll contains what symbol or how many split dlls were created. The import libraries are by default created with libtool. However since libtool is BFD based it is very slow. So if present and detected by configure the `genlib` tool from the msys2 project is used. This makes a difference of about ~45 minutes when compiling. To install `genlib` run `pacman -Sy mingw-w64-$(uname -m)-tools-git`. More detailed explaination of the process can be found here https://ghc.haskell.org/trac/ghc/wiki/WindowsDynamicLinking Test Plan: ./validate Reviewers: austin, hvr, bgamari, erikd, simonmar Reviewed By: bgamari Subscribers: snowleopard, rwbarton, thomie, erikd, #ghc_windows_task_force GHC Trac Issues: #5987 Differential Revision: https://phabricator.haskell.org/D3883
* Rip out mkUserGuidePartBen Gamari2017-08-251-1/+1
| | | | | | | | Reviewers: austin, hvr Subscribers: rwbarton, thomie, erikd Differential Revision: https://phabricator.haskell.org/D3886
* Enable building Cabal with parsecHerbert Valerio Riedel2017-08-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Cabal's parser has been rewritten in terms of Parsec (which is not enabled yet in Cabal-2.0 by default, but can be enabled by a cabal flag). The plan for Cabal is to drop support for the non-parsec parser, so we need to prepare GHC to cope with new situation. However, this means that lib:Cabal requires three new library dependency submodules, - parsec - text - mtl What complicates matters is that we need to build `ghc-cabal` early on during the bootstrap phase which currently needs to invoke `ghc --make` directly. So these additional dependencies need to be integrated into the monolithic `ghc --make` invocation which produces the `ghc-cabal` executable. Test Plan: `./validate --fast` passed Reviewers: austin, bgamari Subscribers: erikd, phadej, rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3757
* fix dllwrap issue.Tamar Christina2017-07-221-5/+5
| | | | | | | | | | | | | | Summary: Always set dllwrap and windres values. Reviewers: austin, hvr, bgamari, trofi Reviewed By: trofi Subscribers: rwbarton, thomie, erikd GHC Trac Issues: #13792 Differential Revision: https://phabricator.haskell.org/D3775
* distrib/configure: Fail if we can't detect machine's word sizeBen Gamari2017-07-121-2/+2
| | | | | | | | | | | | | | | | | | This is a sure sign that something is terribly wrong. We also now verify that the word size that the binary distribution expects matches the word size produced by the local target toolchain. Finally we rename WordSize to TargetWordSize, since non-host/target qualified quantities are terribly confusing. Reviewers: austin, hvr, Phyx Reviewed By: Phyx Subscribers: Phyx, rwbarton, thomie, erikd Differential Revision: https://phabricator.haskell.org/D3711