Currently, the Boost root contains the following files: boost-build.jam boostcpp.jam boostcpp.py bootstrap.bat bootstrap.sh Jamroot which are part of Boost.Build and so their rightful place is in the submodule. Would it be possible to move them there, and leave only minimal forwarding shims (that would never need to change) in the superproject?
Hi Peter, Am Mittwoch, 31. Dezember 2014, 17:35:18 schrieb Peter Dimov:
Currently, the Boost root contains the following files:
boost-build.jam boostcpp.jam boostcpp.py bootstrap.bat bootstrap.sh Jamroot
which are part of Boost.Build and so their rightful place is in the submodule.
No, they are needed to _build_ all other Boost libraries. They are not part of Boost.Build itself, which works fine without those files. They are like the individual Jamfile{.v2} which are needed to build and test the libraries.
Would it be possible to move them there, and leave only minimal forwarding shims (that would never need to change) in the superproject?
There are where they belong. They define some important things like global version number, build directories etc. pp. which are common to all Boost libraries. Yours, Jürgen -- * Dipl.-Math. Jürgen Hunold ! * voice: ++49 4257 300 ! Fährstraße 1 * fax : ++49 4257 300 ! 31609 Balge/Sebbenhausen * jhunold@gmx.eu ! Germany
On Wed, Dec 31, 2014 at 9:48 AM, Jürgen Hunold
Hi Peter,
Am Mittwoch, 31. Dezember 2014, 17:35:18 schrieb Peter Dimov:
Currently, the Boost root contains the following files:
boost-build.jam boostcpp.jam boostcpp.py bootstrap.bat bootstrap.sh Jamroot
which are part of Boost.Build and so their rightful place is in the submodule.
No, they are needed to _build_ all other Boost libraries. They are not part of Boost.Build itself, which works fine without those files.
They are like the individual Jamfile{.v2} which are needed to build and test the libraries.
Would it be possible to move them there, and leave only minimal forwarding shims (that would never need to change) in the superproject?
There are where they belong. They define some important things like global version number, build directories etc. pp. which are common to all Boost libraries.
I was in the middle of replying to say essentially the same :-) So.. +1. -- -- Rene Rivera -- Grafik - Don't Assume Anything -- Robot Dreams - http://robot-dreams.net -- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail
JürgenHunold wrote:
Am Mittwoch, 31. Dezember 2014, 17:35:18 schrieb Peter Dimov:
Currently, the Boost root contains the following files:
boost-build.jam boostcpp.jam boostcpp.py bootstrap.bat bootstrap.sh Jamroot
which are part of Boost.Build and so their rightful place is in the submodule.
No, they are needed to _build_ all other Boost libraries. They are not part of Boost.Build itself, which works fine without those files.
I understand the distinction, in principle, between Boost.Build as a general build system and Boost.Build as what builds Boost, and from such a point of view, I'm sure you're right. But in practice, I think that these two parts (a) are tightly coupled and need to be updated in lockstep and (b) are maintained by the same people at the same time. So from a physical organization point of view, they seem the same module to me.
To expand on why the files are there...
On Wed, Dec 31, 2014 at 10:06 AM, Peter Dimov
JürgenHunold wrote:
Am Mittwoch, 31. Dezember 2014, 17:35:18 schrieb Peter Dimov:
Currently, the Boost root contains the following files:
boost-build.jam
Can't move. This is required to be at the root as it tells the b2 executable where the BBv2 sources are.
boostcpp.jam
boostcpp.py
They could possible move. But it's not desirable to put them in the BBv2 sources as it's project specific. They could possible move to some other place in the Boost hierarchy.
bootstrap.bat
bootstrap.sh
Could move.. But these are the *frontline* files that *only* Boost users see when first building. They contain Boost only options, like ICU flags and such. You would have to find a place to put them. Say, the same place you move the boostcpp.* files. And adjust documentation to point users to the new location to run.
Jamroot
Can't move. This is *THE* Boost Libraries root build file. It has to be at the top level (in similar fashion to boost-build.jam).
which are part of Boost.Build and so their rightful place is in the > submodule.
No, they are needed to _build_ all other Boost libraries. They are not part of Boost.Build itself, which works fine without those files.
I understand the distinction, in principle, between Boost.Build as a general build system and Boost.Build as what builds Boost, and from such a point of view, I'm sure you're right.
But in practice, I think that these two parts (a) are tightly coupled and need to be updated in lockstep and (b) are maintained by the same people at the same time.
Actually they are rarely updated in lockstep. Most times the BBv2 sources change more frequently than the Boost root build files. These root files usually only change to update the Boost version number. And more rarely to adjust for new libraries. Which you can tell from the revision history. Most recent changes are a few months ago for updating the version number and some doc links. Before that some of them are years old :-) So.. Hooray for stability ;-) So from a physical organization point of view, they seem the same module to
me.
Hope the above explanations help as to why it's likely better to leave them :-) -- -- Rene Rivera -- Grafik - Don't Assume Anything -- Robot Dreams - http://robot-dreams.net -- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail
Rene Rivera wrote:
Jamroot
Can't move. This is *THE* Boost Libraries root build file. It has to be at the top level (in similar fashion to boost-build.jam).
Yes, of course. What I had in mind was to replace it with something like include tools/build/boost-jamroot.jam ; (or whatever the proper syntax is) for example. But I see that those path-constant BOOST_ROOT : . ; constant BOOST_VERSION : 1.58.0 ; constant BOOST_JAMROOT_MODULE : $(__name__) ; might still need to be a part of it.
participants (3)
-
Jürgen Hunold
-
Peter Dimov
-
Rene Rivera