Subject: [boost] Moving the include directory to $BOOST_ROOT/include? (again)
From: Peter Dimov (lists_at_[hidden])
Date: 2015-05-31 08:30:47


I want to reiterate my suggestion that we move Boost's include directory
from $BOOST_ROOT to $BOOST_ROOT/include.

This has the following benefits:

- it follows the established naming practice,
- it does not make the whole Boost reachable from the include path as it
does now,
- when building Boost, the message given at the end would be

The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    C:\Projects\boost-git\boost\include

The following directory should be added to linker library paths:

    C:\Projects\boost-git\boost\stage\lib

instead of the current

The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    C:\Projects\boost-git\boost

The following directory should be added to linker library paths:

    C:\Projects\boost-git\boost\stage\lib

which is more in line with a user's expectations.

- it's more consistent because it builds the virtual include/ subdirectory
from the contents of the multiple libs/*/include/ subdirectories.

For backward compatibility, "b2 headers" could create a boost/ symlink to
include/boost/. Also for backward compatibility, monolithic releases can
continue to ship the headers in boost/ if moving the directory would be seen
as too disruptive.

Failing acceptance of the above proposal, can we at least use a path
constant (BOOST_INCLUDE?) somewhere in Jamroot or boostcpp.jam that
identifies where the header links are to be placed? Its current contents
would be "." but I would be able to change that to "include" instead of
locating and patching all the places that refer to the include path.