2009/4/3 Dmitry Marakasov <amd...@amdmi3.ru>:
> Not sure if splitting it into many small libraries is a good idea. How
> many are there, btw? Is it a port per libboost_*so, or per
> include/boost/* ?

Neither. Per the list of libraries: http://www.boost.org/doc/libs/1_38_0

There are 95 libraries in boost.

Those that do not require compilation go into "source-libs" port:
Accumulators, Any, Array, Asio, Assign, Bimap, Bind, Call Traits,
Circular Buffer, Compatibility, Compressed Pair, Concept Check,
Config, Conversion, CRC, Disjoint Sets, Dynamic Bitset, Enable If,
Exception, Flyweight, Foreach, Format, Function, Function Types,
Functional, Functional/Hash, Fusion, GIL, In Place Factory,  Typed In
Place Factory, Integer, Interprocess, Interval, Intrusive, IO State
Savers, Iterators, Lambda, Math, Math Common Factor, Math Octonion,
Math Quaternion, Math/Statistical Distributions, Member Function,
Min-Max, MPL, Multi-Array, Multi-Index, Numeric Conversion, Operators,
Optional, Parameter, Pointer Container, Pool, Preprocessor, Property
Map, Proto, Random, Range, Rational, Ref, Scope Exit, Smart Ptr,
Spirit, Statechart, Static Assert, String Algo, Swap, Timer,
Tokenizer, TR1, Tribool, Tuple, Type Traits, Typeof, uBLAS, Units,
Unordered, Utility, Value Initialized, Variant, Xpressive

Others, that require compilation go into "shared-libs" port:
Date Time, Filesystem, Graph, Iostreams, Math/Special Functions, MPI,
Program Options, Python, Regex, Serialization, Signals, System, Test,
Thread, Wave

> Also splitting shared libs and source libs is a strange idea - there
> will be confusion on which port does specific library belong and it
> seems very likely that most boost-using ports will depend on both
> ports.

Let me explain that:
Boost has source-only libraries and separately-compiled libraries.
Source-only libraries consist of header files only and do not require
any compilation at all. Separately-compiled libraries consist of BOTH
header files and shared library objects.

I often use source-libraries only. For example currently in a project
at work  I use "interprocess", "function", "smart ptr". Neither of
them requires compilation. Hence the idea.

I agree that for some users it will be harder to get to know what port
contains certatin library. There are two solutions:

1) Read documentation: the "build & link" in each library description
at http://www.boost.org/doc/libs/1_38_0
2) Explicitly list libraries in port long description

> Boost-python is a must to be split into separate port because it
> has an extra dependency, docs too, because not many people need
> them, bjam, well, because it's a build tool

I agree.

So then the list of options is as follows:

1) "jam", "source-libs", "compiled-libs" (or "shared-libs"),
"python-libs" and "docs"
2) "jam", "libs", "python-libs" and "docs"
3) "jam", "docs" and 95 ports more :-)

I am not against the second option. However I'd like to also read
comments of other boost users.

Sincerely,
Alexander Churanov,
maintainer of devel/boost
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to