haskell / haskell/cabal

Deprecate <target>-specific flags in favour of flags that will be applied to each component built.

Open
#9,747 1 comment 4 reactions 0 assignees View on GitHub
type: enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.