Comment #4 on issue 151 by [email protected]: Add a soname to the V8  
shared library
http://code.google.com/p/v8/issues/detail?id=151

My suggestion is to include the full V8 version name in the soname to  
indicate that
the API might change between each single V8 version. The main reason for  
this is as
the V8 interface is a C++ interface it can be difficult to know when the  
actual
interface changes. As C++ is used parts of the interface will be compiled  
into the
client application e.g. for template expansion and inline functions.

The SCons build for V8 will have an additional option 'soname=on' for  
building a
shared object with an soname. When that option is specified the filename  
for the
shared object will contain the version number, and the soname will be the  
same. E.g
V8 version 1.2.3 will be called libv8-1.2.3.so with an soname of  
libv8-1.2.3.so.

When a stable branch of V8 from some version is created we could change  
this scheme
so that when building from a stable branch an soname of e.g. libv8.so.1  
will be used,
and binary compatibility will then be ensured on that branch as long as the  
soname
stays the same. The current 1.1 branch might be a candidate for the first  
stable
shared library.

This requires some form of testing to ensure that this holds. One way to do  
that will
be to build a shell (either the sample shell or the developer shell) using  
the first
revision with a certain soname and then building the latest V8 shared  
object with the
same soname and runn all the tests using the shell and the later shared  
object.

This is perhaps not the optimal solution, but adding a fixed soname across  
several
versions will require binary compatibility testing and adhering to strict  
rules when
making changes to the API.

Changelist http://codereview.chromium.org/100104 patch set 3 implements  
this (without
the stable branch soname).

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to