Deprecate <target>-specific flags in favour of flags that will be applied to each component built.
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
Posting from a thread in the Cabal matrix channel:
To be very honest (perhaps controversially), I feel like we should deprecate all of these flags specific to a kind of component (`--enable-executable-profiling` + `--enable-library-profiling` + `--enable-executable-dynamic` + `--enable-executable-static` + `--enable-executable-stripping` + `--enable-library-stripping`, etc...) in favor of flags which are applied to the component being built.
That is, `cabal install --enable-stripping` will strip an executable, `cabal build --enable-stripping` will strip the library...
`--enable-profiling` enables profiling for either the lib or executable target. If the target is `all` then every component gets profiling.
I think it would be just so much simpler both implementation and usability wise.
I often see users simply apply all variations of the flag to get the behaviour they want because it is otherwise not understood how to profile what they want exactly
Contributor guide
Assessment
This issue has not been assessed yet.