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 -~----------~----~----~----~------~----~------~--~---
