Literate setup script, and use -fasm. it's faster
This commit is contained in:
parent
4dfc49d672
commit
c39ad8a207
16
Setup.hs
16
Setup.hs
@ -1,16 +0,0 @@
|
|||||||
import Distribution.Simple
|
|
||||||
import Distribution.Setup ( ConfigFlags (..) )
|
|
||||||
import System.Directory ( findExecutable )
|
|
||||||
|
|
||||||
main = defaultMainWithHooks (defaultUserHooks { postConf = defaultPostConf })
|
|
||||||
where defaultPostConf args flags lbi xxx
|
|
||||||
= do args' <- fmap (args++) (configToArgs flags)
|
|
||||||
(postConf defaultUserHooks) args' flags lbi xxx
|
|
||||||
|
|
||||||
configToArgs :: ConfigFlags -> IO [String]
|
|
||||||
configToArgs (ConfigFlags { configHcPath = Just hcPath })
|
|
||||||
= do exec <- findExecutable hcPath
|
|
||||||
case exec of
|
|
||||||
Just realPath -> return ["--with-ghc="++realPath]
|
|
||||||
Nothing -> return ["--with-ghc="++hcPath]
|
|
||||||
configToArgs _ = return []
|
|
19
Setup.lhs
Normal file
19
Setup.lhs
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/env runhaskell
|
||||||
|
> module Main where
|
||||||
|
> import Distribution.Simple
|
||||||
|
> import Distribution.Setup ( ConfigFlags (..) )
|
||||||
|
> import System.Directory ( findExecutable )
|
||||||
|
>
|
||||||
|
> main :: IO ()
|
||||||
|
> main = defaultMainWithHooks (defaultUserHooks { postConf = defaultPostConf })
|
||||||
|
> where defaultPostConf args flags lbi {- xx -}
|
||||||
|
> = do args' <- fmap (args++) (configToArgs flags)
|
||||||
|
> (postConf defaultUserHooks) args' flags lbi {- xx -}
|
||||||
|
>
|
||||||
|
> configToArgs :: ConfigFlags -> IO [String]
|
||||||
|
> configToArgs (ConfigFlags { configHcPath = Just hcPath })
|
||||||
|
> = do exec <- findExecutable hcPath
|
||||||
|
> case exec of
|
||||||
|
> Just realPath -> return ["--with-ghc="++realPath]
|
||||||
|
> Nothing -> return ["--with-ghc="++hcPath]
|
||||||
|
> configToArgs _ = return []
|
@ -34,5 +34,5 @@ c-sources:
|
|||||||
includes: Linker.h
|
includes: Linker.h
|
||||||
extensions: CPP, ForeignFunctionInterface
|
extensions: CPP, ForeignFunctionInterface
|
||||||
Build-Depends: base, Cabal, haskell-src
|
Build-Depends: base, Cabal, haskell-src
|
||||||
ghc-options: -Wall -O -fvia-C -funbox-strict-fields -fno-warn-missing-signatures
|
ghc-options: -Wall -O -fasm -funbox-strict-fields -fno-warn-missing-signatures
|
||||||
hs-source-dir: src
|
hs-source-dir: src
|
||||||
|
Loading…
x
Reference in New Issue
Block a user