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.

Reply via email to