If you use cpphs as a library, there is an API called runCpphsReturningSymTab.  
Thence you can throw away the actual pre-preprocessed result text, keep only 
the symbol table, and lookup whatever macros you wish to find their values.  I 
suggest you make this into a little code-generator, to produce a Haskell module 
containing the values you need.

On 5 Oct 2013, at 21:37, Ömer Sinan Ağacan wrote:

> Hi all,
> 
> Let's say I want to #include a C header file in my Haskell library
> just to read some macro definitions. The C header file also contains
> some C code. Is there a way to load only macro definitions and not C
> code in #include declarations in Haskell?
> 
> What I'm trying to do is I'm linking my library against this C library
> but I want to support different versions of this C library, so I want
> to read it's version from one of it's header files. The problem is the
> header file contains some C code and makes my Haskell source code
> mixed with C source before compilation.
> 
> Any suggestions would be appreciated,

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to