.h files not found when compiling via C

Volker Wysk pf1 at volker-wysk.de
Sun Jul 23 12:09:37 EDT 2006


Hello

When compiling a module, which contains "foreign import" directives, via C, 
the C compiler needs to be passed a "-I." argument, otherwise the include 
file mentioned there won't be found.

You can do this manually with an "-I." argument to ghc (after you figure it 
out), but since this is always necessary, I consider it a bug.

For instance:

foreign import ccall safe "build/Mount.h statfs"
  c_statfs :: ((Ptr CChar) -> ((Ptr ()) -> (IO CInt)))

Also, section 4.10.3 of the user manual should mention that those arguments 
are passed to the C compiler/preprocessor when compiling via C. It gives the 
impression that they are for preprocessing Haskell code only.

Cheers,
V.W.

-- 
public key fingerprint: 6A10 66F1 40A2 C441 BB55 0AA8 FAB1 4FC1 08BE 24EF



More information about the Glasgow-haskell-bugs mailing list