#! /usr/bin/env runhaskell
> import Distribution.Simple
> import Distribution.Simple.Setup
> import Distribution.PackageDescription
> import Distribution.Simple.LocalBuildInfo
>
> import Config
>
> myconfigHook = simpleUserHooks { confHook = hookfunction }
>
> hookfunction x y = do
> binfo <- confHook simpleUserHooks x y
> r_pbi <- config binfo
> let pkg_descr = localPkgDescr binfo
>
> let newbinfo = case r_pbi of
> Just pbi -> binfo { localPkgDescr = updatePackageDescription pbi pkg_descr }
> Nothing -> do
> let r_lib = library pkg_descr
> case r_lib of
> Just lib ->
> let binfo2 = libBuildInfo lib
> newlib = lib { libBuildInfo = binfo2 { cSources = [] }}
> in binfo { localPkgDescr = pkg_descr { library = Just newlib }}
> Nothing -> error "some library setting is wrong."
> -- putStrLn (show (localPkgDescr newbinfo))
> return newbinfo
>
>
> main = defaultMainWithHooks myconfigHook
>