Boost logo

Boost-Build :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-10-06 04:37:56

Ryan Gallagher wrote:
>I'd like to write:
>project core
> : requirements <include>..
> <define>CORE_SOURCE
> <link>shared:<define>CORE_DYN_LINK
> <tag>@$(__name__).tag
> : usage-requirements <include>..
> ;
>lib core
> : [ glob foo/*.cpp ]
> [ glob bar/*.cpp ]
> ;
>But as Andreas points out, the foo and bar namespaces are removed which
>conflicts in target names when filenames in foo and bar are the same.
>than creating the targets by hand, which when run does seem slower (msvc)
>although I haven't done the proper timing, is there a way to get this to
>I'd also like to know if the <tag> rule can be moved outside of
>$(BOOST_ROOT)/Jamfile.v2 into an importable .jam so that it is more
>reusable for
>others. I like the naming convension (and as you can probably guess,
>Boost.Config) and I think it may be useful for others as well.

As far as I am aware, you can use the <tag> rule anywhere, so it sholud be
possible to add it to your top-level project, a sub-project, or a specific
target. You can even create your own name generator :).

Is creating a <tag> rule/name generator in the docs? If not, it should be.

>Also, from playing around a bit I found a couple little issues, but perhaps
>these are only because I'm new to bbuild v2 and jam.
>1) I wasn't able to get the <include>.. to work without adding the
>-I"$(INCLUDE)" options to the command lines in msvc.jam:274,278. Is there
>something I'm missing that occurs in the response files?

Use INCLUDES instead :). (Note the "S" on the end). <include> should get
mapped by the

flags msvc.compile INCLUDES : <include> ; # or something like this

which are added to the RSP files. Check the RSP files. Try deleting the RSP
files and trying again (currently, if a build fails, RSP files aren't
correctly regenerated if you change project settings).

Also, is this the requirements or usage-requirements version of <include>..?

- Reece


Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at