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"<seewebsiteforem...@erdani.org> wrote in message
news:i4cq4p$7j...@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

Reply via email to