Current RDMD, please?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Tue Aug 17 13:17:43 PDT 2010


On 08/17/2010 03:06 PM, simendsjo wrote:
> On 17.08.2010 21:08, Andrei Alexandrescu wrote:
>> On 08/17/2010 01:34 PM, Nick Sabalausky wrote:
>>> "Andrei Alexandrescu"<SeeWebsiteForEmail at erdani.org> wrote in message
>>> news:i4cq4p$7jv$3 at digitalmars.com...
>>>> Nick Sabalausky wrote:
>>>>> The RDMD included with DMD is still 20090902, which is two revisions
>>>>> out-of-date.
>>>>>
>>>>> The lack of the fix in r1315 ("Made relative paths searched from the
>>>>> main
>>>>> file, not the current dir") is a breaker for using RDMD with my
>>>>> projects,
>>>>> which is particularly bad since xfbuild (my other go-to build tool)
>>>>> seems
>>>>> to have become incompatible with newer D2s (Ie, certain basic things
>>>>> that
>>>>> work with newer DMDs get choked on by xfbuild). I know I can compile
>>>>> the
>>>>> latest RDMD myself, but anyone else compiling my stuff (or using my
>>>>> stbuild tool) has to do the same.
>>>>>
>>>>> So can we please get the current RDMD included with the next DMD
>>>>> (particularly D2) release?
>>>>>
>>>>> This has been brought up at least a couple times before, and didn't
>>>>> get
>>>>> any official response. Is there something preventing this from
>>>>> happening
>>>>> that maybe I could help out on?
>>>>
>>>> Walter, could you please update your build scripts to build and include
>>>> rdmd? It's an important tool. Thanks.
>>>>
>>>
>>> My last post was overly long-winded. Summay:
>>>
>>> Is there a particular reason rdmd's (r1400) line #326 is:
>>>
>>> myModules[/*rel2abs*/join(rootDir, moduleSrc)] = moduleObj;
>>>
>>> instead of:
>>>
>>> myModules[moduleSrc] = moduleObj;
>>>
>>> ...? (ie, rdmd prepends "path to the file with main()" to all of the
>>> relative paths in the deps file)
>>>
>>> The former causes problems for me, but when I change it to the latter
>>> all is
>>> fine for me.
>>
>> I saw the q, and was still mulling for an answer. I the join
>> intentionally, and now I think I remembered why.
>>
>> The join is needed in the probably rare case when you're running rdmd
>> from a different directory from the root module, e.g:
>>
>> $ pwd
>> ~/foo/bar
>> $ rdmd ../baz/main.d
>>
>> In this case, if there's no join with the rootDir, modules will be
>> looked up in ~/foo/bar/, which is probably not the right thing.
>>
>> What is your use case?
>>
>>
>> Andrei
>
> But I don't think that works. This is a copy of a post I made in d.learn
> the other day:
>
> c:\temp\src\test.d
>
> c:\temp>rdmd src\test
> The system cannot find the path specified.
>
> c:\temp>rdmd src/test
> std.file.FileException: (...)\.rdmd\rdmd-src/test.d-(...): The system
> cannot find the path specified.
>
> Using rdmd 20090902, dmd 2.048 and 64 bit win7

Works for me on Ubuntu, though I have 20091008. Looks like a 
Windows-specific matter. The second error message suggests that the 
temporary directory chosen by rdmd is not working properly.

Andrei


More information about the Digitalmars-d mailing list