Boost logo

Boost :

Subject: Re: [boost] [githelp] modular boost instructions?
From: Bjørn Roald (bjorn_at_[hidden])
Date: 2013-05-21 01:46:04


On Mon, 2013-05-20 at 22:28 +0000, Richard wrote:

> OK, so still looking for an answer to this question:
>
> What git repo do I clone in order to get the build tools?

I would wait until it is fixed proper or simply copy tools/build files
from latest boost release.

If you have to try out this with git, there is a repository you can
clone. But be warned, some of this is not trivial unless you know git
well. It is also a bit of a mess as the structure in tools/build is
changed in the conversion and the top level scripts are not updated
accordingly. It is still being discussed how to deal with this, and the
structure may change again or change back.

# clone boost
git clone --recursive http://github.com/boostorg/boost
cd boost

Now all should be in place, but as you noted tools/build is missing.
To add tools/build submodule manually in boost repository, you may
create a branch to work on add it.

git checkout -b feature/fix-broken-build
git submodule add http://github.com/boostorg/build tools/build

But as you will see, the cloned tools/build submodule suffers from the
restructure of tools/build into tools/build/build :-(

You could checkout a branch in the submodule and edit the submodule for
your own needs - whatever they are, e.g. setting structure back to
tools/build/v2, not tools/build/build/v2:

cd tools/build
git checkout -b feature/fix-broken-build
git mv build/* .
git commit -m "only tools/build, not tools/build/build"

Then in the boost meta repository you may add the changed build
submodule to index and commit.

cd ../..
git add tools/build
git commit -m "only tools/build, not tools/build/build"

Then later, when you get updates upstream you could rebase your changes
on top of upstream commits from Boost2Git conversion with something
like. Be warned, I suspect you may hit non-trivial possibly confusing
rebase if you try it on the boost meta repository as the conversion
scripts are still adjusted, thus history change all the time - that will
stabilize when the switch is done. So the rebase is simpler if you do
it only in your tools/build submodule to get your changes applied on top
of the latest upstream.

git fetch
git rebase origin/master

hope that helps,

-- 
Bjørn

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk