diff options
Diffstat (limited to 'Setup.hs')
-rw-r--r-- | Setup.hs | 55 |
1 files changed, 4 insertions, 51 deletions
@@ -1,10 +1,5 @@ -{-# LANGUAGE CPP #-} -#if !defined(MIN_VERSION_Cabal) -# define MIN_VERSION_Cabal(a,b,c) 0 -#endif - {- -Copyright (C) 2006-2015 John MacFarlane <jgm@berkeley.edu> +Copyright (C) 2006-2018 John MacFarlane <jgm@berkeley.edu> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,58 +17,16 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -} import Distribution.Simple -import Distribution.Simple.PreProcess -import Distribution.Simple.Setup (ConfigFlags(..), CopyFlags(..), fromFlag) +import Distribution.Simple.Setup (CopyFlags(..), fromFlag) import Distribution.PackageDescription (PackageDescription(..)) -import Distribution.Simple.Utils ( rawSystemExitCode, findProgramVersion ) -import System.Exit -import Distribution.Simple.Utils (info, notice, installOrdinaryFiles) -import Distribution.Simple.Program (simpleProgram, Program(..)) +import Distribution.Simple.Utils (notice, installOrdinaryFiles) import Distribution.Simple.LocalBuildInfo -import Control.Monad (when) - -#if MIN_VERSION_Cabal(2,0,0) -import Distribution.PackageDescription (mkFlagName) -#else -import Distribution.PackageDescription (FlagName(..)) -#endif main :: IO () main = defaultMainWithHooks $ simpleUserHooks { - -- enable hsb2hs preprocessor for .hsb files - hookedPreProcessors = [ppBlobSuffixHandler] - , hookedPrograms = [(simpleProgram "hsb2hs"){ - programFindVersion = \verbosity fp -> - findProgramVersion "--version" id verbosity fp }] - , postCopy = installManPage + postCopy = installManPage } -ppBlobSuffixHandler :: PPSuffixHandler -#if MIN_VERSION_Cabal(2,0,0) -ppBlobSuffixHandler = ("hsb", \_ lbi _ -> -#else -ppBlobSuffixHandler = ("hsb", \_ lbi -> -#endif - PreProcessor { - platformIndependent = True, - runPreProcessor = mkSimplePreProcessor $ \infile outfile verbosity -> -#if MIN_VERSION_Cabal(2,0,0) - do let embedData = case lookup (mkFlagName "embed_data_files") -#else - do let embedData = case lookup (FlagName "embed_data_files") -#endif - (configConfigurationsFlags (configFlags lbi)) of - Just True -> True - _ -> False - when embedData $ - do info verbosity $ "Preprocessing " ++ infile ++ " to " ++ outfile - ec <- rawSystemExitCode verbosity "hsb2hs" - [infile, infile, outfile] - case ec of - ExitSuccess -> return () - ExitFailure _ -> error "hsb2hs is needed to build this program" - }) - installManPage :: Args -> CopyFlags -> PackageDescription -> LocalBuildInfo -> IO () installManPage _ flags pkg lbi = do |