on master help sign in
Add -f execonly to omit library/rts builds
b493858Edwin Brady
Setup.hs+9−2
@@ -57,6 +57,13 @@ usesGMP flags =
57 Just False -> False
57 Just False -> False
58 Nothing -> True
58 Nothing -> True
59
59
60+execOnly :: S.ConfigFlags -> Bool
61+execOnly flags =
62+ case lookup (FlagName "execonly") (S.configConfigurationsFlags flags) of
63+ Just True -> True
64+ Just False -> False
65+ Nothing -> True
66+
60isRelease :: S.ConfigFlags -> Bool
67isRelease :: S.ConfigFlags -> Bool
61isRelease flags =
68isRelease flags =
62 case lookup (FlagName "release") (S.configConfigurationsFlags flags) of
69 case lookup (FlagName "release") (S.configConfigurationsFlags flags) of
@@ -176,7 +183,7 @@ getVersion args flags = do
176 let buildinfo = (emptyBuildInfo { cppOptions = ["-DVERSION="++hash] }) :: BuildInfo
183 let buildinfo = (emptyBuildInfo { cppOptions = ["-DVERSION="++hash] }) :: BuildInfo
177 return (Just buildinfo, [])
184 return (Just buildinfo, [])
178
185
179−idrisBuild _ flags _ local = do
186+idrisBuild _ flags _ local = unless (execOnly (configFlags local)) $ do
180 buildStdLib
187 buildStdLib
181 buildRTS
188 buildRTS
182 where
189 where
@@ -199,7 +206,7 @@ idrisBuild _ flags _ local = do
199-- -----------------------------------------------------------------------------
206-- -----------------------------------------------------------------------------
200-- Copy/Install
207-- Copy/Install
201
208
202−idrisInstall verbosity copy pkg local = do
209+idrisInstall verbosity copy pkg local = unless (execOnly (configFlags local)) $ do
203 installStdLib
210 installStdLib
204 installRTS
211 installRTS
205 where
212 where
idris.cabal+5
@@ -658,6 +658,11 @@ Flag CI
658 Default: False
658 Default: False
659 manual: True
659 manual: True
660
660
661+Flag execonly
662+ Description: Build executables only, skip the libraries and RTS
663+ Default: False
664+ manual: True
665+
661Library
666Library
662 hs-source-dirs: src
667 hs-source-dirs: src
663 Exposed-modules:
668 Exposed-modules: