Split useDependenciesExclusive behaviour into two independent options
The useDependenciesExclusive in the SetupWrapper controls two bits of behaviour: if the deps given for building the Setup.hs are the only ones allowed, and if we should make version cpp macros available when building the Setup.hs. Currently we either want both behaviours or neither behaviour. We want them in the case that a package declares a custom setup with explicit dependencies. It makes sense however to have one behaviour without the other. In particular it makes sense if we want to implement a policy where we supply default dependencies for older packages that have custom setup scripts but don't specify any deps. In this case we want to make the default deps exclusive, but we don't want to use the version macros, because those ought to be reserved for packages that are doing the right thing and opting-in to the new world of explicitly specified setup deps. So this patch splits the behaviour into two controls, but still uses both together so there's no change in behaviour yet.
Showing with 25 additions and 11 deletions