Re: [Boost-docs] Boost.Python docs update

Subject: Re: [Boost-docs] Boost.Python docs update
From: Daniel James (dnljms_at_[hidden])
Date: 2015-08-12 08:41:29

On 12 August 2015 at 09:09, Stefan Seefeld <stefan_at_[hidden]> wrote:
> On 11/08/15 07:16 PM, Daniel James wrote:
>> I had a quick try at building it, and it failed because
>> 'boost.defaults' gets set twice.
> Where does it get set the other time ? I only set it once, and I don't
> understand what may differ between your setup and mine, i.e. why I don't
> see this error.

It's set in Jamroot at the root of the super project. Libraries aren't
really meant to use this parameter. I tried to create better build
support, but couldn't without making Jamroot dependant on the
boostbook jamfile.

> Is the process you follow to regenerate
> documented anywhere ? It would be
> useful if I could try myself, so I can reproduce the issue(s) you are
> seeing and fix it without having to for forth and back...

I was just running 'b2' from libs/python/doc. When I tried it,
everything other than python was on the master branch, but that
shouldn't make a difference. I guess you might be using a different
version of xsltproc which doesn't complain about duplicate parameters.
Mine is:

$ xsltproc --version
Using libxml 20901, libxslt 10128 and libexslt 817
xsltproc was compiled against libxml 20901, libxslt 10128 and libexslt 817
libxslt 10128 was compiled against libxml 20901
libexslt 817 was compiled against libxml 20901

>> If you want to overwrite it you first
>> have to unset the default setting with something like:
>> -<xsl:param>boost.defaults=Boost
>> Not sure why you're changing it though. It's generally easier just to
>> override the individual settings if you find the defaults intolerable.
> I change it because I use the generated HTML stand-alone (see
>, where the links injected by
> boost.defaults=Boost wouldn't work (and wouldn't make sense anyhow).

Then you should probably build outside of the tree where it will
default to none. That's why it's set up that way - so that libraries
built inside the tree use the shared files, libraries built outside of
it don't. But you can overwrite the individual parameters without
changing 'boost.defaults', which you seem to be doing anyway.

This archive was generated by hypermail 2.1.7 : 2017-11-11 08:50:41 UTC