On Friday, 22 March 2013 at 17:16:26 UTC, Jens Mueller wrote:
Moritz Maxeiner wrote:
On Friday, 22 March 2013 at 08:34:11 UTC, Jens Mueller wrote:
>Updated documentation
>http://jkm.github.com/d-programming-language.org/deimos.html

NIice, but conforming to the following would create too much work
for me:

"For each file a proper module declaration has to be provided"

Since files in llvm-c appear and dissappear across different LLVM versions, you would eventually have to keep files around that are
many LLVM versions old.

Really. I thought the C API was expected to be more stable.
Also it's not yet clear how to manage multiple versions of the same library in Deimos. But your feedback helps sharpening which issues
should be addressed by Deimos. Thanks.

Afaict in the rang from 3.1 to 3.3svn it has happened two times:
- The "Enhanced Disassembly" header exists in 3.2, but has vanished in the trunk. - The "Linker" header has been added in 3.2 and it is also an example of the short files. It contains only a single function "LLVMLinkModules" and a single enum for one of the that function's parameters.

Assuming I can spend some time on deimos-llvm would you switch? I mean I have 3.1. Adding 3.2 is possible. But I would need you to use it and
check that it works for your higher level API.

I could add support for it via a version flag. E.g. set -version=DEIMOS_LLVM or something similar. That way someone using llvm-d can choose to either use the included C bindings or use your deimos compatible ones. My only concern would be that the LLVM C function signatures would have to be translated in the same, or at least a compatible way in both my C bindings and the deimos ones, so using either of them would just be a matter of which import statement to use. Since I've translated them pretty much strictly according to the "interfacing with c" guideline that's probably the case already, but I'd have to try it out first.

Reply via email to