llvm-d

Moritz Maxeiner moritz at ucworks.org
Fri Mar 22 08:43:25 PDT 2013


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.

In llvm-d I use three files for the three main purposes: types, 
constants and functions. With ctfe having compatibility is 
trivial in that setup, with many more files that would be 
increasingly more work. Especially so since there are llvm-c 
headers with only few lines of code and creating an entire D 
module for that purpose seems wasteful and hurts maintainability 
or me.

"So far, each C header file was renamed to a D module. Next the 
contents of each module will be adjusted. In general following 
the advices from interfacing to c is recommended.

The D files should try to do as least modifications as possible 
to simplify updates of the C headers. This includes leaving 
comments intact."

Again, by cutting out everything but the actual code dealing with 
updates/new versions of LLVM becomes a lot easier. Dealing with 
the copyright issue can be done in compliance with LLVM's license 
by including LLVM's license note and copyright note in the 
documentation, in this case the README.md.

If I can make a deimos-llvm project the way I described it 
previously (by simply stripping out the shared lib code) I'll do 
it, because the changes would be few and maintaining both 
projects would be trivial; but if all deimos projects *have* to 
conform to these - in my case harmful - conventions, you might be 
better off with asking someone else to take over your deimos-llvm 
project.


More information about the Digitalmars-d-announce mailing list