Testing internal classes
Friedrich W. H. Kossebau
Friedrich.W.H at kossebau.de
Wed May 10 18:27:05 BST 2006
Am Mittwoch, 10. Mai 2006 18:27, schrieben Sie:
> Friedrich W. H. Kossebau wrote:
> >Anyone with an idea if the full symbol table could be made available for
> >linking as convenience lib again?
>
> There was no such thing in convenience libraries
Such thing as? How would convenience lib then be linked in if at this point
symbols were already restricted to the explicit visible ones?
> and if the symbol is
> hidden, it's hidden period. A symbol table won't help.
I surely lack the proper understanding, so please help me here:
I thought the trick with the visibility stuff is that the symbol table gets
reduced to only those which are tagged to be visible.
So if additionally the full symbol table (and inline function data) is still
separatly available (in some section, before stripping) the lib could be also
linked using the intern symbols (whose points they refer to are nevertheless
still there, aren't they?).
> If you want to access it, you have to export it or make it local.
Was in the old build system the visibility flag only used for non-debug
versions? And now it's not? This would give a reason why the same setup
worked with the old build system (auto*), that is for sure :)
Means, I could link even to the to be installed library for tests of internal
classes, see
http://websvn.kde.org/trunk/kdenonbeta/khexedit2/test/lib/Makefile.am?view=markup
LIB_KHEXEDIT = $(top_builddir)/../kdeutils/khexedit/lib/libkhexeditcommon.la
and
testcoord_LDADD = $(LIB_KHEXEDIT) $(LIB_KTEST)
that worked.
Now with
http://websvn.kde.org/trunk/KDE/kdeutils/khexedit/lib/tests/CMakeLists.txt?rev=538648&view=markup
it doesn't, using
target_link_libraries(kbuffercoordtest khexeditcommon ${KDE4_KDECORE_LIBS}
${QT_QTTEST_LIBRARY})
Of course this does not work, since this is using the installed, symbol
reduced library. I copied this (questable) library behaviour from other
tests, as linking to the uninstalled library did not work, as in
$target_link_libraries I did not manage to reference any of the following:
kdeutils/lib/libkhexeditcommon.so.1
kdeutils/lib/libkhexeditcommon.so
kdeutils/lib/libkhexeditcommon.so.1.0.0
kdeutils/khexedit/lib/CMakeFiles/khexeditcommon.dir
kdeutils/khexedit/lib/CMakeFiles/CMakeRelink.dir/libkhexeditcommon.so.1
kdeutils/khexedit/lib/CMakeFiles/CMakeRelink.dir/libkhexeditcommon.so
kdeutils/khexedit/lib/CMakeFiles/CMakeRelink.dir/libkhexeditcommon.so.1.0.0
Someone with the clue what to do best?
Regards
Friedrich
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20060510/c5ba6b9d/attachment.sig>
More information about the kde-core-devel
mailing list