Boost logo

Boost-Build :

From: eric.woodruff_at_[hidden]
Date: 2008-03-21 21:32:26


Thanks, that fixed my initial problem. Now I'm finding that when another
library depends on (via <use>) the header-only library created via an
alias for this generated header, the make step sometimes reverses the
source and the stylesheet. I put some echos in xsltproc.jam to witness
this happening. If I invoke the rule as:

xslt header.h : source.psmc schema/header.xsl ;

...it echos the source and stylesheet correctly, without swapping the
two as arbitrary sources. But that apparently isn't a rule that defined
a target or builds anything.

If I leave it defined as:
make header.h : source.psmc schema/header.xsl : @xsltproc.xslt ;

...it builds correctly from the local directory and the parent
directory, but from a sibling of the parent directory it then swaps the
source and the stylesheet.

Any idea what might cause that?

Thanks again!

Eric

Vladimir Prus wrote:
> Eric Woodruff wrote:
>
>> I have a question about xsltproc.jam. It states:
>>
>> # This module defines rules to apply an XSLT stylesheet to an XML file
>>
>> # using the xsltproc driver, part of libxslt.
>>
>> #
>>
>> # Note: except for 'init', this modules does not provide any rules
>>
>> # for end users.make header.h : source.psmc schema/header.xsl : @xsltproc.xslt ;
>>
>>
>> What does that mean? Does that mean I shouldn't use it? I'm having a
>> problem getting it to work via a simple:
>>
>> import xsltproc ;
>>
>> make header.h : source.psmc schema/header.xsl : @xsltproc.xslt ;
>
> The comment means that it was written as part of implementing boostbook.jam,
> and it was not tested/documented for general user, so expect rocks under the
> water.
>
>> I get the following problem and haven't been able to find anything
>> solution referencing anything similar:
>>
>> xslt-xsltproc ../../myproj/catalogs/bin/gcc-4.1.1/debug/header.h
>>
>> cannot parse <p../../myproj/catalogs>../catalogs/schema/header.xsl
>>
>> "xsltproc" --xinclude -o "../../myproj/catalogs/bin/gcc-4.1.1/debug/header.h"
>> "<p../../myproj/catalogs>schema/header.xsl" "../../myproj/catalogs/source.psmc"
>>
>>
>>
>> Where did the "<p" come from?
>
> <p...> is the prefix used for internal identification of targets -- it's
> used for the case when you have 20 files "schema/header.xsl" in 20
> different directories. Normally, it does not appear on the command line, but
> the only use of xslt function now passes the absolute path for stylesheet.
>
> Would you please locate this code in xsltproc.jam:
>
> actions xslt-xsltproc
> {
> $(CATALOG) "$(NAME:E=xsltproc)" $(FLAGS) --xinclude -o "$(<)" "$(STYLESHEET)" "$(>)"
> }
>
> and replace the first line to read
>
> actions xslt-xsltproc bind STYLESHEET
>
> and then try again?
>
> - Volodya
>
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
>


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