hlbfgsb-0.0.1.0: Config/Simple.hs
module Config.Simple where
import Config.Build as Build
import Distribution.Simple
import Distribution.Simple.Setup(BuildFlags(..))
import Distribution.Simple.PreProcess
import Distribution.PackageDescription
import Distribution.Simple.LocalBuildInfo ( LocalBuildInfo(..) )
import Data.List
-- | Combine the preprocessors in the given hooks with the
-- preprocessors built into cabal.
allSuffixHandlers :: UserHooks
-> [PPSuffixHandler]
allSuffixHandlers hooks
= overridesPP (hookedPreProcessors hooks) knownSuffixHandlers
where
overridesPP :: [PPSuffixHandler] -> [PPSuffixHandler] -> [PPSuffixHandler]
overridesPP = unionBy (\x y -> fst x == fst y)
defaultBuildHook :: PackageDescription -> LocalBuildInfo
-> UserHooks -> BuildFlags -> IO ()
defaultBuildHook pkg_descr localbuildinfo hooks flags =
Build.build pkg_descr localbuildinfo flags (allSuffixHandlers hooks)