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

Reply via email to