ConfigFlags { configConfigurationsFlags } field should contain flags which are defined in .cabal file, but aren't specified in command line with -flags=... #768

Open
bos opened this Issue May 24, 2012 · 3 comments

Projects

None yet

3 participants

@bos
Contributor
bos commented May 24, 2012

(Imported from Trac #778, reported by @nartamonov on 2010-12-17)

I have custom Flag declaration in .cabal file:

Flag debug

Description: Build with debug support Default: True

and some conditionals (if flag(debug) ...) which depend on this flag. In custom Setup.hs I use data structure Distribution.Simple.Setup.ConfigFlags? and its field configConfigurationsFlags to get value of 'debug' flag. But it seems that field contains flag entry only when I explicitly mention flag during configuration phase in command line with '-fdebug' or '--flags=debug'.

I think it is wrong because even if I don't mention flag in command line he will be initialized to True and conditionals (in *.cabal) which depend on it will be evaluated according to this default value. It would be awesome if I could access flag with its implicitly assigned value via ConfigFlags? { configConfigurationsFlags }.

My custom Setup.hs machinery heavily depends on values of such flags, and it is inconvenient to explicitly define all of them via command line during configuration phase.

Thanks.

@bos
Contributor
bos commented May 24, 2012

(Imported comment by @nartamonov on 2010-12-17)

Small snippet from Setup.hs which shows how I use ConfigFlags? { configConfigurationsFlags }:

customBuild :: PackageDescription -> LocalBuildInfo -> UserHooks -> BuildFlags -> IO ()
customBuild descr buildInfo hooks flags = {- ... skipped ... -}
  where debugFlag = lookup (FlagName "debug") $ configConfigurationsFlags $ configFlags buildInfo
main = defaultMainWithHooks simpleUserHooks {
  hookedPrograms = [qmake, make],
  buildHook = customBuild }
@bos
Contributor
bos commented May 24, 2012

(Imported comment by lemming on 2010-12-17)

Would a solution as proposed in #836 help you?

@ttuegel ttuegel added this to the _|_ milestone Apr 23, 2015
@BardurArantsson
Collaborator

No response for NEEDINFO since 2010. Move to close.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment