[Scons-dev] Versioned libraries: non-standard sonames

Gary Oberbrunner garyo at oberbrunner.com
Wed Jan 8 14:03:25 EST 2014


On Wed, Jan 8, 2014 at 9:52 AM, David García Garzón <david.garcia at upf.edu>wrote:


> Yep, i am doing such a suggestion. Well documented should not be a big

> issue.

>

> But the variable i am refering to, SOVERSION is one that i introduced in

> a previous mail. I was proposing to rename it as ABIVERSION because the

> SOVERSION refers to ELF platform, while ABIVERSION refers to the more

> wide concept of ABI compatibility.

>

> So, repeating again, we should add this flag:

>

> -Wl,-soname="$SONAME"

>

> And then defining SONAME by default as something like:

>

> env["SONAME"]="$SHLIBPREFIX$TARGET$SHLIBSUFFIX.$ABIVERSION"

> env["ABIVERSION"]="${'.'.join(SHLIBVERSION.split('.')[:ABIVERSIONLEVELS])}"

> env["ABIVERSIONLEVELS"]=1

>

>

This is generally good. We're already generating the -Wl,-soname arg in
VersionedSharedLibrary (except for OpenBSD), so this just gives an escape
hatch for users to set it to something else.

Actually I'm not sure ABIVERSION and ABIVERSIONLEVELS are really needed;
the default value for SONAME can just contain the ${...} expression
directly. If users want to override SONAME they can set that to whatever
they want, e.g. "$SHLIBPREFIX$TARGET$SHLIBSUFFIX.99". What do you think
about that? It seems simpler to me.



> I am still scratching at the mac osx documentation to understand how ABI

> compatibility works in that platform because for what i read, neither

> the actual SCons code nor the one i had in my project handle that right.

>


OK, that sounds like a different patch perhaps, but a welcome one.

--
Gary
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://two.pairlist.net/pipermail/scons-dev/attachments/20140108/6297aed7/attachment.htm>


More information about the Scons-dev mailing list