Boost logo

Boost-Build :

From: John Maddock (john_at_[hidden])
Date: 2007-09-23 12:24:00


Rene Rivera wrote:
> John Maddock wrote:
>> Is it possible to specify a name for the manifest file created by
>> Boostbook in BBv2?
>
> Yes, add an <xsl:param>manifest=my.manifest to the target. But, that
> will cause the docs to be rebuilt all the time since the BBv2 code
> looks for the HTML.manifest as the real target. Hence if it never
> exists, in the name BBv2 is looking for, it will always think the
> docs are not built.

Ah, I hadn't spotted that, but I still get bjam errors if there are two
boostbook targets in one file even after setting <xsl:param>manifest:

c:/data/boost/boost/trunk/tools/build/v2/build\virtual-target.jam:996: in
virtual-target.register-actual-name from module virtual-target
error: Duplicate name of actual target: <phtml>HTML.manifest
error: previous virtual target {
boostbook%boostbook.docbook-to-htmldir-HTML.manifest.HTMLDIR {
boostbook%boostbook.boostbook-to-docbook-math.docbook.DOCBOOK {
quickbook%quickbook.quickbook-to-boostbook-math.xml.XML {
math.qbk.QUICKBOOK } }
 } }
error: created from ./standalone
error: another virtual target {
boostbook%boostbook.docbook-to-htmldir-HTML.manifest.HTMLDIR {
boostbook%boostbook.boostbook-to-docbook-quaternion.docbook.DOCBO
OK { quickbook%quickbook.quickbook-to-boostbook-quaternion.xml.XML {
quaternion.qbk.QUICKBOOK } } } }
error: created from ./quat_standalone
error: added properties: <xsl:param>manifest=quaternion.manifest
<xsl:param>root.filename=quaternion
error: removed properties: <xsl:param>root.filename=sf_dist_and_tools
c:/data/boost/boost/trunk/tools/build/v2/build\virtual-target.jam:459: in
actualize-no-scanner from module object(file-target)@362
c:/data/boost/boost/trunk/tools/build/v2/build\virtual-target.jam:111: in
object(file-target)@362.actualize from module object(file-target)@362
c:/data/boost/boost/trunk/tools/build/v2\build-system.jam:488: in load from
module build-system

etc.

>> I want to have two Boostbook targets in the same Jamfile: generating
>> different html/pdf files (but in the same directory tree), but am
>> currently prevented from that because the two targets both want to
>> create the same manifest file "HTML.manifest". Alternatively can
>> the manifest filename be changed to "mydocname.HTML.manifest" ?
>
> Before I look more than I have into doing something... What would you
> expect to happen with the other equally named files, in particular
> index.html?

Well I'm using <xsl:param>root.filename to change that, as far as I can see
that name isn't hard coded in bbv2, or is it?

As for the manifest name, if it could be changed to match the value of
<xsl:param>manifest that would be truely magnificent: provided it solves the
"two targets in one file" issue :-)

Otherwise we could use the name of the boostbook target for the manifest
name and ignore <xsl:param>manifest I guess. BTW: I tried changing the bbv2
code to look for $(name).HTML.manifest in "rule run ( project name ? :
property-set : sources * : multiple ? )" inside boostbook.jam, but that just
led to some inscutable errors I couldn't fix :-(

Any ideas?

Many thanks, John.


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