| |
| Posted by Jack Stouffer in reply to Tejas | PermalinkReply |
|
Jack Stouffer
| 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.
|