
Stefan Seefeld wrote:
Pedro LamarĂ£o wrote:
Benjamin Kosnik wrote:
Has any thought been put into releasing multiple split boost packages containing orthogonal functionality (boost.python, boost.wave, boost.serialization, etc.) ? Some. There are some intra-dependencies, and the split would add more complications to an already too-complicated build process IMHO. Ah well. Unfortunately not everybody agrees that boost is not modular enough. I've seen this discussion before, and never saw any proof of concept for
Stefan Seefeld escreveu: this modular release approach.
I'm not sure what you mean by 'proof of concept'. Use cases I have in mind include:
* The ability to install individual components. * The ability to build a dependent component such that prerequisite components may be preinstalled or part of the same tree (say, on my FC6 laptop, I have 'boost.core' and 'boost.graph' rpms installed, and want to compile 'boost.python' from mainline). * The ability to run test suites for components, with all prerequisite components already installed.
I believe that having support for the above would make life for (almost) everyone much easier, since components could be developed, built, tested, and released (oh, and used ! :-) ) more independently.
There's all sorts of things that have already, and can be done. Everyone that wants a smaller boost can use bcp: http://www.boost.org/tools/bcp/bcp.html. bjam can already run tests for individual libs as desired. For the TR1 inclined, John Maddock has created an alpha of a TR1 only distro: http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=189383 On other Linux systems boost is already 'split up'. On my ubuntu system Boost has components for each 'built library', tools, docs, etc. Here's the relevant output of 'apt-get search boost' libboost-dev - Boost C++ Libraries development files libboost-python-dev - Boost.Python Library development files libboost-python1.33.1 - Boost.Python Library bcp - tool for extracting subsets of Boost C++ Libraries bjam - Software build tool boost-build - Build system libboost-date-time-dev - set of date-time libraries based on generic programming concepts libboost-date-time1.33.1 - set of date-time libraries based on generic programming concepts libboost-dbg - Boost C++ Libraries with debug symbols libboost-doc - Boost.org libraries documentation libboost-filesystem-dev - filesystem operations (portable paths, iteration over directories, etc) in C++ libboost-filesystem1.33.1 - filesystem operations (portable paths, iteration over directories, etc) in C++ libboost-graph-dev - generic graph components and algorithms in C++ libboost-graph1.33.1 - generic graph components and algorithms in C++ libboost-iostreams-dev - Boost.Iostreams Library development files libboost-iostreams1.33.1 - Boost.Iostreams Library libboost-program-options-dev - program options library for C++ libboost-program-options1.33.1 - program options library for C++ libboost-regex-dev - regular expression library for C++ libboost-regex1.33.1 - regular expression library for C++ libboost-serialization-dev - serialization library for C++ libboost-signals-dev - managed signals and slots library for C++ libboost-signals1.33.1 - managed signals and slots library for C++ libboost-test-dev - components for writing and executing test suites libboost-test1.33.1 - components for writing and executing test suites libboost-thread-dev - portable C++ multi-threading libboost-thread1.33.1 - portable C++ multi-threading libboost-wave-dev - C99/C++ preprocessor library I'd suggest that the RPM based distros might want to follow the lead of ubuntu if that want smaller granularity boost packages. Jeff