On Tue, 30 Jan 2007 08:41:56 +0100 Luca Barbato <[EMAIL PROTECTED]>
wrote:
| Ciaran McCreesh wrote:
| > On Tue, 30 Jan 2007 08:30:40 +0100 Luca Barbato <[EMAIL PROTECTED]>
| > wrote:
| > | Ciaran McCreesh wrote:
| > | > What is the best way to handle packages that require parts of
| > | > tr1? The options appear to be:
| > | 
| > | * have the application bundle a static implementation and switch
| > | to system on at configure time as done for other libs?
| > 
| > At something like five megs of code per application?
| 
| fine by me. (5mb if you use everything, less if you use just certain
| bits I hope)

If you're using boost as your source (pretty much the only way that
doesn't involve either paying money or only supporting compilers that
already ship tr1 anyway), pulling in even a little bit of the library
will almost certainly require a large chunk of boost. For example, to
use just the shared_ptr code, bcp says you need:

* boost.config (250KBytes)
* the boost preprocessor library (2MBytes)
* the boost type traits library (670KBytes)
* the boost metaprogramming library (200KBytes)
* various other random smaller things

bringing it up to 3.3MBytes of code, about 3.2MBytes of which is
compiler bug workarounds and boost-review-process-induced mutual
masturbation.

The entire <tr1/memory> implementation that's shipped with g++-4.1,
meanwhile, is something like 30KBytes. Unfortunately it only works
g++-4.1, so it's no use for bundling as part of an application.

-- 
Ciaran McCreesh
Mail                                : ciaranm at ciaranm.org
Web                                 : http://ciaranm.org/
Paludis, the secure package manager : http://paludis.pioto.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to