summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure1
-rw-r--r--mkspecs/linux-g++/qmake.conf2
-rw-r--r--src/kernel/qapplication_x11.cpp4
-rw-r--r--src/kernel/qgplugin.h36
-rw-r--r--src/kernel/qtextengine_p.h2
-rw-r--r--src/tools/qglobal.h4
-rw-r--r--tools/designer/shared/domtool.h2
-rw-r--r--tools/designer/uilib/qwidgetfactory.cpp6
-rw-r--r--tools/designer/uilib/qwidgetfactory.h2
9 files changed, 24 insertions, 35 deletions
diff --git a/configure b/configure
index 466d000..2dc3f31 100755
--- a/configure
+++ b/configure
@@ -1080,6 +1080,7 @@ done
[ -d $outpath/src/tools ] || mkdir -p $outpath/src/tools
cat > $outpath/src/tools/qconfig.cpp.new <<EOF
/* Install paths from configure */
+#include "qglobal.h"
static const char QT_INSTALL_PREFIX [267] = "qt_nstpath=$QT_INSTALL_PREFIX";
static const char QT_INSTALL_BINS [267] = "qt_binpath=$QT_INSTALL_BINS";
diff --git a/mkspecs/linux-g++/qmake.conf b/mkspecs/linux-g++/qmake.conf
index 24c2ec7..64caaeb 100644
--- a/mkspecs/linux-g++/qmake.conf
+++ b/mkspecs/linux-g++/qmake.conf
@@ -16,7 +16,7 @@ QMAKE_YACCFLAGS = -d
QMAKE_YACCFLAGS_MANGLE = -p $base -b $base
QMAKE_YACC_HEADER = $base.tab.h
QMAKE_YACC_SOURCE = $base.tab.c
-QMAKE_CFLAGS = -pipe -g
+QMAKE_CFLAGS = -pipe -g -fvisibility=hidden -fvisibility-inlines-hidden
QMAKE_CFLAGS_DEPS = -M
QMAKE_CFLAGS_WARN_ON = -Wall -W
QMAKE_CFLAGS_WARN_OFF = -w
diff --git a/src/kernel/qapplication_x11.cpp b/src/kernel/qapplication_x11.cpp
index 8eecdb4..4553fdf 100644
--- a/src/kernel/qapplication_x11.cpp
+++ b/src/kernel/qapplication_x11.cpp
@@ -337,7 +337,7 @@ static long qt_mode_switch_remove_mask = 0;
// flags for extensions for special Languages, currently only for RTL languages
static bool qt_use_rtl_extensions = FALSE;
-bool qt_hebrew_keyboard_hack = FALSE;
+Q_EXPORT bool qt_hebrew_keyboard_hack = FALSE;
static Window mouseActWindow = 0; // window where mouse is
static int mouseButtonPressed = 0; // last mouse button pressed
@@ -3851,7 +3851,7 @@ void qt_leave_modal( QWidget *widget )
}
-bool qt_try_modal( QWidget *widget, XEvent *event )
+Q_EXPORT bool qt_try_modal( QWidget *widget, XEvent *event )
{
if (qt_xdnd_dragging) {
// allow mouse events while DnD is active
diff --git a/src/kernel/qgplugin.h b/src/kernel/qgplugin.h
index 3fa4493..ba0914b 100644
--- a/src/kernel/qgplugin.h
+++ b/src/kernel/qgplugin.h
@@ -93,35 +93,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;
diff --git a/src/kernel/qtextengine_p.h b/src/kernel/qtextengine_p.h
index df7a79f..0bd5cd2 100644
--- a/src/kernel/qtextengine_p.h
+++ b/src/kernel/qtextengine_p.h
@@ -292,7 +292,7 @@ private:
class QFontPrivate;
-class QTextEngine {
+class Q_EXPORT QTextEngine {
public:
QTextEngine( const QString &str, QFontPrivate *f );
~QTextEngine();
diff --git a/src/tools/qglobal.h b/src/tools/qglobal.h
index 135c289..0fbd4aa 100644
--- a/src/tools/qglobal.h
+++ b/src/tools/qglobal.h
@@ -885,6 +885,10 @@ class QDataStream;
# 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
diff --git a/tools/designer/shared/domtool.h b/tools/designer/shared/domtool.h
index 4fa561c..15e508d 100644
--- a/tools/designer/shared/domtool.h
+++ b/tools/designer/shared/domtool.h
@@ -40,7 +40,7 @@
class QDomElement;
class QDomDocument;
-class DomTool : public Qt
+class Q_EXPORT DomTool : public Qt
{
public:
static QVariant readProperty( const QDomElement& e, const QString& name, const QVariant& defValue );
diff --git a/tools/designer/uilib/qwidgetfactory.cpp b/tools/designer/uilib/qwidgetfactory.cpp
index a1ff1c2..b7fc6e9 100644
--- a/tools/designer/uilib/qwidgetfactory.cpp
+++ b/tools/designer/uilib/qwidgetfactory.cpp
@@ -120,13 +120,13 @@ static QPluginManager<WidgetInterface> *widgetInterfaceManager = 0;
static QMap<QString, bool> *availableWidgetMap = 0;
static QStringList *availableWidgetList = 0;
-QMap<QWidget*, QString> *qwf_forms = 0;
+Q_EXPORT QMap<QWidget*, QString> *qwf_forms = 0;
QString *qwf_language = 0;
-bool qwf_execute_code = TRUE;
+Q_EXPORT bool qwf_execute_code = TRUE;
bool qwf_stays_on_top = FALSE;
QString qwf_currFileName = "";
QObject *qwf_form_object = 0;
-QString *qwf_plugin_dir = 0;
+Q_EXPORT QString *qwf_plugin_dir = 0;
static void setupPluginDir()
{
diff --git a/tools/designer/uilib/qwidgetfactory.h b/tools/designer/uilib/qwidgetfactory.h
index daf5db6..220ab27 100644
--- a/tools/designer/uilib/qwidgetfactory.h
+++ b/tools/designer/uilib/qwidgetfactory.h
@@ -55,7 +55,7 @@ class QWidget;
class QWidgetFactoryPrivate;
class UibStrTable;
-class QWidgetFactory
+class Q_EXPORT QWidgetFactory
{
public:
QWidgetFactory();