On Mon, 2017-06-19 at 19:32 +0300, Peter Dimov via Boost wrote:
Stefan Seefeld wrote:
I know about these tricks (I use something similar to set up my Boost.Python CI environment), but consider them hacks as they don't really solve the fundamental requests, which are:
* I want to be able to build a given Boost library stand-alone, with nothing but the library's repo being checked out. (In other words: prerequisite Boost components should be assumed pre-installed.)
Why is this so important for you? The difference is just one superproject shell and one tools/build. Is this a matter of principle, or are there technical reasons?
Anyway.
Boost.Build actually supports this use case:
sudo yum install boost-jam sudo yum install boost-build git clone --depth=1 https://github.com/boostorg/python cd python touch Jamroot bjam test
The first error here is
IMPORT error: rule "requires" unknown in module "../../config/checks/config"
because we don't have Boost.Config checked out as a sibling here.
Instead of hard-coding paths to the build modules, it would be nice if it searched for the modules instead, and then it could fallback on the hardcoded paths when the search fails. Ideally, instead of inventing a search algorithm to find the modules, pkgconfig could be used here. So when boost config is installed, the .pc would add a variable that is the location of its bjam files for consumption: prefix=<install-location> bjam_dir=${prefix}/bjam_files Name: boost_config And then you can call `pkg-config boost_config --variable=bjam_dir` and it will give the directory of the bjam modules installed with boost_config.