Subject: [Boost-build] Property propagation
From: Brian Ravnsgaard Riis (brian_at_[hidden])
Date: 2009-01-08 09:42:43
-----BEGIN PGP SIGNED MESSAGE-----
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 [ property.select <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.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
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