diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-01-08 21:59:07 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-01-08 21:59:07 -0600 |
commit | 2ae2f3f719ab9316eb2addef265c78ab81327516 (patch) | |
tree | 58511ab39204ff6a35f45f892cf3510c9aba0174 | |
parent | e9c23befee596e80f840ff9a1a1a3b849972f211 (diff) | |
download | tqt3-2ae2f3f719ab9316eb2addef265c78ab81327516.tar.gz tqt3-2ae2f3f719ab9316eb2addef265c78ab81327516.zip |
Update tqt3 to support gcc visibility
This closes Bug 696
-rwxr-xr-x | configure | 1 | ||||
-rw-r--r-- | mkspecs/linux-g++/qmake.conf | 2 | ||||
-rw-r--r-- | src/kernel/qapplication_x11.cpp | 4 | ||||
-rw-r--r-- | src/kernel/qgplugin.h | 36 | ||||
-rw-r--r-- | src/kernel/qtextengine_p.h | 2 | ||||
-rw-r--r-- | src/tools/qglobal.h | 4 | ||||
-rw-r--r-- | tools/designer/shared/domtool.h | 2 | ||||
-rw-r--r-- | tools/designer/uilib/qwidgetfactory.cpp | 6 | ||||
-rw-r--r-- | tools/designer/uilib/qwidgetfactory.h | 2 |
9 files changed, 24 insertions, 35 deletions
@@ -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 cac70f782..037bcd968 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 54c91f48d..5011351b3 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( TQWidget *widget ) } -bool qt_try_modal( TQWidget *widget, XEvent *event ) +Q_EXPORT bool qt_try_modal( TQWidget *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 36ecd3ea0..354122bca 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) TQUnknownInterface* \ - __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) TQUnknownInterface* 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 TQUnknownInterface* ucm_instantiate() \ + Q_EXTERN_C Q_EXPORT TQUnknownInterface* Q_STDCALL ucm_instantiate() \ Q_PLUGIN_INSTANTIATE( PLUGIN ) -# endif - #endif struct TQUnknownInterface; diff --git a/src/kernel/qtextengine_p.h b/src/kernel/qtextengine_p.h index a50ce901b..4858672c5 100644 --- a/src/kernel/qtextengine_p.h +++ b/src/kernel/qtextengine_p.h @@ -292,7 +292,7 @@ private: class TQFontPrivate; -class TQTextEngine { +class Q_EXPORT TQTextEngine { public: TQTextEngine( const TQString &str, TQFontPrivate *f ); ~TQTextEngine(); diff --git a/src/tools/qglobal.h b/src/tools/qglobal.h index cf0e1e440..74dab69e6 100644 --- a/src/tools/qglobal.h +++ b/src/tools/qglobal.h @@ -887,6 +887,10 @@ class TQDataStream; # 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 5f9211b6f..e8f38b3f8 100644 --- a/tools/designer/shared/domtool.h +++ b/tools/designer/shared/domtool.h @@ -40,7 +40,7 @@ class TQDomElement; class TQDomDocument; -class DomTool : public TQt +class Q_EXPORT DomTool : public TQt { public: static TQVariant readProperty( const TQDomElement& e, const TQString& name, const TQVariant& defValue ); diff --git a/tools/designer/uilib/qwidgetfactory.cpp b/tools/designer/uilib/qwidgetfactory.cpp index fcd1bf2d1..ef143d46f 100644 --- a/tools/designer/uilib/qwidgetfactory.cpp +++ b/tools/designer/uilib/qwidgetfactory.cpp @@ -120,13 +120,13 @@ static TQPluginManager<WidgetInterface> *widgetInterfaceManager = 0; static TQMap<TQString, bool> *availableWidgetMap = 0; static TQStringList *availableWidgetList = 0; -TQMap<TQWidget*, TQString> *qwf_forms = 0; +Q_EXPORT TQMap<TQWidget*, TQString> *qwf_forms = 0; TQString *qwf_language = 0; -bool qwf_execute_code = TRUE; +Q_EXPORT bool qwf_execute_code = TRUE; bool qwf_stays_on_top = FALSE; TQString qwf_currFileName = ""; TQObject *qwf_form_object = 0; -TQString *qwf_plugin_dir = 0; +Q_EXPORT TQString *qwf_plugin_dir = 0; static void setupPluginDir() { diff --git a/tools/designer/uilib/qwidgetfactory.h b/tools/designer/uilib/qwidgetfactory.h index d58e9e147..bd39623e3 100644 --- a/tools/designer/uilib/qwidgetfactory.h +++ b/tools/designer/uilib/qwidgetfactory.h @@ -55,7 +55,7 @@ class TQWidget; class TQWidgetFactoryPrivate; class UibStrTable; -class TQWidgetFactory +class Q_EXPORT TQWidgetFactory { public: TQWidgetFactory(); |