summaryrefslogtreecommitdiff
path: root/Setup.lhs
diff options
context:
space:
mode:
Diffstat (limited to 'Setup.lhs')
-rw-r--r--Setup.lhs39
1 files changed, 8 insertions, 31 deletions
diff --git a/Setup.lhs b/Setup.lhs
index 17efee4..ba435f0 100644
--- a/Setup.lhs
+++ b/Setup.lhs
@@ -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