...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
As Fiber is not yet officially part of Boost, it is necessary to embed it in an existing Boost source tree.
The downloaded
Fiber library can be placed into an existing Boost source tree by moving
the top-level Fiber directory to libs/fiber
under
the top-level Boost directory, then further moving libs/fiber/include/boost/fiber
(in other words, the Fiber library's include/boost/fiber
directory) to boost/fiber
under
the top-level Boost directory.
On a Posix system such as Linux or OS X, you may use symlinks instead.
Create a symlink from the Boost directory's libs/fiber
to
the top-level Fiber directory, e.g.:
cd ~/boost_1_61_0 ln -s ~/boost-fiber-master libs/fiber
Then create a symlink from the Boost directory's boost/fiber
to
the Fiber library's include/boost/fiber
directory:
cd boost ln -s ../libs/fiber/include/boost/fiber fiber
For some versions of the Boost.Build system, it was important to use a relative
symlink of that form for boost/fiber
.
Once the Fiber library has been overlaid (or symlinked) into the Boost source tree this way, the Boost.Build system can build it like any other Boost library. In particular:
cd ~/boost_1_61_0 ./bootstrap.sh ./b2 libs/fiber/test
On Windows, the commands would look more like:
cd /D %HOMEDRIVE%%HOMEPATH%\boost_1_61_0 bootstrap b2 libs\fiber\test