import Distribution.Simple
import Distribution.Simple.LocalBuildInfo
import Distribution.Simple.PackageIndex
import Distribution.Simple.Setup
import Distribution.Simple.UserHooks
import Distribution.PackageDescription
import Data.LLVM.Internal.Paths
main = defaultMainWithHooks autoconfUserHooks { preBuild = extBuild }
extBuild args flags = do
-- Use the Paths module exposed by one of the dependencies to find
-- the directory containing the enumeration header. Add that
-- directory to the search path for this package.
enumHeaderDir <- getDataFileName "src/c++"
(Just bi, rest) <- (preBuild autoconfUserHooks) args flags
let incdirs = includeDirs bi
return (Just bi { includeDirs = enumHeaderDir : incdirs }, rest)