Commit Graph

1483 Commits

Author SHA1 Message Date
Daniel Gröber
f3b4da7a0e Use cabal-helper to get buildPlatform 2015-04-12 02:48:53 +02:00
Daniel Gröber
55216e4af3 ifdef for ghc < 7.10 2015-03-28 19:54:10 +01:00
Daniel Gröber
97d17b1173 SetupCompat.hs: remove dependnece on mtl 2015-03-28 19:13:51 +01:00
Markus Hauck
e3812b49ec GHC 7.10.0.20150123 fixes 2015-03-28 19:13:51 +01:00
Daniel Gröber
340ff1e4a7 Update README 2015-03-28 19:13:51 +01:00
Daniel Gröber
744f2c232c Update cabal meta data 2015-03-28 19:13:51 +01:00
Daniel Gröber
80d91776c5 Cleanup and some fixes 2015-03-28 19:13:48 +01:00
Daniel Gröber
2a02742f9e Write autogen file when calling cabal configure 2015-03-28 02:32:47 +01:00
Daniel Gröber
7019cbcfa1 Implement better caching for target options 2015-03-28 02:32:44 +01:00
Daniel Gröber
90d9577f8d Factor out cabal-helper into a package 2015-03-15 20:48:55 +01:00
Daniel Gröber
a97e07065e Don't set -Wall on check 2015-03-15 20:48:05 +01:00
Daniel Gröber
6756f1d10b Get rid of some warnings with ghc-7.8 2015-03-11 13:17:24 +01:00
Daniel Gröber
1cc9c4ba3d Also fix ghc and mtl version in doctest 2015-03-11 13:17:02 +01:00
Daniel Gröber
44dddadda3 Fix travis-ci 2015-03-10 23:57:28 +01:00
Daniel Gröber
3f8cfadeff Fix overlapping global/command flag -q 2015-03-10 09:24:33 +01:00
Daniel Gröber
539c294dd4 Fix a bunch of relate exception handling problems
should handle exceptions outside of runGmlT otherwise we don't catch ghc
load related ones.
2015-03-09 22:04:04 +01:00
Daniel Gröber
7d7f848afb Fix cabal-helper ignoring --with-* flags 2015-03-08 20:53:00 +01:00
Daniel Gröber
1ac71364a9 Fix use of (head . lines) 2015-03-08 17:33:09 +01:00
Daniel Gröber
a6d3f477bc Add better handling for empty component assignments 2015-03-08 17:32:17 +01:00
Daniel Gröber
baf5cad809 Pass through --with-* options to cabal-helper 2015-03-07 19:37:19 +01:00
Daniel Gröber
85d4844a0d Improve suggestions on inconsistent assignment 2015-03-06 19:49:26 +01:00
Daniel Gröber
e23772b1ed Recache cabal-helper stuff when cabal-helper-* executable changes 2015-03-06 19:48:22 +01:00
Daniel Gröber
c05bd816e7 Add quiet option to decrease log level 2015-03-06 19:47:51 +01:00
Daniel Gröber
b9230c7e3f Another recomp bug fixed 2015-03-06 14:49:12 +01:00
Daniel Gröber
8aece59638 Add other-modules to library entrypoints 2015-03-06 14:39:54 +01:00
Daniel Gröber
c8da5b8085 Fix line endings in logging output 2015-03-06 14:04:49 +01:00
Daniel Gröber
b3b4b91ff8 Fix sloppy recompilation checking in cabal-helper-wrapper 2015-03-06 14:04:31 +01:00
Daniel Gröber
9d5ee06af8 Fix GHC 7.10-rc1 2015-03-06 14:04:16 +01:00
Daniel Gröber
1bc9706fe6 cabal-helper: don't install Cabal into the user prefix 2015-03-06 12:08:06 +01:00
Daniel Gröber
ca35e99254 Remove Cabal version sanity check from Setup.hs 2015-03-05 19:47:40 +01:00
Daniel Gröber
2151363dd6 Add back -d option to modules command 2015-03-05 19:38:18 +01:00
Kei Hibino
eb5d0fc867 Re-add output line separator global option for expand command. 2015-03-05 17:45:48 +01:00
Daniel Gröber
e0bd4c6984 Update ghc-mod.cabal maintainer field 2015-03-05 17:35:29 +01:00
Daniel Gröber
7ffded8b88 Add back LICENSE file pointing to COPYING.* 2015-03-05 17:35:29 +01:00
Daniel Gröber
8c3acd73df Update .gitignore 2015-03-05 17:35:28 +01:00
Daniel Gröber
070bf54323 Update README 2015-03-05 17:35:28 +01:00
Daniel Gröber
bee3ec35ec exe:ghc-mod: some output formatting changes 2015-03-05 17:35:28 +01:00
Daniel Gröber
01dde80385 Bring test suite up to date 2015-03-05 17:35:28 +01:00
Daniel Gröber
f0ea445a9b Cleanup errors and logging a bit 2015-03-05 17:35:28 +01:00
Daniel Gröber
bc71877dcf Change the way cabal-helper is built a bit 2015-03-05 17:35:28 +01:00
Daniel Gröber
82bb0090c0 Refactoring to use cabal-helper-wrapper
This turned out to be quite involved but save for this huge commit it's
actually quite awesome and squashes quite a few bugs and nasty
problems (hopefully). Most importantly we now have native cabal
component support without the user having to do anything to get it!

To do this we traverse imports starting from each component's
entrypoints (library modules or Main source file for executables) and
use this information to find which component's options each module will
build with. Under the assumption that these modules have to build with
every component they're used in we can now just pick one.

Quite a few internal assumptions have been invalidated by this
change. Most importantly the runGhcModT* family of cuntions now change
the current working directory to `cradleRootDir`.
2015-03-05 17:35:24 +01:00
Daniel Gröber
7438539ca5 Change primary license to AGPL-3 2015-03-03 21:09:18 +01:00
Daniel Gröber
52e3233f44 Introducing cabal-helper-wrapper
The idea here is to build cabal-helper with whatever version of Cabal
the user happens to be using (which we find by looking at
dist/setup-config) at runtime.

This way we can support literally any version of Cabal as long as the
actual cabal-helper still compiles.

I tried to only use interfaces in Cabal that have been there since at
least 1.16 so I'm hoping this shouldn't break too much.
2015-03-03 21:06:58 +01:00
Daniel Gröber
48563a435e Use crazy TemplateHaskell magic for Setup.hs backwards compatibility 2015-03-01 05:03:04 +01:00
Daniel Gröber
ef96b926c7 Use cabal-helper to support Cabal >= 1.22 with any version of ghc 2015-02-08 12:43:35 +01:00
Daniel Gröber
844bdea3db Move symbolCache to PathsAndFiles 2015-02-08 12:43:35 +01:00
Daniel Gröber
1c5a1c8b3e Add util function for finding libexec binaries 2015-02-08 12:43:35 +01:00
Daniel Gröber
405b814726 Add cabal-helper for decoding Cabal-1.22 setup-configs
.. without having to worry about Cabal version conflicts
2015-02-08 12:43:35 +01:00
Daniel Gröber
471a3ec358 Fix ghc-7.4 2015-02-08 12:43:35 +01:00
Daniel Gröber
36ed081d54 Bring test suite up to date 2015-02-08 12:43:35 +01:00