Commit Graph

784 Commits

Author SHA1 Message Date
Daniel Gröber 2c0d5af5e9 Fix warnings 2015-09-16 05:13:20 +02:00
Daniel Gröber 5af2c939b3 Cleanup some dead code 2015-09-15 05:25:54 +02:00
Daniel Gröber 0b2a3458fd Move `stack` code into seperate module 2015-09-15 05:25:54 +02:00
Daniel Gröber 5b02cc1bb0 Make sure stdoutGateway is flushed before exiting. 2015-09-14 10:12:01 +02:00
Daniel Gröber 56902bfe2d Don't mess with cwd, causes too many race conditions
I would just fork() but we have to support WinDOS, gah.
2015-09-14 10:12:01 +02:00
Daniel Gröber 55f278853a Fix tests more 2015-09-14 07:11:45 +02:00
Daniel Gröber ba14e1790c Fix tests 2015-09-14 05:59:38 +02:00
Daniel Gröber 4536ac545d Make sure stdoutGateway is running during findCradle' 2015-09-14 05:40:32 +02:00
Daniel Gröber 64379a7c56 Actually update `world` in legacyInteractiveLoop 2015-09-11 09:53:24 +02:00
Daniel Gröber ce1d9d1da1 Fix ghc<7.10 2015-09-11 05:45:59 +02:00
Daniel Gröber acf78f2500 Remove stray debug code 2015-09-11 03:57:54 +02:00
Daniel Gröber 211b957451 Fix race condition in stack support code 2015-09-11 03:52:28 +02:00
Daniel Gröber 12d65ba11f Fix some warnings 2015-09-11 03:52:28 +02:00
Daniel Gröber e92bd0af48 Disable obj loading for targets (Fix #554) 2015-09-10 07:48:13 +02:00
Daniel Gröber 6ad71af001 Don't swallow ghc's verbose output 2015-09-08 06:44:02 +02:00
Daniel Gröber dbf215a35b Fix tests, this time, this time for sure. 2015-09-08 06:42:32 +02:00
Daniel Gröber 34fedd8ad3 Missing source file 2015-09-08 06:19:58 +02:00
Daniel Gröber d400c8f389 Fix missing makeAbsolute 2015-09-08 05:20:26 +02:00
Daniel Gröber f06511bff1 Support multi-package stack projects 2015-09-08 03:54:29 +02:00
Daniel Gröber 5713fd9908 Fix custom package-db stack for non Cabal projects 2015-09-07 07:20:16 +02:00
Daniel Gröber be293db503 Update for cabal-helper >= 0.6 2015-09-07 05:15:35 +02:00
Daniel Gröber 8fea4ac426 Fix `doc` command not using right ghc-pkg exe 2015-09-02 07:19:11 +02:00
Daniel Gröber 86c157d1d2 Add some more debug output 2015-09-02 05:30:00 +02:00
Daniel Gröber 996016ac7b Fix wrong stack version lower bound in log message 2015-09-02 05:02:13 +02:00
Daniel Gröber a8c111cda3 Write cabal_macros.h on reconfigure when using stack 2015-09-02 04:57:25 +02:00
Daniel Gröber 82c5069cd8 Fix doctest 2015-09-02 04:00:30 +02:00
Daniel Gröber a0a7433212 Fix <7.10 2015-09-01 10:45:15 +02:00
Daniel Gröber 41de8b8b2e Sandwich new Monad layer GmOutT into transformer stack
This way we can have access to some options pre Cradle setup which
should fix the output interleaving problems I was observing.
2015-09-01 10:32:27 +02:00
Daniel Gröber 2af1da960b Also catch exceptions thrown in IO 2015-09-01 10:29:21 +02:00
Daniel Gröber 899d583549 `error` -> throw $ GMEProcess 2015-09-01 10:27:41 +02:00
Daniel Gröber 4aa75818d8 Fix tests 2015-08-31 08:32:31 +02:00
Daniel Gröber 0b65487e50 Stderr output pre-GhcModT for stack cradle 2015-08-31 07:49:06 +02:00
Daniel Gröber 2a0414f368 Pass stack ghc paths down to cabal-helper 2015-08-31 04:17:33 +02:00
Daniel Gröber 85722ab6f2 Cleanup 2015-08-24 15:11:05 +02:00
Daniel Gröber c5db06af0f Fix missing liftIO 2015-08-21 04:21:27 +02:00
Daniel Gröber 473f1e09c7 Rename withContext -> withInteractiveContext 2015-08-21 04:12:53 +02:00
Daniel Gröber eceb34c8af Merge branch 'master' of github.com:kazu-yamamoto/ghc-mod 2015-08-21 04:12:29 +02:00
Daniel Gröber 19e62b0a6a Inhibit stack support when dist/setup-config exists 2015-08-20 08:43:36 +02:00
Kazu Yamamoto 797aef2a09 Merge remote-tracking branch 'origin/fix-loop' 2015-08-20 09:49:06 +09:00
Daniel Gröber b25dbc2416 Merge branch 'stack-support' 2015-08-20 02:14:55 +02:00
Daniel Gröber 91f0c50b20 Merge branch 'file-redirection-2' of https://github.com/atom-haskell/ghc-mod 2015-08-20 02:10:05 +02:00
Daniel Gröber 23a48aa6c7 Use cabal-helper for stack 2015-08-19 09:18:10 +02:00
Daniel Gröber 18a8c67d39 Take sandbox cfg into account for caches 2015-08-19 09:18:10 +02:00
Daniel Gröber 78bdf86a95 Fix all the stack related things 2015-08-19 09:17:41 +02:00
scturtle d660e7cd85 add 'StackProject' around 2015-08-19 09:17:30 +02:00
scturtle a285b42206 Refactor the hard-coding "dist" 2015-08-19 09:17:30 +02:00
scturtle 89c3faea05 Initilize test for stack project 2015-08-19 09:17:11 +02:00
scturtle 320b404a8c Yet another try to support Stack. 2015-08-19 09:17:11 +02:00
Daniel Gröber e360f7eb44 Fix older GHCs 2015-08-19 09:05:57 +02:00
Kazu Yamamoto b7cea06a52 Flushing stdout to solve infinite loop (#542). 2015-08-19 15:02:00 +09:00
Alan Zimmerman e198f68f2a Rearrange loadTargets code.
The loadTargets function is exposed via the Internal module for use by
external programmes, such as HaRe.

Re-arrange to code so that it can still be called with a list of string
targets, as it was before.
2015-08-19 03:34:01 +02:00
Daniel Gröber bb3a948912 Fix over-qualified error messages (Fix #551) 2015-08-18 09:26:53 +02:00
Daniel Gröber 90b1e452e2 Some pretty printing "improvements" (hopefully) 2015-08-18 04:54:10 +02:00
Daniel Gröber f7149ba23f Cleanup 2015-08-18 04:50:51 +02:00
Daniel Gröber dd82cea996 Demote no-component-assignment warning to debug, Fix #552 2015-08-18 04:34:39 +02:00
Daniel Gröber a383f46939 Fix nasty module graph caching issue
resolvedComponentsCache did not consider outgoing edges in the module
graph when computing the set of dependent files

i.e. for `A -> B, A -> C` `flatten` would give [B,C] instead of [A,B,C]
2015-08-18 04:27:02 +02:00
Anthony Cowley 78c5cea161 DeferErrors implies DeferTypedHoles in GHC >= 7.10
The Opt_DeferErrors flag should imply Opt_DeferTypedHoles. The proper
API for setting these flags that implements such implications is
unfortunately not exposed by GHC.
2015-08-17 15:14:44 -04:00
Alejandro Serrano 45f8194c0c Set -fdefer-types-holes in case split 2015-08-17 14:54:10 -04:00
Nikolay Yakimov 3dea19b270 Fix getCanonicalFileNameSafe to work on all relevant ghc versions 2015-08-17 10:39:49 +03:00
Nikolay Yakimov 0d78ee4096 getCanonicalFileNameSafe is now best-effort canonicalizatoin
Canonicalizes longest init of path possible, and appends rest verbatim
2015-08-17 08:43:34 +03:00
Daniel Gröber 1f14ff08c6 Log exceptions as GmException 2015-08-17 06:52:56 +02:00
Nikolay Yakimov ab19da08db Removed redundant imports 2015-08-16 23:42:20 +03:00
Nikolay Yakimov 8ef8a86397 Unload mapped files before loading 2015-08-16 23:38:32 +03:00
Nikolay Yakimov a5dae2a82d Drop memory-mapped files, since ghc doesn't play well with those
All files are now "redirected", either user-created, or created by ghc-mod itself.
2015-08-16 23:20:00 +03:00
Nikolay Yakimov 654b172f5e Add FileMapping support to HMG/preprocessFile
Post-rebase update
2015-08-16 18:22:27 +03:00
Nikolay Yakimov d276b9bb7f Remove redundant imports 2015-08-15 21:26:33 +03:00
Nikolay Yakimov c96abfc422 Drop loadMappedFiles and move all loading code to progMain 2015-08-15 21:18:57 +03:00
Nikolay Yakimov a9b98e7128 [File-map] Export more user-friendly functions in public API 2015-08-15 21:08:24 +03:00
Nikolay Yakimov 72c43a9210 Rename GmPprEnv fields rs* → gpe* 2015-08-15 21:07:36 +03:00
Nikolay Yakimov e7329a9d24 Replace redirected filenames in info. 2015-08-15 21:07:36 +03:00
Nikolay Yakimov 8f931eb928 Fix problem with fileModSummary 2015-08-15 21:07:35 +03:00
Nikolay Yakimov c5f71933f6 Canonicalize FilePath before lookup in withMappedFile 2015-08-15 21:06:57 +03:00
Nikolay Yakimov 438b15463e Move getCanonicalFileName(Safe) to Utils module 2015-08-15 21:06:57 +03:00
Nikolay Yakimov 267edfebe3 Try best-guess tactic if file to be redirected doesn't exist 2015-08-15 21:06:57 +03:00
Nikolay Yakimov a0cf585939 Bugfix: canonicalize filename before trying to unload 2015-08-15 21:06:57 +03:00
Nikolay Yakimov 31020c4112 Move withMappedFile to Language.Haskell.GhcMod.Utils 2015-08-15 21:06:57 +03:00
Nikolay Yakimov d405ce7efa Make linting work with mapped files 2015-08-15 21:06:57 +03:00
Nikolay Yakimov 5b0cca0353 Added withMappedFile utility function
Works pretty much as `withTempFile`, except looks
mapping up and uses temp. file only when necessary.
2015-08-15 21:06:57 +03:00
Nikolay Yakimov d3b1bf125b Move reading source from stdin to frontend 2015-08-15 21:06:25 +03:00
Nikolay Yakimov 67102c92b8 Use cradleTempDir instead of getTemporaryDirectory in HMG 2015-08-15 21:02:42 +03:00
Nikolay Yakimov de5ff87f19 Don't use infix call for type ctor 2015-08-15 20:58:45 +03:00
Nikolay Yakimov 1efacbef88 Use less generic name for reader monad/state in Logger 2015-08-15 20:58:45 +03:00
Nikolay Yakimov 2504f643e9 Replace mapped names with original ones in output 2015-08-15 20:58:45 +03:00
Nikolay Yakimov f8a0325617 Load all mapped targets 2015-08-15 20:41:10 +03:00
Nikolay Yakimov e70988e15f Use `MaybeT` instead of `maybe (return Nothing)` 2015-08-15 20:41:10 +03:00
Nikolay Yakimov e72d72eb86 Workaround for GHC 7.4 bugs 2015-08-15 20:41:10 +03:00
Nikolay Yakimov 3790fca20b Initial support for file redirection
Rewrite, taking discussion into consideration
2015-08-15 20:41:10 +03:00
Daniel Gröber 585a9ef425 Fix `doc` in non-cabal projects
..man those non-cabal projects are really getting me down. Who uses
those anwayways ;)
2015-08-14 10:30:42 +02:00
Daniel Gröber 623cddd8ca Fix `find` being slow on legacy-interactive 2015-08-14 06:48:56 +02:00
Daniel Gröber 887ab3c599 Don't try to create dist/ in non cabal projects, duh 2015-08-14 06:32:20 +02:00
Daniel Gröber 55bf578b87 Put line-prefix'es on exceptions too 2015-08-14 05:57:33 +02:00
Daniel Gröber f998c63c73 Fix prepareCabalHelper when dist/ doesn't exist yet 2015-08-14 04:28:22 +02:00
Daniel Gröber 0b5de23ac9 Wrap dumpsym in stderr mangling readProc as well just in case 2015-08-14 03:51:50 +02:00
Daniel Gröber cbfa26eb16 Make sure cabal-helper is ready before invoking dumpsym 2015-08-14 03:48:29 +02:00
Daniel Gröber 312a8c81fb Merge branch 'HaRe' of https://github.com/alanz/ghc-mod 2015-08-13 10:17:14 +02:00
Alan Zimmerman eafde94913 Expose functions for integration with HaRe 2015-08-13 09:49:51 +02:00
Daniel Gröber 09c3c5603c Fix missing newlines 2015-08-13 09:01:58 +02:00
Daniel Gröber 2806f702d9 Start implementing line-prefix stuff
readProcess wrapper still missing from CabalHelper
2015-08-13 06:47:12 +02:00
Daniel Gröber 443650705c Fix #532, Use first component in cabal file for dangling modules in cabal projects 2015-08-12 10:44:41 +02:00
Daniel Gröber 28f06e035d Cleanup project type handling 2015-08-12 09:25:13 +02:00
Daniel Gröber a94d8977a9 Fix ghc-modi not working in non-cabal projects 2015-08-12 09:04:35 +02:00
Daniel Gröber 9b286cc4e1 Fix cabal-helper >= 0.5 2015-08-12 09:04:09 +02:00
Daniel Gröber 11243e5304 Add in-memory caching otherwise everything is slow 2015-08-11 07:38:25 +02:00
Daniel Gröber 05360e0660 Fix typo 2015-08-11 06:35:07 +02:00
Daniel Gröber bad431a758 Bump cabal-helper depdendency 2015-08-10 09:07:41 +02:00
Daniel Gröber bb22b643e9 Add version header to caches 2015-08-10 06:44:34 +02:00
Daniel Gröber 0abe1d6a53 Fix warning 2015-08-07 07:33:04 +02:00
Daniel Gröber 5fdaa6adea Merge branch 'master' of https://github.com/meditans/ghc-mod 2015-08-07 07:32:26 +02:00
Daniel Gröber 8439f12cb0 Let Cabal determine the package-db stack 2015-08-07 07:31:08 +02:00
meditans 31d85a27b4 Added logging in `refine` and `auto` handlers 2015-08-06 11:49:01 +02:00
Daniel Gröber f61dd0a9e6 Fix re-init of ghc-modi session after environment change
Using `dropSession` instead of a weird exception cludge
2015-08-05 08:52:52 +02:00
Daniel Gröber 6e28e07ca9 Fix #507 2015-08-05 08:01:25 +02:00
Daniel Gröber d270e92951 Clean up L.H.GM.Target debug/vomit output a bit 2015-08-05 06:16:05 +02:00
Daniel Gröber c9b6e95a30 Add Vomit log level and dumping to disk 2015-08-03 08:09:24 +02:00
Daniel Gröber 614522644b Fix imports for ghc < 7.10 2015-08-03 07:51:23 +02:00
Daniel Gröber 6ef389a757 Merge branch 'Fix502' of https://github.com/acowley/ghc-mod 2015-08-03 05:48:15 +02:00
Daniel Gröber 84c0670fc4 docs 2015-08-03 05:47:16 +02:00
Daniel Gröber 75d4a2a9d6 Some debug logging for `cabal configure` etc. 2015-08-03 05:47:16 +02:00
Daniel Gröber f023d939e2 Fix GHC 7.10 warnings 2015-08-03 05:46:51 +02:00
Daniel Gröber 160cec86bb Comment 2015-08-03 05:46:51 +02:00
Daniel Gröber 42e72b3816 Fix fileModuleName not working on CPP modules given by path 2015-08-03 05:46:51 +02:00
Anthony Cowley e06e4d25df More sensitive to cache invalidation.
This addresses a problem where changes to a .cabal file were not
invalidating the cache files.
2015-07-08 18:15:05 -04:00
Daniel Gröber bfa0b965ee Fix impredicativity related issue
See: https://ghc.haskell.org/trac/ghc/ticket/10443
2015-06-10 11:00:56 +02:00
Daniel Gröber 21087650d9 Fix travis 2015-06-07 03:36:50 +02:00
Daniel Gröber acfc575e13 Make unknown component fallback message more clear 2015-06-07 02:45:50 +02:00
Daniel Gröber bed42f10fe Refactor L.H.G.Caching 2015-06-07 02:44:11 +02:00
Daniel Gröber baf557d5bf Comment 2015-06-07 01:53:41 +02:00
Daniel Gröber 49515b3eb8 Fix #487, Modules from sandbox not visible 2015-06-05 22:45:52 +02:00
Daniel Gröber 6dd1195b7f Merge remote-tracking branch 'sergv/master' 2015-06-02 12:30:15 +02:00
Daniel Gröber 14c097530e Fix stray tempdir 2015-06-02 12:27:11 +02:00
Sergey Vinokurov 7b6eb55b11 Transform ModuleString and Expression type synonyms into newtypes 2015-06-02 10:43:29 +03:00
Sergey Vinokurov 6a65701397 Remove unused Module type 2015-06-02 10:43:29 +03:00
Sergey Vinokurov 4a9d578681 Improve style 2015-06-02 10:43:29 +03:00
Sergey Vinokurov a23f1f3b75 Improve findVar function 2015-06-02 10:43:29 +03:00
Sergey Vinokurov 73b98573f4 Remove unused extractParens function and its tests 2015-06-02 10:43:29 +03:00
Sergey Vinokurov 57e2c112dc Use package dbs defined by current cradle when dealing with SymbolDBs 2015-06-02 10:43:27 +03:00
Daniel Gröber a2e4a5d683 Revert "use standard findFile instead of hand-rolled one"
This reverts commit b055098127.
2015-05-20 12:05:22 +02:00
Daniel Gröber a2abad53ac Merge remote-tracking branch 'prezi/master'
Conflicts:
	Language/Haskell/GhcMod/CabalHelper.hs
2015-05-20 11:37:17 +02:00
Sergey Vinokurov 84134e1fee replace redundant liftM7 function with applicatives 2015-05-19 21:00:54 +03:00
Daniel Vigovszky 5f41e8828a Revert "Not passing package db flags in default case"
This reverts commit 76e5af817a.
2015-05-19 19:50:36 +02:00
Daniel Vigovszky 76e5af817a Not passing package db flags in default case 2015-05-19 15:25:22 +02:00
Daniel Vigovszky 0bb1671238 Code cleanup 2015-05-19 14:08:18 +02:00
Sergey Vinokurov f7717ee1ee fix typo 2015-05-17 23:25:49 +03:00
Sergey Vinokurov b055098127 use standard findFile instead of hand-rolled one 2015-05-17 23:25:49 +03:00
Daniel Gröber e6fc3dd8d2 Fix tests 2015-05-08 00:06:08 +02:00
Daniel Gröber e202fabc39 elisp: Fix usage of legacy-interactive 2015-05-06 23:13:24 +02:00
Daniel Gröber 0f1e653f7f Change some logging stuff 2015-05-06 16:13:08 +02:00
Daniel Gröber d11b12676e Fix pretty printing of logging output 2015-05-05 16:09:54 +02:00
Daniel Gröber c45a7f4b52 Fix caching for getGhcPkgOptions 2015-05-05 14:47:23 +02:00
Daniel Gröber 8b8f947b5e Reinitialize GHC session when options change 2015-04-29 18:44:21 +02:00
Daniel Gröber 503562b9b6 Fix typo succ -> pred 2015-04-29 18:41:28 +02:00
Daniel Gröber cf5dfa439c Clarify HscInterpreted log message 2015-04-29 17:22:48 +02:00
Daniel Gröber c831332185 Set -O0 to avoid various interperter issues 2015-04-29 17:21:37 +02:00
Daniel Vigovszky 3b7d51d25a Removed unused function 2015-04-24 10:41:39 +02:00
Daniel Vigovszky 308c2d7963 Undo indenation change in Types.hs 2015-04-23 17:31:54 +02:00
Daniel Vigovszky 5d9d6f5630 Custom cradle support 2015-04-23 17:25:45 +02:00
Daniel Gröber 247e4e0e76 Decrease default log level 2015-04-15 13:13:22 +02:00
Daniel Gröber fb19d021ca Fix a few warnings 2015-04-14 21:39:11 +02:00
Daniel Gröber 95b16ded6d Fix `checkComponent` 2015-04-14 00:53:40 +02:00
Daniel Gröber 9077e96aeb Fix tests 2015-04-13 23:16:14 +02:00
Daniel Gröber 94ef8fae79 Enhance debug information 2015-04-12 02:48:54 +02:00
Daniel Gröber ee4ee8765e Fix weird `resolveModule` double path issue
`mconcat` recurses into `Maybe a` which is not what I want, I just want
the first `Just` value
2015-04-12 02:48:54 +02:00
Daniel Gröber d7984faf79 No double `:` in logmsgs without a location 2015-04-12 02:48:54 +02:00
Daniel Gröber 2bf4c80580 Fix finding consistent component solution for targets
Union does the wrong thing, I wanted an intersection here.
2015-04-12 02:48:54 +02:00
Daniel Gröber 39a8ded102 Fix resolved component caching 2015-04-12 02:48:54 +02:00
Daniel Gröber ca79f99c3e Also add language options when resolving components 2015-04-12 02:48:54 +02:00
Daniel Gröber 6f59f07f00 Fix non canonicalized paths 2015-04-12 02:48:54 +02:00
Daniel Gröber 523f43c3c9 Fix some tests 2015-04-12 02:48:54 +02:00
Daniel Gröber d0ca3ee807 Fix MonadIO mess 2015-04-12 02:48:54 +02:00
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
Markus Hauck e3812b49ec GHC 7.10.0.20150123 fixes 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 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 c8da5b8085 Fix line endings in logging output 2015-03-06 14:04:49 +01:00
Daniel Gröber 2151363dd6 Add back `-d` option to `modules` command 2015-03-05 19:38:18 +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 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 417cacbf81 Fix finding sandbox in sandbox only projects 2015-02-08 12:43:35 +01:00
Daniel Gröber 2b4fd77c28 Add GHC-7.10 support 2015-02-08 12:43:35 +01:00
Daniel Gröber 45d6b7d67a Guess right sandbox pkg-db path on ghc version mismatch
If cabal.sandbox.config contains a "package-db:" declaration with the
wrong path and only the ghc version is wrong, for example:

```
package-db: <DIR>/.cabal-sandbox/x86_64-linux-ghc-7.8.3-packages.conf.d
```

Even though the user is using 7.10.0.20141222 `cabal repl` will correct
this and pass

```
-package-db <DIR>/.cabal-sandbox/x86_64-linux-ghc-7.10.0.20141222-packages.conf.d
```

to ghci, so obviously Cabal/cabal-install is doing some magic.

Conflicts:
	Language/Haskell/GhcMod/PathsAndFiles.hs
2015-02-08 12:43:25 +01:00
Daniel Gröber ce61f38f4d Remove a bunch of dead code 2015-01-03 00:36:12 +01:00