On Tue, Jul 09, 2013 at 05:07:59PM -0700, H. S. Teoh wrote: [...] > I forked GDMD on github and took a first stab at D-ifying it: > > https://github.com/quickfur/GDMD/tree/dport [...]
Update: - Fixed the path issues raised earlier (thanks for all the feedback!) - I've added a whole bunch more code now, and a good number of dmd options are now understood. Most of the common ones are now supported, like -c, -inline, -O, and a few others. There's still a lot left to do, though. It never truly dawned on me before just how many options dmd has! (Fortunately it's nowhere near the sheer number in gcc/gdc. ;-)) - Unittests were added!! Now I can feel less shameful. :-P - Now gdmd can handle -of, -od, and -op. However, dmd appears to be extremely quirky in this area (esp. when these options are used together). Apparently, if the argument to -of contains '/', it implicitly sets -od as well. Gdmd still doesn't quite match dmd in this area. One particularly problematic case is: Given this directory structure: ./src ./src/test.d Running dmd -ofbin/prog produces: ./bin ./bin/prog ./prog.o <-- problem The trouble with this case is that currently gdmd always compiles each source file separately (following the behaviour of the old Perl script), so we can't just rename the default test.o to prog.o. Also, IME, running gdc with too many .d files at once can sometimes cause memory problems, so doing it one at a time seems preferable. - The makefile has been updated to build gdmd from gdmd.d instead of the Perl script. If you build with make DFLAGS=-fdebug, you'll get some verbose output that may help track down problems when gdmd misbehgaves=-fdebug, you'll get some verbose output that may help track down problems when gdmd misbehaves. For the rest of the details, take a look at the git log. :) Gotta run now. T -- A linguistics professor was lecturing to his class one day. "In English," he said, "A double negative forms a positive. In some languages, though, such as Russian, a double negative is still a negative. However, there is no language wherein a double positive can form a negative." A voice from the back of the room piped up, "Yeah, yeah."