In my current project I have a file Tokens.x
that needs to be compiled to Tokens.hs
by Alex. In my .cabal
file I have listed Tokens
in the other-modules
section and cabal build
happily creates the file.
However it does so without the -g option that instructs Alex to create a GHC optimized version of the file. This option represents a 10x speed up in scanning when used with GHC and is also an order of magnitude faster to compile.
How do I tell cabal to included the -g option when compiling using GHC?
AFAIK, with Cabal you can currently only specify program options in the configuration file or via the command line, but not in a
.cabal
file.There's an open issue about this: https://github.com/haskell/cabal/issues/1223
However, looking at the sources for
Cabal
, I find that your particular problem seems to be solved by default. InDistribution.Simple.PreProcess
, there's:This means that if Cabal is used with GHC, then
-g
is automatically passed to Alex when it's being used as a preprocessor.