haskell / haskell/cabal

Allow user configurable command line options for build tools

Open
#1,223 7 comments 1 reaction 0 assignees View on GitHub
attention: pr-welcome Cabal: file format Cabal: other type: enhancement
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

There is currently no mechanism to control how tools like `happy` are invoked by cabal. Other tools that would be nice to control over include (but not limited to), `hsc2hs`, `c2hs`, and `alex`.

A simple option would be to add a field `happy-options:` to the cabal file format. An even better solution would be for the mechanism to allow the options to be per module. An even better solution would make the addition of tools with options into a generic configurable option so that new build tools can be added without modifying cabal.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing how Cabal currently invokes build tools such as happy, hsc2hs, c2hs, and alex, and how options are represented in the cabal file format. Compare the proposed tool-specific, per-module, and generic configuration approaches. Done should be a decided configuration design that supports the required tools and clearly defines its scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.