Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Can't pass extra arguments to c2hs #853

Open
bos opened this Issue · 3 comments

2 participants

@bos
Owner

(Imported from Trac #863, reported by guest on 2011-07-16)

With cabal-install 0.10.2, I am no longer able to pass extra arguments to c2hs. When invoked as:

cabal install -O --c2hs-option=--cppopts=-U__BLOCKS__  --c2hs-options="--dump=trace" -v
c2hs is then called as

/Users/localuser/.cabal/bin/c2hs --cpp=/usr/bin/gcc --cppopts=-E --cppopts=-D__GLASGOW_HASKELL__=700 --cppopts=-Ddarwin_BUILD_OS --cppopts=-Ddarwin_HOST_OS --cppopts=-Dx86_64_BUILD_ARCH --cppopts=-Dx86_64_HOST_ARCH --cppopts=-Icbits --cppopts=-DUSE_SSE2 --include=dist/build --cppopts=-I/Users/localuser/.cabal/lib/vector-0.7.0.1/ghc-7.0.4/include --cppopts=-I/Users/localuser/.cabal/lib/primitive-0.3.1/ghc-7.0.4/include --cppopts=-I/opt/local/include/ --cppopts=-I/usr/local/lib/ghc-7.0.4/base-4.3.1.0/include --cppopts=-I/usr/local/lib/ghc-7.0.4/include --cppopts=-I/usr/local/lib/ghc-7.0.4/include --output-dir=dist/build --output=Sound/Barnet/BandedLib.hs src/Sound/Barnet/BandedLib.chs --cppopts=-U__BLOCKS__ --dump=trace
The extra arguments are appended to the end of the call, however c2hs (at least c2hs-0.16.3) requires that the .chs binding file come after all options.
@bos
Owner

(Imported comment by @dcoutts on 2011-07-16)

Mm, interesting. Yes, we changed it so that user-supplied arguments go at the end, because that way they override whatever other params that cabal passes.

We do also have internally a way to specify arguments that are prepended. We might need to expose this. Of course c2hs should also just be fixed so it's not so picky.

@mietek

This is still an issue with c2hs. (haskell/c2hs#86)

@mietek

As of 3728e1e5dce5cd116aa39209fea03aef90a90cd1, this is no longer an issue with c2hs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.