summaryrefslogtreecommitdiff
path: root/utils/ghc-cabal/ghc.mk
Commit message (Collapse)AuthorAgeFilesLines
* Bump template-haskell version to 2.17.0.0Ryan Scott2020-04-141-2/+2
| | | | | | | | | | | | | | | | | | This requires bumping the `exceptions` and `text` submodules to bring in commits that bump their respective upper version bounds on `template-haskell`. Fixes #17645. Fixes #17696. Note that the new `text` commit includes a fair number of additions to the Haddocks in that library. As a result, Haddock has to do more work during the `haddock.Cabal` test case, increasing the number of allocations it requires. Therefore, ------------------------- Metric Increase: haddock.Cabal -------------------------
* Update to Cabal submodule to v3.2.0.0-alpha3Oleg Grenrus2020-01-041-2/+2
| | | | | Metric Increase: haddock.Cabal
* Get rid of GHC_PACKAGE_DB_FLAGJohn Ericson2019-10-071-1/+1
| | | | | We no longer support booting from older GHC since 527bcc41630918977c73584d99125ff164400695.
* Disable optimisation when building Cabal lib for stage0Ben Gamari2019-06-151-0/+3
| | | | | | | | This disables optimisation when building Cabal for Hadrian and stage0 `ghc-cabal`. Cabal is performance critical in neither case nor will any performance difference here be visible to the end-user. See #16817.
* 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 `Cabal` submoduleHerbert Valerio Riedel2019-01-141-5/+5
| | | | | | | This also requires adapting `ghc-pkg` to use the new Cabal parsing API as the old ReadP-based one has finally been evicted for good. Hadrian bit finished by: Ben Gamari <ben@smart-cactus.org>
* Bump parsec submodule to 0.3.13.0Ben Gamari2018-02-191-1/+1
|
* Retire cabal_macros_boot.h hackHerbert Valerio Riedel2017-09-091-7/+2
| | | | | | | | I originally introduced this hack 3 years ago in b0379819e46796047c1574a6abccf186afd27afa, and finally we can retire it because starting with GHC 8.0 (which is the minimum required version to bootstrap GHC 8.4) these macros are generated natively by GHC.
* Enable building Cabal with parsecHerbert Valerio Riedel2017-08-011-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Drop HAVE_containers_050 from bootstrap flagsBen Gamari2017-03-041-1/+0
| | | | Cabal now sets this itself if MIN_VERSION_containers isn't defined.
* Bump Cabal submoduleBen Gamari2017-02-201-1/+1
| | | | We are now tracking the 2.0 branch.
* Remove unnecessary use of -DGENERICS flagRyan Scott2017-02-061-1/+1
| | | | | This flag was only needed for old versions of binary, and now that we've upgraded to binary-0.8.4.1, it is no longer necessary.
* ghc-cabal: Use correct name of linker flags env variableBen Gamari2016-11-101-1/+1
| | | | | | | | | | | | | | Currently passing the `CONF_LD_LINKER_OPTS_STAGE0` environment variable to `configure` is broken due to this naming inconsistency. Test Plan: Try passing `CONF_LD_LINKER_OPTS_STAGE0` to `configure`. Look at resulting stage0 ghc invocation. Reviewers: austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2672
* ghc-cabal: accept EXTRA_HC_OPTS make variableSergei Trofimovich2016-09-021-1/+2
| | | | Signed-off-by: Sergei Trofimovich <siarheit@google.com>
* Trim all spaces after 'version:'Gabor Greif2016-08-051-1/+1
| | | | | | | ... that we grep out of libraries/Cabal/Cabal/Cabal.cabal This is necessary because the file got reformatted in the 'master' branch.
* Make bootstrapping more robustHerbert Valerio Riedel2016-02-161-0/+16
| | | | | | | | | | | | | | | Starting with GHC 8.0 we rely on GHC's native cabal macro generation. As a side-effect, this limits the packages in scope when compiling `ghc-cabal` for all bootstrapping GHCs. Reviewers: ezyang, austin, thomie, bgamari Reviewed By: thomie, bgamari Differential Revision: https://phabricator.haskell.org/D1897 GHC Trac Issues: #11413
* Update binary submodule to binary-0.8 snapshotHerbert Valerio Riedel2015-12-161-0/+1
| | | | | | | | | | | | This requires tweaking version constraints to allow this new major version of `binary`. Starting with binary-0.8, `Binary Version` is de-orphaned into `binary`. This requires some minor adaptations to remove/hide orphan instances. /cc @kolmodin Differential Revision: https://phabricator.haskell.org/D1635
* Update `binary` submodule to final 0.7.2.3 releaseHerbert Valerio Riedel2014-12-141-0/+1
| | | | | | This also introduces a "bootstrap" `cabal_macros.h` header to provide the `MIN_VERSION_base()` macro during Cabal bootstrapping which as it is now used by `binary`.
* Update Cabal submodule & ghc-pkg to use new module re-export typesEdward Z. Yang2014-09-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The main change is that Cabal changed the representation of module re-exports to distinguish reexports in source .cabal files versus re-exports in installed package registraion files. Cabal now also does the resolution of re-exports to specific installed packages itself, so ghc-pkg no longer has to do this. This is a cleaner design overall because re-export resolution can fail so it is better to do it during package configuration rather than package registration. It also simplifies the re-export representation that ghc-pkg has to use. Add extra ghc-pkg sanity check for module re-exports and duplicates For re-exports, check that the defining package exists and that it exposes the defining module (or for self-rexport exposed or hidden modules). Also check that the defining package is actually a direct or indirect dependency of the package doing the re-exporting. Also add a check for duplicate modules in a package, including re-exported modules. Test Plan: So far the sanity checks are totally untested. Should add some test case to make sure the sanity checks do catch things correctly, and don't ban legal things. Reviewers: austin, duncan Subscribers: angerman, simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D183 GHC Trac Issues:
* Include SRC_CC_OPTS and SRC_LD_OPTS when compiling ghc-cabalSimon Marlow2014-03-271-2/+4
|
* Globally replace "hackage.haskell.org" with "ghc.haskell.org"Simon Marlow2013-10-011-2/+2
|
* Fix the inplace name of ghc-cabalIan Lynagh2013-04-251-1/+1
| | | | We had inplace/bin/ghc-cabalghc-cabal
* Use different exeext variables for each stage; fixes #7709Ian Lynagh2013-04-201-2/+3
| | | | | Currently they are all set to the same value, but when cross-compiling they could be set to different values.
* Small build system refactoringIan Lynagh2013-04-201-5/+6
|
* Update CabalIan Lynagh2013-03-111-1/+1
|
* Automatically add the $(exeext) to program namesIan Lynagh2013-03-031-1/+1
| | | | | | | We now define _PROGNAME, and _PROG is automatically defined with $(exeext). This will shortly automatically use the right exeext depending on what stage it is being compiled with (exeext may be different for different stages when cross-compiling).
* installation fixesIan Lynagh2013-03-031-0/+2
|
* Use more of the automatically generated INPLACE variablesIan Lynagh2013-03-031-2/+4
|
* Define $(prog)_INPLACE variables automatically, and start using themIan Lynagh2013-03-031-15/+15
|
* Whitespace tweakIan Lynagh2013-02-161-1/+1
|
* Try to make ghc-pkg and ghc-cabal use the same flags when bootstrapping.Simon Marlow2013-02-011-1/+2
| | | | | They share modules in Cabal, and unless they use exactly the same flags GHC recompiles the modules.
* Make it possible to build with only way dynIan Lynagh2012-10-241-1/+1
|
* Build the dynamic way by default on Linux/amd64Ian Lynagh2012-10-031-0/+1
| | | | | | | | | | | | | This required various build system changes to get the build to go through. In the inplace shell wrappers, we set LD_LIBRARY_PATH to allow programs to find their libraries. In the future, we might change the inplace tree to be the same shape as an installed tree instead. However, this would mean changing the way we do installation, as currently we use cabal's installation methods to install the libraries, but that only works if the libraries are under libraries/foo/dist-install/build/..., rather than in inplace/lib/...
* Rename package-conf flags to package-db.Paolo Capriotti2012-05-151-1/+1
| | | | | | | | Rename package database flags in both GHC and ghc-pkg so that they are consistent with Cabal nomenclature. Add a version check to the build system so that the correct set of package db flags are used when the bootstrapping GHC has version < 7.5.
* It isn't guaranteed that Cabal is warning-freeIan Lynagh2012-04-241-1/+1
|
* Use touchy rather than touch when building on WindowsIan Lynagh2011-12-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With Windows 7 in a vitrual box VM on OS X, some very odd things happen with dates and time stamps when SSHing into cygwin. e.g. here the "Change" time is in the past: $ date; touch foo; stat foo Fri Dec 2 16:58:07 GMTST 2011 File: `foo' Size: 0 Blocks: 0 IO Block: 65536 regular empty file Device: 540aba0bh/1409989131d Inode: 562949953592977 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ ian) Gid: ( 513/ None) Access: 2011-12-02 16:58:07.414457900 +0000 Modify: 2011-12-02 16:58:07.414457900 +0000 Change: 2011-12-02 16:58:03.495141800 +0000 Birth: 2011-12-02 16:57:57.731469900 +0000 And if we copy such a file, then the copy is older (as determined by the "Modify" time) than the original: $ date; touch foo; stat foo; cp foo bar; stat bar Fri Dec 2 16:59:10 GMTST 2011 File: `foo' Size: 0 Blocks: 0 IO Block: 65536 regular empty file Device: 540aba0bh/1409989131d Inode: 1407374883725128 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ ian) Gid: ( 513/ None) Access: 2011-12-02 16:59:10.118457900 +0000 Modify: 2011-12-02 16:59:10.118457900 +0000 Change: 2011-12-02 16:59:06.189477700 +0000 Birth: 2011-12-02 16:57:57.731469900 +0000 File: `bar' Size: 0 Blocks: 0 IO Block: 65536 regular empty file Device: 540aba0bh/1409989131d Inode: 281474976882512 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ ian) Gid: ( 513/ None) Access: 2011-12-02 16:59:06.394555800 +0000 Modify: 2011-12-02 16:59:06.394555800 +0000 Change: 2011-12-02 16:59:06.395532400 +0000 Birth: 2011-12-02 16:58:40.921899600 +0000 This means that make thinks that things are out of date when it shouldn't, so reinvokes itself repeatedly until the MAKE_RESTARTS infinite-recursion test triggers. The touchy program, like most other programs, creates files with both Modify and Change in the past, which is still a little odd, but is consistent, so doesn't break make.
* Follow cabal->Cabal rename, and fix haddock index generationIan Lynagh2011-10-231-5/+5
| | | | We now make use of the ghc-packages file when making the haddock index.
* Don't fail validate due to warnings in CabalIan Lynagh2011-07-271-1/+2
| | | | Duncan says that Cabal isn't guaranteed to be warning-free.
* Follow Cabal reorganisation, and improve build system a littleIan Lynagh2011-06-231-5/+5
|
* Build a copy of ghc-cabal with the in-tree compiler, for the bindistIan Lynagh2010-12-101-45/+10
|
* Add NoFoo form to the extensions list that dummy-ghc generatesIan Lynagh2010-10-261-2/+2
|
* Add some -no-user-package-conf flagsIan Lynagh2010-09-021-0/+1
| | | | Stops user-installed packages breaking the build
* Fix build with Solaris sedIan Lynagh2009-12-161-1/+3
| | | | | Rather than trying to handle tabs with sed portably, we just use tr to remove them before we start.
* Call $(SED) rather than sedIan Lynagh2009-12-011-1/+1
|
* Add ghc-cabal dependencies; fixes #3494Ian Lynagh2009-10-301-0/+4
|
* Make the unpleasant sed one-liner less unpleasantMatthias Kilian2009-10-071-1/+1
|
* Add --supported-languages support to dummy-ghcIan Lynagh2009-10-061-4/+28
| | | | | | | | | We used to call the bootstrapping compiler to get its --supported-languages but that doesn't work when it doesn't support all the extensions that we need. In particular, compiling the new bytestring which needs NamedFieldPuns broken when building with 6.8.2. There's now a rather ugly sed script to extract the extensions from DynFlags.hs.
* Use "order only constraints" for directoriesIan Lynagh2009-10-021-7/+3
| | | | There are now 104 calls to mkdirhier, down from 1201, when validating.
* depend on mk/project.mk appropriatelySimon Marlow2009-05-291-2/+2
|
* Quote commands that we run, so they work if there are space in their pathsIan Lynagh2009-05-301-6/+6
| | | | | I've also added some missing $s to some makefiles. These aren't technically necessary, but it's nice to be consistent.