rdmd

Georg Wrede georg.wrede at iki.fi
Thu Mar 5 07:39:34 PST 2009


Andrei Alexandrescu wrote:
> Georg Wrede wrote:
>> Just downloaded D 2.026 and tried rdmd. No eval?????
> 
> Sorry, inclusion of the new rdmd has not been done due to rdmd's 
> dependency of the new phobos.
> 
>> I'd *really* appreciate a --version switch. (Probably, instead of 
>> fancy version numbers, either the repo version, and/or just plain 
>> compilation date would be nice.) Currently, since the binary is 
>> packed, there is no way to even peek at the strings in hopes of 
>> getting a clue....
> 
> What would it do?

Say I have a few DMD versions, and an rdmd with each. Then I download 
one from the net, and additionally I'm compiling two more. It actually 
happens intermittently that I end up running not the one I expect.

When all works ok, who needs to know anything. But when things don't and 
you're full of WTF bewilderment, then it saves time to have access to 
things like version.

Or suppose people start sending you bug reports. (Not impossible if rdmd 
gets popular.) Some admin may have moved rdmd to /usr/local/bin, 
somebody else got a newer version from the net... Any time I've called a 
hotline, the first thing they ask is what version.

>> It also seems to accept just any switch:

With --version I wouldn't even have spent time writing this, I would 
just have understood that I got the ancient version.

>> $ rdmd --bullcrap="bull crap"
>> Error: crap.d: No such file or directory
>>
>> And from my bash dmd-wrapper log:
>>
>> compiling /usr/local/digitalmars/dmd2026/linux/bin/dmd --bullcrap=bull 
>> -v -o- crap.d
> 
> Yah, rdmd passed the buck to dmd. Previously rdmd also had a bug related 
> to whitespace in options, which in turn was a quick fix to the gorram 
> shebang issue, which I now fixed the proper way by adding --shebang.
> 
> Anyhoo, with what I have now the erroneous flag is properly reported. 
> Per popular demand (from one person that is :o)), I made the Linux rdmd 
> binary available for download from 
> http://ssli.ee.washington.edu/~aalexand/d/rdmd.

Got it. Thanks.

$ rdmd --eval="printf()"
/tmp/.rdmd/eval.6B6D8AE14A1B676C8EC2203340D3209A.d(10): module range 
cannot read file 'std/range.d'

What this means in practice is, rdmd should be "harmonised" with the DMD 
release it comes with.

I wonder if Walter has a makefile that generates a new DMD download? If 
so, then of course it could build rdmd with the appropriate imports.



More information about the Digitalmars-d-announce mailing list