[Haskell-cafe] A question regarding reading CPP definitions from a C header

Ömer Sinan Ağacan omeragacan
Mon Oct 7 23:24:08 UTC 2013


Carl, thank you very much. This is exactly what I was looking for, and
it solved my problem in 5 minutes.

What's awesome is that when Cabal finds a .hsc file it automatically
calls this tool. Great.

Thanks again.

---
?mer Sinan A?acan
http://osa1.net


2013/10/8 Carl Howells <chowells79 at gmail.com>:
> Have you looked into using hsc2hs? If I understand your problem, it's
> designed exactly to solve it.
>
> --
> Carl
>
>
> On Mon, Oct 7, 2013 at 12:20 PM, ?mer Sinan A?acan <omeragacan at gmail.com>
> wrote:
>>
>> Thanks for your answer, looks like this is my only option to do this.
>>
>> Can you provide some information about what does parameters of
>> runCpphsReturningSymTab stands for? I made several attempts but
>> couldn't get any useful return value.
>>
>> For example, I have no idea what does third parameter does. Also,
>> second parameter.
>>
>> Thanks,
>>
>> ---
>> ?mer Sinan A?acan
>> http://osa1.net
>>
>>
>> 2013/10/7 Malcolm Wallace <malcolm.wallace at me.com>:
>> > 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 at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>




More information about the Haskell-Cafe mailing list