Boost logo

Boost-Build :

Subject: [Boost-build] Property propagation
From: Brian Ravnsgaard Riis (brian_at_[hidden])
Date: 2009-01-08 09:42:43

Hash: SHA1

Ok, the last thread seems to have died. Maybe I wasn't being explicit
enough about the follow-up question, so here goes.

The question is basically about property propagation, I guess. I've been
toying a bit with Rene's wxwidgets.jam. Several things in the setup
process are dependent on the properties of the project being built, such
as <architecture> or <target-os>/<host-os>. These properties are *not*
propagated to the relevant rules in wxwidgets.jam.

Of particular interest is the setup_h rule, which creates wxWidgets'
configuration header. It needs to add a "#define WORDS_BIGENDIAN 1" if
we are on a big-endian architecture, but $(properties) does not contain
<architecture>. Some defines should be added on Linux but not on
Windows; there is a

        switch [ <target-os> : $(properties ]

clause, but, again, <target-os> is not in $(properties). Actually
*nothing* is in $(properties) except the <wx-whatever>enable|disable
type ones, i.e. the features/properties that wxwidgets.jam makes itself.

Unfortunately, I have no clue where to look, in order to get the
root-project's properties propagated to wxwidgets.jam. I've looked at a
lot of jamfiles (and learned a heck of a lot about BBv2 in the
process!), but I'm grasping in the dark. Any help is highly appreciated!

What I've done is: Copy
to my BBv2/tools directory; then tweaked wxwidgets.jam immensely to make
it work with current wxWidgets trunk source. Several things go wrong
currently in the building of wx/setup.h and these non-propagated
properties are the cause of it.

 /Brian Riis
Version: GnuPG v2.0.7 (MingW32)
Comment: Using GnuPG with Mozilla -


Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at