haskell / haskell/cabal

Informing the end-users about best practices for packaging Haskell code with(out) non-portable C flags.

Open
#10,141 2 comments 1 reaction 0 assignees View on GitHub
documentation re: user experience type: user-question
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

Some package authors will want to enable C flags for their FFI C code in order to get good performance (or avoid terrible performance) by default for their users. However some of these flags are not portable across compilers and versions.

`-march=native` for instance, gives a solid performance boost, but is unsuitable for distributing binaries. We should probably encourage the pattern of having a `cabal.project` for local development and a `cabal.release.project` file that enables it.

This information would be located in the user guide's *How to package Haskell code* section.

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.