On 18 Sep 2014 at 12:05, Stephen Kelly wrote:
Oh now I see what you're saying. You're saying that the git submodule boost.thread should be separately downloadable as boost-thread.zip right?
I am asking if that is a goal or a non-goal.
For the whole Boost org, I don't think anybody knows, and even if they did, it ain't happening without a huge investment of time. There are vague statements of "wouldn't it be nice", but that isn't "boots on the ground" as it were. Individual library maintainers have much stronger opinions. For example, ASIO has been capable of standalone for a long time now. I predict many more Boost libraries will become capable of standalone too in the next few years, because no C++ 11/14 library wants to force all of Boost onto its users if it expects to get any users. Especially as STLs are pretty good now, and that makes using Boost for the same facilities redundant.
Include paths are straightforward. My tool replicates the boost header structure into a faked boost/* directory include structure, so you simply use a different -Ipath and you're good to go.
Let's say I want to use boostfoo and boostbar which you make available as standalone libraries in boostfoo.git and boostbar.git and I want to use both of them in myproj, which also uses git.
So, you say the steps are:
1) I add boostfoo.git and boostbar.git as submodules to myproj.git 2) I run some tool to create a faked boost/ directory 3) I add -Ipath to my buildsystem for that faked boost directory.
So, I need the tool at step 2, right? And when I also need boostflub.git I need to run it again? Or are you instead saying that the steps are
1) I add boostfoo.git and boostbar.git as submodules to myproj.git 2) I add -Ipath/foo and -Ipath/bar to my buildsystem
In other words "the user will be responsible for adding the individual - Ifoo/include paths?" as I wrote before?
Yes, the latter. Or, seeing as we know they are submodules, you could simply include the headers explicitly in your source code. I am hoping that because no build system is needed, we need to neither force nor require any build system on the users. Or unit test system for that matter. By standalone, I really mean standalone. Each standalone library has its own faked boost headers suitable for it, but these shouldn't spill outwards thanks to namespacing. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/