On 27/07/2012 15:24, Floren Munteanu wrote: > On Friday, July 27, 2012 9:16:12 AM UTC-4, kapouer wrote: > > do you use the right flags ? > here are the ones used in the debian package : > library=shared snapshot=off soname_version=3.11.10 > > > Ya Jeremy, except I use soname_version=3 > If I use 3.11.10, the compiler will produce: > ... libstdc++.so.6(GLIBCXX_3.4)(64bit) *libv8.so.3.11.10 *()(64bit) ... > instead of: > ... libstdc++.so.6(GLIBCXX_3.4)(64bit) *libv8.so.3 *()(64bit) ... > > I'm used to see the the major version only, in each library. What do you > recommend? > I checked other packages and they all use scons.
That is precisely i've been trying to explain : if you use a soname version of just "3", it assumes all versions of libv8 starting with a 3 are API and ABI compatible. Since this is clearly a false statement, you will have to bump your soname for each new major.minor branch (approximately). At the end, you have libv8.so.78 for v8 version 3.20.15, which is not clear. Instead, i propose you use a soname version built upon the fact that (up until now) the versions between 3.11.10.1 and 3.11.10.17 are API/ABI compatible : 3.11.10. Also note that if you don't version soname in accordance with API changes or ABI incompatibilities, other packages depending on yours will not know why they suddenly break : a program using libv8.so.3 will need to be recompiled (at best) if you update libv8.so.3 to an ABI/API incompatible version. For example, in debian (well it didn't got into wheezy, but anyway it's planned) we're going to use : SONAME : libv8.so.3.10.8 /usr/lib/libv8.so.3.10.8 /usr/lib/libv8.so -> libv8.so.3.10.8 (provided by libv8-dev) Is that clear ? Jérémy. -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
