Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-06-09 01:04:40


David Abrahams wrote:
> Vladimir Prus <ghost_at_[hidden]> writes:
> > David Abrahams wrote:
> >> Vladimir Prus <ghost_at_[hidden]> writes:
> >> >> plus it would have drawn path.jam into the kernel,
> >> >
> >> > Not sure code duplication is better.
> >>
> >> It's not duplication. My normalize-raw-paths is smaller, cleaner,
> >> easier to understand, and better-documented ;-)
> >
> > Good statement! Whether it's smaller/cleaner/easier/whatever is
> > orthogonal question. There's two pieces of code which do the same
> > thing, and that's code duplication, by definition.
>
> Not by my definition. My definition of code duplication is code
> which is syntactically substantially identical. This is duplication
> of functionality,

Ah... ok. I don't distinguish between the two.

> which is definitely also an evil, but perhaps a smaller one.

It's certainly still evil.

> What about replacing the complicated implementation in path.jam with
> something based on normalize-raw-paths?

The problem is that 'normalize-raw-paths' does something less --- it cannot
join two paths together. I'll probably see how path.join can be improved, by
anyway: unless path.jam is moved to "kernel", "modules.jam" cannot benefit
from it.

> > Besides, the email you've responded to questioned the need to call
> > 'normalize-raw-paths' at all. Do you have any comments on this?
>
> I put it in there because I wanted to be able to move modules from
> "tools/new" to tools/xxx as follows:
>
> 1. Copy the file to tools/xxx
>
> 2. Modify the version in tools/new to generate an error when
> executed, to be sure it isn't getting used.

Why not "cvs rm -f tools/new/something.jam"? Or just "rm
tools/new/something.jam"?

> 3. Run all the tests.
>
> The problem in that case is that other modules still in tools/new
> would always pick up the wrong version without even trying.
>
> It could be seen, I suppose, as a transitional measure.

I'm probably missing something, but you can move files without this measure.

- Volodya

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk