[Scons-users] Shared Versioned Library - SONAME

Russell, J.J. russell at slac.stanford.edu
Wed May 14 13:24:27 EDT 2014


I work in a cross-development environment where we were forced to write our own dynamic linker. The linker almost follows the rules/conventions of a POSIX complaint shareable. However, due to a design decision which I cannot change (or defend), the SONAME looks slightly different (i.e. soname = <some_string>:libfoo.so.1 instead of just libfoo.so.1).

I thought I could just modified/augment the method that composes the soname, but was thwarted when I discovered that the environment being passed in is a bare-bones environment (I think it is referred to as the override environment), not the originating environment of the env.SharedLibrary builder, which is where I had planned on stashing this augmenting information.

1) Do you have any suggestions on how to proceed? (Perhaps the original environment can be referenced through this env in a way I missed?)
2) What is the best way to add a new PLATFORM to the list in VersionedSharedLibrary? (So far, by using various SCons hooks and Python techniques, I have avoided modifying any SCons source code and would like to keep continue to do so.)
3) Bonus question. Why can I set a break using pdb in an SConscript file, but it is never honored?

It seems a shame to have to reinvent/reproduce 95% of the existing mechanism to travel that last 5%, but if that is the only path...

JJRussell



Dr. James J. Russell
Stanford Linear Accelerator Center
650-926-2583
russell at slac.stanford.edu



More information about the Scons-users mailing list