Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2002-05-11 08:12:43


David Abrahams wrote:

> > In which case the path found will be absolute. I'm not sure I like this
>
> idea
>
> > -- as I said previously, user should be present relative names
>
> ^^^^^^^^^^
> do you mean "be presented with"?

"ed" after "present" was omitted.

> > There was similar problem in project.jam, which I've fixed by changind
> > "find-jamfile" rule to use os.path module. Maybe, the same thing is
>
> needed
>
> > here.
>
> Probably. I'll leave that up to you.
> However, here's another notable place where the code is complicated due to
> the intervention of path normalization. os.path.glob would be unneeded (it
> could just use GLOB), and find-jamfile could just use GLOB directly instead
> of running that loop.

Does GLOB takes several directories?! Oh, I never realized that! I will
rewrite 'find-jamfile' using this fact.

> > > and I don't know, for each rule in the call
> > > chain, whether it accepts normalized or native paths... so I don't know
>
> how
>
> > > to address this problem.
> > >
> > > Vladimir, do you remain unconvinced that having code outside of os.path
> > > manipulate two kinds of paths is problematic?
> >
> > Frankly, I believe that 90% of the problems are due to $(something:P)
>
> usage.
>
> > We should eliminate that in the first place.
>
> Great, no problem.
>
> > About normalized/unnormalized
> > path: for me, there not too many places where conversion is needed. OTOH,
> > your point about eliminating "make"/"native" invocations, is very
>
> reasonable.
>
> ...and my point about bugs creeping in where native and normalized paths
> are the same in all tests cases.
>
> > I'm not sure about your proposal of using forward slashes in paths on
> > windows, since "mkdir" and the company won't like them.
>
> I've already been through this on v1 in a few places. It's generally not
> too burdensome to backslashify things explicitly when you know you'll be
> invoking a shell command. In fact, in v2 we can deal with this by
> bottlenecking all setting of SEARCH and LOCATE through appropriate rules in
> the target class. In other words, build actions will be nicely isolated by
> layers from the high-level code.

Hmm... now I really don't understand you ... to recall, your earlier wrote

> I believe we can work around this problem by having the NT platform
> representation use forward slashes instead of backward slashes.

Do you suggest that we, when on NT,
1. Translate paths into forward-slashed form when we get paths from "GLOB",
or from user.
2. Translate them back to backward-slahed from when passing to build actions?

This seems very like 'make' and 'native' rules.

- 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