1 {-# LANGUAGE DeriveTraversable #-}
2 {-# LANGUAGE DuplicateRecordFields #-}
3 {-# LANGUAGE OverloadedStrings #-}
4 {-# LANGUAGE StaticPointers #-}
6 module SetupHooks
where
8 import Distribution
.Simple
.LocalBuildInfo
(interpretSymbolicPathLBI
)
9 import Distribution
.Simple
.SetupHooks
10 import Distribution
.Utils
.Path
(makeRelativePathEx
)
12 import qualified Data
.List
.NonEmpty
as NE
( NonEmpty
(..) )
14 setupHooks
:: SetupHooks
19 { preBuildComponentRules
= Just
$ rules
(static
()) unusedPreBuildRules
23 unusedPreBuildRules
:: PreBuildComponentInputs
-> RulesM
()
24 unusedPreBuildRules
(PreBuildComponentInputs
{ localBuildInfo
= lbi
, targetInfo
= tgt
}) = do
25 let clbi
= targetCLBI tgt
26 autogenDir
= autogenComponentModulesDir lbi clbi
27 action
= mkCommand
(static Dict
) (static
(\ _
-> error "This should not run")) ()
30 ( Location autogenDir
(makeRelativePathEx
"X.hs") NE
.:|
[ Location autogenDir
(makeRelativePathEx
"Y.hs") ] )
33 ( Location autogenDir
(makeRelativePathEx
"Z.hs") NE
.:|
[] )