On Tue, Jun 2, 2015 at 3:39 PM, Rene Rivera
On Tue, Jun 2, 2015 at 3:18 PM, Peter Dimov
wrote: Rene Rivera wrote:
* What I've mentioned as "flattening" of libraries.
Specifically, this means that
1. the headers live in libs/*/include (already implemented) 2. the test Jamfiles live in libs/*/test 3. the build Jamfiles live in libs/*/build
This is _almost_ the case today, and making this an official and enforced policy will not be as disruptive as it seems. The only offenders are (I think) libs/numeric/* and libs/function_types/build.
There's also
4. the documentation root is libs/*/index.html and the documentation lives (as a general rule) in libs/*/doc/html
And.. 5. the source lives in libs/*/src.
The set of libraries that have extraneous files/dirs are roughly: algorithm, align, asio, assert, bind, chrono, compatibility, compute, concept_check, config, container, context, conversion, convert, core, crc, date_time, disjoint_sets, dynamic_bitset, endian, filesystem, format, functional, fusion, geometry, gil, heap, interprocess, intrusive, lexical_cast, locale, log, math, move, mpl, multi_index, multiprecision, numeric, phoenix, polygon, predef (yes my own lib, I know), property_tree, proto, python, random, random, regex, serialization, smart_ptr, sort, spirit, statechart, static_assert, test, thread, tokenizer, type_index, type_traits, typeof, units, unordered, utility, uuid, variant, wave, and xpressive.
PS. The quick search I used is:
cd boost-root ls -d1 libs/*/* | grep -E -v "[/](build|doc|example|include|meta|src|test|index.html|README|README.md|ChangeLog)$"
-- -- Rene Rivera -- Grafik - Don't Assume Anything -- Robot Dreams - http://robot-dreams.net -- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail