Boost logo

Boost-Build :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-05-05 18:40:18


----- Original Message -----
From: "Thomas Witt" <witt_at_[hidden]>
To: <jamboost_at_[hidden]>
Sent: Sunday, May 05, 2002 6:15 PM
Subject: Re: [jamboost] Re: [boost] Release plans [was: Maintenance
release?]

> On Monday 06 May 2002 00:52, David Abrahams wrote:
> > 1. Change all configuration variables representing paths to names
> > which end in "_PATH". This eliminates "spaces in pathnames" problems
> > since Jam won't split these except at path separators (':' on *nix,
> > ';' on windows).
>
> I think in an ideal world (v2?) all variables named _PATH should contain
path
> lists(like BOOST_BUILD_PATH), not a single path.

Why? One element is just a special case of multiple elements.

In v2 we're not going to use environment/command-line variables, other than
to try to auto-detect things that are already set up in the user's system
for reasons unrelated to Boost.Build .

> So this might solve one
> problem, but ....

I don't see how it could cause new problems... oh, well, if a path actually
contains the path separator it's easy enough to reconstitute. Hmm, maybe
there's no advantage to using _PATH names after all:

With *_PATH names:

c:\boost>jam -f- -sFOO_PATH=a/b/c;d;;e
ECHO *$(FOO_PATH)* ;
ECHO *$(FOO_PATH:J=;)* ;
^Z
*a/b/c* *d* ** *e*
*a/b/c;d;;e*

With regular names:

c:\boost>jam -f- "-sBAR=c:/program files/two spaces"
ECHO *$(BAR)* ;
ECHO *$(BAR:J=" ")* ;
^Z
*c:/program* *files/two* ** *spaces*
*c:/program files/two spaces*

I am already using this trick msvc-tools.jam, only in a more-cumbersome way
since I didn't want to rely on :J=, which is a new feature.

-Dave

 


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