libqt3/libqt-3.3.4-qt-visibility.patch

66 lines
2.3 KiB
Diff

Index: src/kernel/qgplugin.h
===================================================================
--- qt-x11-free-3.3.4/src/kernel/qgplugin.h (revision 423270)
+++ qt-x11-free-3.3.4/src/kernel/qgplugin.h (working copy)
@@ -90,35 +90,19 @@
return i->iface(); \
}
-# ifdef Q_WS_WIN
-# ifdef Q_CC_BOR
-# define Q_EXPORT_PLUGIN(PLUGIN) \
- Q_PLUGIN_VERIFICATION_DATA \
- Q_EXTERN_C __declspec(dllexport) \
- const char * __stdcall qt_ucm_query_verification_data() \
- { return qt_ucm_verification_data; } \
- Q_EXTERN_C __declspec(dllexport) QUnknownInterface* \
- __stdcall ucm_instantiate() \
- Q_PLUGIN_INSTANTIATE( PLUGIN )
-# else
-# define Q_EXPORT_PLUGIN(PLUGIN) \
- Q_PLUGIN_VERIFICATION_DATA \
- Q_EXTERN_C __declspec(dllexport) \
- const char *qt_ucm_query_verification_data() \
- { return qt_ucm_verification_data; } \
- Q_EXTERN_C __declspec(dllexport) QUnknownInterface* ucm_instantiate() \
- Q_PLUGIN_INSTANTIATE( PLUGIN )
-# endif
-# else
-# define Q_EXPORT_PLUGIN(PLUGIN) \
+#if defined(Q_WS_WIN) && defined(Q_CC_BOR)
+# define Q_STDCALL __stdcall
+#else
+# define Q_STDCALL
+#endif
+
+#define Q_EXPORT_PLUGIN(PLUGIN) \
Q_PLUGIN_VERIFICATION_DATA \
- Q_EXTERN_C \
- const char *qt_ucm_query_verification_data() \
+ Q_EXTERN_C Q_EXPORT \
+ const char * Q_STDCALL qt_ucm_query_verification_data() \
{ return qt_ucm_verification_data; } \
- Q_EXTERN_C QUnknownInterface* ucm_instantiate() \
+ Q_EXTERN_C Q_EXPORT QUnknownInterface* Q_STDCALL ucm_instantiate() \
Q_PLUGIN_INSTANTIATE( PLUGIN )
-# endif
-
#endif
struct QUnknownInterface;
Index: src/tools/qglobal.h
===================================================================
--- qt-x11-free-3.3.4/src/tools/qglobal.h (revision 423270)
+++ qt-x11-free-3.3.4/src/tools/qglobal.h (working copy)
@@ -865,6 +865,10 @@
# define Q_TEMPLATE_EXTERN
# undef Q_DISABLE_COPY /* avoid unresolved externals */
# endif
+#elif defined(Q_CC_GNU) && __GNUC__ - 0 >= 4
+# define Q_EXPORT __attribute__((visibility("default")))
+# undef QT_MAKEDLL /* ignore these for other platforms */
+# undef QT_DLL
#else
# undef QT_MAKEDLL /* ignore these for other platforms */
# undef QT_DLL