Dear All,
I am currently trying to create a shared library using
boost-build with version naming so that ldconfig will automatically
create the necessary symbolic links after installation. Normally, the
[gcc] command line for this is something similar to the following.
gcc -shared -Wl,-h,libstuff.so.0 -o libstuff.so.0.0 stuff.o -lc
whereby
a shared library called libstuff.so.0.0 will be created and then when
ldconfig is executed (with appropriate path setup), the symbolic link
libstuff.so.0 will be created which points to the libstuff.so.0.0 file.
Using
boost-build, I have created a tag rule which modifies the name of the
shared library (type SHARED_LIB) to include the version number which
correctly modifies the soname to the name returned from the rule (with
major version number). The resulting command line is as follows:
"g++" -o "bin/gcc-4.1.1/release/libstuff.so.0" -Wl,-h
-Wl,libstuff.so.0 -shared -Wl,--start-group
"bin/gcc-4.1.1/release/stuff.o" -Wl,--end-group -Wl,--strip-all
However,
as seen above, it also modifies the object name to the same value.
What I need is to modify the object name to a different value (with the
major and minor version numbers). The desired command line is as
follows:
"g++" -o "bin/gcc-4.1.1/release/libstuff.so.0.0" -Wl,-h
-Wl,libstuff.so.0 -shared -Wl,--start-group
"bin/gcc-4.1.1/release/stuff.o" -Wl,--end-group -Wl,--strip-all
Does anybody know how I achieve this with boost-build?
Any help would be appreciated.
Regards,
Anthony