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