summaryrefslogtreecommitdiffstats
path: root/src/corelib/plugin/qplugin.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2012-06-02 05:42:13 +0200
committerQt by Nokia <qt-info@nokia.com>2012-06-06 02:02:49 +0200
commit7443895857fdaee132c8efc643e471f02b3d0fa4 (patch)
tree9a812815651552e361fd032946f2bfe1144ad9c5 /src/corelib/plugin/qplugin.h
parent9ca509676f3e7a4c19aded98c59990a779a4a052 (diff)
Remove support for Qt 4 style plugins
The new plugin format allows us to avoid loading the plugins in all cases. Remove the old format, as we could get bad behavior with the old format if Qt would try to dlopen a Qt 4.x plugin. Change-Id: I2193e6874d6cca3c0b12298c2b9beb4105a42fd5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/corelib/plugin/qplugin.h')
-rw-r--r--src/corelib/plugin/qplugin.h52
1 files changed, 3 insertions, 49 deletions
diff --git a/src/corelib/plugin/qplugin.h b/src/corelib/plugin/qplugin.h
index e31ab5f565..61bd2933ab 100644
--- a/src/corelib/plugin/qplugin.h
+++ b/src/corelib/plugin/qplugin.h
@@ -70,22 +70,15 @@ struct QStaticPlugin
void Q_CORE_EXPORT qRegisterStaticPluginFunction(QStaticPlugin staticPlugin);
#if defined (Q_OF_ELF) && (defined (Q_CC_GNU) || defined(Q_CC_CLANG))
-# define QT_PLUGIN_VERIFICATION_SECTION \
- __attribute__ ((section (".qtplugin"))) __attribute__((used))
# define QT_PLUGIN_METADATA_SECTION \
__attribute__ ((section (".qtmetadata"))) __attribute__((used))
#elif defined(Q_OS_MAC)
// TODO: Implement section parsing on Mac
-# define QT_PLUGIN_VERIFICATION_SECTION \
- __attribute__((section("__TEXT,qtplugin"))) __attribute__((used))
# define QT_PLUGIN_METADATA_SECTION \
__attribute__ ((section ("__TEXT,qtmetadata"))) __attribute__((used))
#elif defined(Q_CC_MSVC)
// TODO: Implement section parsing for MSVC
-#pragma section(".qtplugin",read,shared)
#pragma section(".qtmetadata",read,shared)
-# define QT_PLUGIN_VERIFICATION_SECTION \
- __declspec(allocate(".qtplugin"))
# define QT_PLUGIN_METADATA_SECTION \
__declspec(allocate(".qtmetadata"))
#else
@@ -137,51 +130,12 @@ void Q_CORE_EXPORT qRegisterStaticPluginFunction(QStaticPlugin staticPlugin);
#define Q_EXPORT_PLUGIN(PLUGIN) \
Q_EXPORT_PLUGIN2(PLUGIN, PLUGIN)
-#define Q_EXPORT_STATIC_PLUGIN(PLUGIN)
-#define Q_EXPORT_STATIC_PLUGIN2(PLUGIN, PLUGINCLASS)
-
-#if defined(QT_STATICPLUGIN)
-
-# define Q_EXPORT_PLUGIN2(PLUGIN, PLUGINCLASS) \
- static QT_PREPEND_NAMESPACE(QObject) *qt_plugin_instance() \
- Q_PLUGIN_INSTANCE(PLUGINCLASS) \
- const QT_PREPEND_NAMESPACE(QStaticPlugin) qt_static_plugin_##PLUGIN() { \
- QT_PREPEND_NAMESPACE(QStaticPlugin) plugin = { qt_plugin_instance, 0 }; \
- return plugin; \
- }
-
-#else
-// NOTE: if you change pattern, you MUST change the pattern in
-// qlibrary.cpp as well. changing the pattern will break all
-// backwards compatibility as well (no old plugins will be loaded).
-# ifdef QPLUGIN_DEBUG_STR
-# undef QPLUGIN_DEBUG_STR
-# endif
-# ifdef QT_NO_DEBUG
-# define QPLUGIN_DEBUG_STR "false"
-# define QPLUGIN_SECTION_DEBUG_STR ""
-# else
-# define QPLUGIN_DEBUG_STR "true"
-# define QPLUGIN_SECTION_DEBUG_STR ".debug"
-# endif
-# define Q_PLUGIN_VERIFICATION_DATA \
- static const char qt_plugin_verification_data[] = \
- "pattern=" "QT_PLUGIN_VERIFICATION_DATA" "\n" \
- "version=" QT_VERSION_STR "\n" \
- "debug=" QPLUGIN_DEBUG_STR;
-
-
# define Q_EXPORT_PLUGIN2(PLUGIN, PLUGINCLASS) \
- QT_PLUGIN_VERIFICATION_SECTION Q_PLUGIN_VERIFICATION_DATA \
- Q_EXTERN_C Q_DECL_EXPORT \
- const char * qt_plugin_query_verification_data() \
- { return qt_plugin_verification_data; } \
- Q_EXTERN_C Q_DECL_EXPORT QT_PREPEND_NAMESPACE(QObject) * qt_plugin_instance() \
- Q_PLUGIN_INSTANCE(PLUGINCLASS)
+ Q_STATIC_ASSERT_X(false, "Old plugin system used")
-# define Q_EXPORT_STATIC_PLUGIN2(PLUGIN, PLUGINCLASS)
+# define Q_EXPORT_STATIC_PLUGIN2(PLUGIN, PLUGINCLASS) \
+ Q_STATIC_ASSERT_X(false, "Old plugin system used")
-#endif
QT_END_NAMESPACE