[bind10-dev] dependency on boost runtime libraries
Jelte Jansen
jelte at isc.org
Tue Mar 23 15:56:12 UTC 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
so right now, if I'm not mistaken, we need a runtime libboost for two
specific reasons; asio and python wrappers.
I have said this before, but let me restate; think we should reconsider
this. Either we go all the way or we keep the boost dependency on
header-files only.
In the first option we remove the other TCP implementation from the
sources, and make it a hard dependency. This has the advantage of
getting the other runtime library (libboost-python) for 'free', but we
do rely on an external dependency, even for the core system (as opposed
to, say, the current dependency we have on sqlite3, which is both only
for b10-auth, but in the future even only for one specific datasource
backend, and hopefully even optional within that one, but that is
another discussion).
In this case we should also remove the ext/ directory which contains our
copy of the boost header files. And that is the drawback; IIRC, Boost
does not guarantee compatibility between versions, which was the reason
I added those headers in the first place during the October meeting.
Oh and now that I'm talking about this; we should also not expose boost
in our own API; with that we cannot even guarantee ABI stability between
our own versions.
For the second option, we need to stop using boost::asio, either by
doing network i/o ourselves, or switch to Asio (see
http://think-async.com/Asio/AsioAndBoostAsio, thanks Jeremy), which is
header-file only.
And we need to find a way to wrap our c++ stuff in python without an
external library. I haven't looked into this much, took a quick look a
Swig, but that one also needs a library for c++. What did happen to
Francis' initial work, and what approach was that?
Jelte
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkuo5JwACgkQ4nZCKsdOncXRXwCgrL8YCOPJ+6X/SywCL0NRrqv4
W8kAn0dL3porbyffo1LHLo1xJgIhSA+s
=lZqe
-----END PGP SIGNATURE-----
More information about the bind10-dev
mailing list