On Tue, Sep 13, 2011 at 19:41, Paweł Hajdan, Jr. <[email protected]>wrote:
> On Thu, Sep 8, 2011 at 06:47, Jakob Kummerow <[email protected]>wrote: > >> Update: as of v8 r9196 (will be in version 3.6.2), we have a gyp variable >> called soname_version. Setting that to "1.2.3" (e.g. by calling "make -j16 >> ia32.release library=shared soname_version=1.2.3", or by putting it into >> GYP_DEFINES before manually running gyp) you'll get a >> "out/ia32.release/lib.target/libv8-1.2.3.so". >> > > Excellent, that's perfectly fine. Could you update the shared library > builder ( > http://build.chromium.org/p/client.v8/waterfall?builder=V8%20Linux%20-%20shared) > to: > > 1. Use the gyp build, library=shared > Yeah, we'll need to migrate *all* our builders to use the gyp build. I hope to get around to that soon-ish. > 2. Use soname_version (you can pass something dummy there like 0.0.0 or > parse V8 version.cc file), to make sure it doesn't break. > > >> I know that this is not a perfect solution, but I hope that it's good >> enough. Possible improvements include: >> >> - detect the version number automatically by analyzing src/version.cc. >> I'm not sure whether that would add much value (when a Linux distro >> builds a >> package, it should know the version of the package anyway, Gentoo ebuilds >> do >> for sure), nor whether it's desirable, as it would take away some >> flexibility. >> >> Agreed, it's trivial for Gentoo to pass soname_version="${PV}". That's > fine. > >> >> - change the naming scheme to libv8.so.1.2.3 as is customary for >> libraries. That, however, would require patching GYP to support this >> (which >> I don't feel a particular desire to do). >> >> Ah okay, so the soname_version switch doesn't affect the name of the > resulting library, right? If so, it's fine not to run with soname_version on > the buildbot then. We can handle that on the packaging side, that's fine. > The current limitation in gyp is that the library's filename is always the same as its SONAME. So when you specify soname_version=1.2.3, you'll get "out/<arch>.<mode>/lib.target/libv8-1.2.3.so" that will additionally have its SONAME set to "libv8-1.2.3.so". What I meant is that this naming scheme is not what libraries typically do, and will probably confuse libtool and similar mechanisms. But given the way V8's version numbers work, I guess that's quite acceptable. > > >> I'm happy to include other targets (such as "native"?) into that Makefile. >>> Just tell me what you need, or create a patch yourself and I'll gladly >>> review it. >>> >> > "make native" sounds good. Could you add it? > Sure. Give me a few days. -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
