Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-03-24 02:44:51


Hi Michael,

Michael Stevens wrote:
> On to the next release... One quick fix for the documentation for
> "Variant descriptions" used in the build system
> The syntax for defining parents (see features.jam) is missing. At the
> moment the syntax descirbed in build_system.htm reads
>
> variant name : [<toolset-name>]<feature>value... ;
>
> The corrected syntax description (see boost-base.jam:757) is:
>
> variant name : [parent-name : ] [<toolset-name>]<feature>value... ;

Corrected in CVS.

> The descriptive text looks to be correct. It may be worth adding an
> additional simple example so it reads:
> Properties may be optionally qualified with a toolset name, which
> specifies that the property applies only to that toolset.
> variant my-debug-pedantic-gxx : debug : <gcc><cxxflags>"-pedantic"
> One or .....

Hmm... I don't remember V1 docs that good. I guess conditional properties must
be described somewhere. In any case, I don't think there's much point in
polishing them....

> At the moment I am also test driving Boost.build version 2. The design
> is very attractive! I not sure were the best place to discuss issues
> with v2 are?

On the jamboost_at_[hidden] mailing list.

> However just one quick pointer to a problem I am working on
> but don't have a solution to as yet.
>
> Problem: Build.v2 fails if any parent directory (above build point)
> contains regex special charaters.
> Reason: The directory path is itself used as a regex's template.
> Location: rule all-parents (path.jam)

Oh... that's really bug!

> # Leave only directory names below 'upper_limits'
> # Assure pruned_path[2] will have no leading '/'
> local pruned_path = [ regex.match "($(upper_limit))/*(.*)" :
> $(rpath) : 1 2 ] ;
> if ! $(pruned_path) {
>
> I don't have a fix as am unsure of the Jam syntax for a simple (non
> regex) match to do this job.
>
> Any ideas of best solution?

I think that ultimate solution is to protect regex metacharacters in
'upper_limit'. We must have 'regex.protect' rule which will add two
backslashes before all symbols with special meaning to MATCH.

If you could take care of this, it would be great. If not -- no problem,
someone else will fix this in due time.

- Volodya

>
> Michael Stevens
>
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost

 


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