diff options
author | Alberto Ruiz <aruiz@um.es> | 2011-03-13 13:12:18 +0000 |
---|---|---|
committer | Alberto Ruiz <aruiz@um.es> | 2011-03-13 13:12:18 +0000 |
commit | a325832d82be14b4ca7be2baa2a943f79629b194 (patch) | |
tree | 78fb3edc1d9fa427201ff775aa18ef6c0c79fb1e /Setup.lhs | |
parent | f73c151f536aa81875285ccb38adc309d01b5915 (diff) |
simplified Setup.hs
Diffstat (limited to 'Setup.lhs')
-rw-r--r-- | Setup.lhs | 39 |
1 files changed, 8 insertions, 31 deletions
@@ -1,43 +1,20 @@ | |||
1 | #! /usr/bin/env runhaskell | 1 | #! /usr/bin/env runhaskell |
2 | 2 | ||
3 | > import Distribution.Simple | 3 | > import Distribution.Simple |
4 | > import System.Process(system) | ||
5 | > | ||
6 | > import Config(config) | ||
7 | > | ||
8 | > import Distribution.Simple.Setup | 4 | > import Distribution.Simple.Setup |
9 | > import Distribution.PackageDescription | 5 | > import Distribution.PackageDescription |
10 | > import Distribution.Simple.LocalBuildInfo | 6 | > import Distribution.Simple.LocalBuildInfo |
11 | > import Distribution.Simple.Command | ||
12 | > import Distribution.PackageDescription.Parse | ||
13 | > import Distribution.Simple.Utils(info) | ||
14 | > import Distribution.Verbosity | ||
15 | |||
16 | > main = do | ||
17 | > defaultMainWithHooks autoconfUserHooks { | ||
18 | > runTests = t, | ||
19 | > postConf = modifiedPostConf } | ||
20 | > where modifiedPostConf :: Args -> ConfigFlags -> PackageDescription -> LocalBuildInfo -> IO () | ||
21 | > modifiedPostConf args flags pkg_descr lbi | ||
22 | > = do let verbosity = fromFlag (configVerbosity flags) | ||
23 | > noExtraFlags args | ||
24 | > | ||
25 | > config | ||
26 | > | ||
27 | > pbi <- getHookedBuildInfo verbosity | ||
28 | > let pkg_descr' = updatePackageDescription pbi pkg_descr | ||
29 | > postConf simpleUserHooks args flags pkg_descr' lbi | ||
30 | 7 | ||
8 | > import System.Process(system) | ||
9 | > import Config(config) | ||
31 | 10 | ||
32 | > getHookedBuildInfo :: Verbosity -> IO HookedBuildInfo | 11 | > main = defaultMainWithHooks simpleUserHooks { confHook = c, runTests = t } |
33 | > getHookedBuildInfo verbosity = do | ||
34 | > maybe_infoFile <- defaultHookedPackageDesc | ||
35 | > case maybe_infoFile of | ||
36 | > Nothing -> return emptyHookedBuildInfo | ||
37 | > Just infoFile -> do | ||
38 | > info verbosity $ "Reading parameters from " ++ infoFile | ||
39 | > readHookedBuildInfo verbosity infoFile | ||
40 | 12 | ||
13 | > c x y = do | ||
14 | > binfo <- confHook simpleUserHooks x y | ||
15 | > pbi <- config binfo | ||
16 | > let pkg_descr = localPkgDescr binfo | ||
17 | > return $ binfo { localPkgDescr = updatePackageDescription pbi pkg_descr } | ||
41 | 18 | ||
42 | > t _ _ _ _ = system ( "runhaskell examples/tests.hs") >> return() | 19 | > t _ _ _ _ = system ( "runhaskell examples/tests.hs") >> return() |
43 | 20 | ||