packages feed

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)