Boost logo

Boost :

From: Jeff Garland (jeff_at_[hidden])
Date: 2007-01-26 09:57:37


Stefan Seefeld wrote:
> Pedro Lamarão wrote:
>> Stefan Seefeld escreveu:
>>> 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
>> 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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk