#!/usr/bin/env runhaskell import Distribution.Simple import Distribution.Program import Distribution.PreProcess import Distribution.PackageDescription import Distribution.Simple.LocalBuildInfo import System.Exit main = defaultMainWithHooks userHooks where userHooks = defaultUserHooks{hookedPreProcessors = ("xhs",trhxs) : hookedPreProcessors defaultUserHooks} trhxs :: BuildInfo -> LocalBuildInfo -> FilePath -> FilePath -> Int -> IO ExitCode trhxs build local inFile outFile verbose = do trhxs_exe <- lookupProgram "trhxs" (withPrograms local) case trhxs_exe of Nothing -> error $ "trhxs not found, cannot process: " ++ inFile Just prog -> rawSystemProgram verbose prog [inFile, outFile]