[Scons-users] SHLIBVERSION questions

Paweł Tomulik ptomulik at meil.pw.edu.pl
Fri Jun 5 09:07:15 EDT 2015


I have this simple sconstruct:

env = Environment()
tgt = env.SharedLibrary('test', ['test.cpp'], SHLIBVERSION='0.1.0')
print tgt

I observed, that the linking command is invoked each time I run scons,
which is wrong:

ptomulik at barakus:$ scons -Q
['libtest.so.0.1.0']
g++ -o libtest.so.0.1.0 -shared -Wl,-Bsymbolic -Wl,-soname=libtest.so.0
test.os
ptomulik at barakus:$ scons -Q
['libtest.so.0.1.0']
g++ -o libtest.so.0.1.0 -shared -Wl,-Bsymbolic -Wl,-soname=libtest.so.0
test.os

debug=explain shows this:

ptomulik at barakus:$ scons -Q --debug=explain
['libtest.so.0.1.0']
scons: rebuilding `libtest.so.0.1.0' because the contents of the build
action changed
               action: SharedFlagChecker(target, source, env)
                       VersionedSharedLibrary(target, source, env)
g++ -o libtest.so.0.1.0 -shared -Wl,-Bsymbolic -Wl,-soname=libtest.so.0
test.os


Is it something already known, or shall I submit a bug?

Anyway, the SharedLibrary builder creates symlinks, but they do not
appear in the function result (tgt contains only the library). Is this a
bug or a feature? How can I guess what are the nodes produced by the
builder?

-- 
Pawel Tomulik


More information about the Scons-users mailing list