Subject: Re: [Boost-build] issue with modularized contrib/boost.jam
From: Tom (tabsoftwareconsulting_at_[hidden])
Date: 2014-08-11 16:08:25
This can be seen in a minimal program attached as a .tar.gz file. If
you run b2 with "b2 -d+12", you will see that the headers appear as
"touched", which forces the rebuild of exp1 every time.
It may be some kind of conflict between the Boost 1.56.0 Jamroot and
boost.jam. What I'm seeing is that renaming or removing the "alias
headers ;" line from boost.jam does not affect the build at all. I
would have expected that would be required. So it seems that
/boost//headers is coming from somewhere else. There is also a
"headers" target (and a varable) defined in the Jamroot of Boost
1.56.0 as well.
If I run the same thing with Boost 1.51.0 (and the Boost.Build from
that version), things work as expected. However (and shockingly), if
I remove "alias headers ;" from boost.jam here everything still
works!. I thought that /boost//headers came from that alias, but it
doesn't seem to. Is that intended?
I haven't dug any further on this and while I understand some of what
is going on in boost.jam, I haven't understood it fully, not do I
understand how it interacts with the Boost Jamroot. Do you have any
insight into what I might try?
By the way, is there somewhere I should report this or is an email on
the list most appropriate?
Please see the attached minimal case for Boost 1.56.0.
Note that in my Boost.Build files, I had used "<library>X" when
referencing "alias X ;", but apparently that had been changed
(deprecated?) at some point and now should be "<dependency>X". Other
than that, I've made no changes to my files from Boost 1.51.0 to Boost
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