Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-03-18 07:07:16


Douglas Gregor wrote:
> Update of /cvsroot/boost/boost/tools/build/new
> In directory sc8-pr-cvs1:/tmp/cvs-serv22168
>
> Modified Files:
> boostbook.jam
> Log Message:
> boostbook.jam:
> - Add support for HTML output (multiple files, with a manifest)
> - Add support for man page output (multiple files, with a manifest)

Hi Doug,

just a few nits:

> +rule xslt-dir ( target : source stylesheet : properties * : dirname )
> +{
> + local flags ;
> + for local param in [ feature.get-values <xsl:param> : $(properties) ]
> + {
> + local namevalue = [ regex.split $(param) "=" ] ;
> + flags += --stringparam $(namevalue[1]) $(namevalue[2]) ;
> + }

That's not really good. You have precisely the same code in "xslt". Not a lot
of code is duplicated, but anyway.

> +
> + # Make sure we create this path.
> + # TBD: this is NOT correct, but it works for now...
> + LOCATE on $(target) = $(dirname) ;
> + DEPENDS $(target) : $(dirname) ;
> + common.MkDir $(dirname) ;

See my other email for comments on this. In think we can remove this part.

> +
> + STYLESHEET on $(target) = $(stylesheet) ;
> + FLAGS on $(target) = $(flags) ;
> + DIRECTORY on $(target) = $(dirname) ;

I wonder if 'xslt' and 'xslt-dir' should be really one rule. They differ only
in setting of DIRECTORY.

> + xslt-xsltproc-dir $(target) : $(source) ;

That's a matter of style, but the additional action name is not needed, IMO.
You can write:

actions xslt-dir
{
XML_CATALOG_FILES=catalog.xml xsltproc $(FLAGS) --xinclude -o
$(DIRECTORY)/ $(STYLESHEET) $(>[1])
}

Note that action picks only first source (the XML file).

- 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