Generating C Headers From D Code
Jack Stouffer
jack at jackstouffer.com
Fri Aug 6 15:47:26 UTC 2021
On Thursday, 5 August 2021 at 17:02:33 UTC, Tejas wrote:
> On Thursday, 5 August 2021 at 16:28:35 UTC, Jack Stouffer wrote:
>> I need to generate plain C99 .h files from a D module's
>> extern(C) declarations, so that I can link a DMD generated .o
>> file with a C code base. Are there any automated tools which
>> do this?
>>
>> I know the compiler has C++ header generation, and there's
>> tons of tools which exist for importing C headers into D code.
>> I'm not aware of anything which goes the other direction.
>> Google wasn't much help either.
>
> I also can't find anything... until someone else comes with a
> better answer, maybe you can do this:
>
> Use the ```-H``` compiler flag to generate ```.di``` files.
>
> Remove all the ```extern(C)``` decls in the .di files.
>
> Rename the file extension from ```.di``` to ```.h```
>
> Technically, it should work. Hopefully someone else knows
> better.
Well, that's disappointing. I suppose everyone just makes there
main file a D file when converting C projects so they don't have
this problem.
Eventually I'll have to write a script which takes .di files and
generates .h files, but doing it manually will have to work for
now.
More information about the Digitalmars-d-learn
mailing list