Date: Fri, 3 Apr 2009 17:32:29 +0400 From: Alexander Churanov <alexanderchuranov@gmail.com> To: Dmitry Marakasov <amdmi3@amdmi3.ru> Cc: ports@freebsd.org, Jeremy Messenger <mezz7@cox.net>, lwhsu@freebsd.org Subject: Re: Status of devel/boost upgrade Message-ID: <3cb459ed0904030632x215f1e3n25363903a80b5639@mail.gmail.com> In-Reply-To: <20090402224413.GV1964@hades.panopticon> References: <3cb459ed0903270809s2da0fce7i66686a176d369931@mail.gmail.com> <20090331230246.GN1964@hades.panopticon> <op.urotvvn79aq2h7@localhost> <20090401113857.GO1964@hades.panopticon> <3cb459ed0904020821u3051c572l6461274ae7ff118b@mail.gmail.com> <20090402224413.GV1964@hades.panopticon>
next in thread | previous in thread | raw e-mail | index | archive | help
2009/4/3 Dmitry Marakasov <amdmi3@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3cb459ed0904030632x215f1e3n25363903a80b5639>