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/
signature.asc
Description: PGP signature