On Sun, Oct 13, 2013 at 6:48 PM, Bjørn Roald <bjorn@4roald.org> wrote:
On 10/13/2013 04:08 PM, Beman Dawes wrote:
I'm trying to test the instructions at
https://svn.boost.org/trac/boost/wiki/TryModBoost

The first three steps work as expected:

   git clone --recursive https://github.com/boostorg/boost.git modular-boost
   cd modular-boost
   .\bootstrap

but this step:

   .\b2 headers

outputs "...found 1 target..." but doesn't create the expected "boost"
directory structure.

Are the instructions not correct?

They are correct if you add the changes in modular-build svn branch.

in svn
svn diff -r r85881:r85973 > ~/modular-build.patch
in git layout
patch -p0 -i ~/modular-build.patch

Had one problem:

D:\modular-boost>patch -p0 -i ../temp/modular-build.patch
patching file libs/python/example/tutorial/Jamroot
patching file libs/python/example/quickstart/Jamroot
patching file libs/python/example/Jamroot
patching file libs/numeric/odeint/examples/vexcl/Jamfile.v2
patching file libs/signals2/example/Jamfile.v2
patching file libs/units/test/Jamfile.v2
patching file libs/parameter/doc/html/index.html
patching file libs/parameter/doc/index.rst
patching file libs/geometry/index/example/Jamfile.v2
patching file libs/predef/test/build.jam
Reversed (or previously applied) patch detected!  Assume -R? [n] n
Apply anyway? [n] n
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file libs/predef/test/build.jam.rej
patching file libs/spirit/example/qi/json/build/Jamfile
patching file tools/regression/build/Jamroot.jam
patching file tools/Jamfile.v2
patching file Jamroot

.\b2 headers then ran, apparently OK. Symlinks created for directories, hard links for files.

Ran tests for system, and then filesystem. All passed. Filesystem depends on many other core boost libraries, so that's a good sign.
 
Hopefully modular-build branch  will soon be committed to trunk and thus be part of the automated git conversion.

The remaining work holding this off is AFAIK related to installation of headers without first doing ".\b2 headers". So this is really not needed as instructions says to do "./b2 headers" explicitly, and subsequent install will work. The explicit call to the "headers" target will eventually become redundant, it is still needed in a few places.

I'd really like to see a commit to trunk ASAP so that developers can experiment without having to apply patches first!
 
Also there may be concern that lack of testing of r85973 which is fixing predef/test build in the modular layout may also hold back the merge.

Please don't hold the merge for that. We need to get on with testing.
 

Remaining issues need not hold off merging to trunk as I don't think they are not breaking anything in SVN. I do not expect problems in SVN layout, but I am not making that call.  I think it is worth the risk of breakage in trunk as we can always pull it out if it gets bad. When trunk testing is OK we have a functioning baseline of Boost.Build for the modular layout.  We can hunt down remaining issues with simply testing in the git clones from the conversion, possibly getting some testers running from the git side.

Sound good!

Thanks,

--Beman