LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File exclude-qtuitools-symbols-from-public-libraries.patch of Package kdelibs4 (Project KDE:Distro:Factory)

From 87dd1e894da87b871eb86329c35a15e7d235c9a7 Mon Sep 17 00:00:00 2001
From: Hrvoje Senjan <hrvoje.senjan@gmail.com>
Date: Sun, 12 May 2013 16:14:20 +0200
Subject: [PATCH 1/1] Exclude QtUiTools symbols from public libraries

Otherwise it makes users of those libs crash
when linked with -Bsymbolic-functions
---
 kjsembed/kjsembed/CMakeLists.txt | 3 ++-
 kross/modules/CMakeLists.txt     | 3 +++
 kross/qts/CMakeLists.txt | 3 +++
 plasma/CMakeLists.txt            | 3 +++
 4 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/kjsembed/kjsembed/CMakeLists.txt b/kjsembed/kjsembed/CMakeLists.txt
index d70f260..5760313 100644
--- a/kjsembed/kjsembed/CMakeLists.txt
+++ b/kjsembed/kjsembed/CMakeLists.txt
@@ -71,7 +71,8 @@ target_link_libraries(${KJSEMBEDLIBNAME} ${KDE4_KDECORE_LIBS} ${QT_QTUITOOLS_LIB
 set_target_properties(${KJSEMBEDLIBNAME} PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
 install(TARGETS ${KJSEMBEDLIBNAME} EXPORT kdelibsLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS})
 
-
+# Do not export QtUiTools internal symbols
+set_target_properties(${KJSEMBEDLIBNAME} PROPERTIES LINK_FLAGS "-Wl,--exclude-libs -Wl,libQtUiTools.a")
 
 
 
diff --git a/kross/modules/CMakeLists.txt b/kross/modules/CMakeLists.txt
index d245fd8..e21fb4c 100644
--- a/kross/modules/CMakeLists.txt
+++ b/kross/modules/CMakeLists.txt
@@ -15,6 +15,9 @@ if( QT_QTDESIGNER_FOUND )
 
 	target_link_libraries(krossmoduleforms ${QT_QTUITOOLS_LIBRARY} ${KDE4_KPARTS_LIBS} ${KDE4_KFILE_LIBS} krosscore krossui)
 	install(TARGETS krossmoduleforms DESTINATION ${PLUGIN_INSTALL_DIR})
+
+	# Do not export QtUiTools internal symbols
+	set_target_properties(krossmoduleforms PROPERTIES LINK_FLAGS "-Wl,--exclude-libs -Wl,libQtUiTools.a")
 endif( QT_QTDESIGNER_FOUND )
 
 ############################################
diff --git a/plasma/CMakeLists.txt b/plasma/CMakeLists.txt
index 674550d..03c983d 100644
--- a/plasma/CMakeLists.txt
+++ b/plasma/CMakeLists.txt
@@ -282,6 +282,9 @@ target_link_libraries(plasma ${QT_QTUITOOLS_LIBRARY} ${QT_QTWEBKIT_LIBRARY}
                              ${QT_QTSCRIPT_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTSQL_LIBRARY} ${QT_QTDECLARATIVE_LIBRARY}
                              ${KDE4_KDEUI_LIBS} ${KDE4_KDNSSD_LIBS} ${KDE4_THREADWEAVER_LIBS} ${PLASMA_EXTRA_LIBS})
 
+# Do not export QtUiTools internal symbols
+set_target_properties(plasma PROPERTIES LINK_FLAGS "-Wl,--exclude-libs -Wl,libQtUiTools.a")
+
 if(QCA2_FOUND)
    target_link_libraries(plasma ${QCA2_LIBRARIES})
 endif(QCA2_FOUND)
diff --git a/kross/qts/CMakeLists.txt b/kross/qts/CMakeLists.txt
index d8cb4a5..a4aff36 100644
--- a/kross/qts/CMakeLists.txt
+++ b/kross/qts/CMakeLists.txt
@@ -30,3 +30,6 @@ kde4_add_plugin(krossqts ${krossqts_PART_SRCS})
 target_link_libraries(krossqts ${KDE4_KDEUI_LIBS} ${KDE4_KDECORE_LIBS} krosscore ${QT_QTSCRIPT_LIBRARY})
 
 install(TARGETS krossqts DESTINATION ${PLUGIN_INSTALL_DIR})
+
+# Do not export QtUiTools internal symbols
+set_target_properties(krossqts PROPERTIES LINK_FLAGS "-Wl,--exclude-libs -Wl,libQtUiTools.a")
\ No newline at end of file
-- 
1.8.2.2