开发者

Passing m files to ghc with -x c in cabal file sets option globally

I am trying to开发者_Go百科 update the glfw package to use glfw 2.7 on the mac. The problem becomes that there is a new cocoa port which introduces 'm' files.

So I wanted to use the -x c option on just those files, but I can't figure out how to get it to operate just on these 'm' files.

The relevant section of my cabal file:

if os(darwin)
  include-dirs: glfw/lib/cocoa
  frameworks:   AGL Cocoa OpenGL
  cc-options:   -msse2 
  ghc-options:  -x c                  -- **** global not just local.
  c-sources:
    glfw/lib/cocoa/cocoa_enable.m
    glfw/lib/cocoa/cocoa_fullscreen.m
    glfw/lib/cocoa/cocoa_glext.m
    glfw/lib/cocoa/cocoa_init.m
    glfw/lib/cocoa/cocoa_joystick.m
    glfw/lib/cocoa/cocoa_thread.m
    glfw/lib/cocoa/cocoa_time.m
    glfw/lib/cocoa/cocoa_window.m

Any ideas how I can fix this cabal issue?

My source code resides at https://github.com/iaefai/glfw-haskell if you want to test it.


Try the GLFW-b bindings instead. I've worked with the author of GLFW-b to make all the necessary changes to get 2.7 working on OSX. It even works in GHCI.

You can cabal install nehe-tuts to see a demo of it working.


There's no way to do it via a .cabal flag. You may need to do a pre-processing stage manually (e.g. cabal makefile mode or configure mode).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜