diff options
Diffstat (limited to 'mkspecs/features/qt_module.prf')
-rw-r--r-- | mkspecs/features/qt_module.prf | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index c89b6d2793..10911fa6df 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -42,6 +42,8 @@ host_build { } } +CONFIG += relative_qt_rpath # Qt libraries should be relocatable + ucmodule = $$upper($$MODULE) isEmpty(MODULE_INCNAME): MODULE_INCNAME = $$TARGET @@ -185,6 +187,45 @@ equals(QT_ARCH, i386):contains(QT_CPU_FEATURES.$$QT_ARCH, sse2):compiler_support QMAKE_CXXFLAGS += -mfpmath=sse } +unix:!isEmpty(QMAKE_LFLAGS_VERSION_SCRIPT):!no_linker_version_script:!static { + verscript = $$OUT_PWD/$${TARGET}.version + QMAKE_LFLAGS += $${QMAKE_LFLAGS_VERSION_SCRIPT}$$verscript + + internal_module { + verscript_content = "Qt_$${QT_MAJOR_VERSION}_PRIVATE_API { *; };" + } else { + verscript_content = "Qt_$${QT_MAJOR_VERSION}_PRIVATE_API {" \ + " qt_private_api_tag*;" "@CLASSLIST@" "};" + + current = Qt_$$QT_MAJOR_VERSION + verscript_content += "$$current { *; };" + isEmpty(QT_NAMESPACE): tag_symbol = qt_version_tag + else: tag_symbol = qt_version_tag_$$QT_NAMESPACE + + for(i, 0..$$QT_MINOR_VERSION) { + previous = $$current + current = Qt_$${QT_MAJOR_VERSION}.$$i + equals(i, $$QT_MINOR_VERSION): verscript_content += "$$current { $$tag_symbol; } $$previous;" + else: verscript_content += "$$current {} $$previous;" + } + + # Add a post-processing step to replace the @CLASSLIST@ + verscriptprocess.commands = perl $${PWD}/data/unix/findclasslist.pl < $^ > $@ + verscriptprocess.target = $$verscript + verscriptprocess.depends = $${verscript}.in + for(header, SYNCQT.PRIVATE_HEADER_FILES): \ + verscriptprocess.depends += $${_PRO_FILE_PWD_}/$$header + QMAKE_EXTRA_TARGETS += verscriptprocess + PRE_TARGETDEPS += $$verscript + verscript = $${verscript}.in + } + write_file($$verscript, verscript_content)|error("Aborting.") + unset(current) + unset(previous) + unset(verscript) + unset(verscript_content) +} + android: CONFIG += qt_android_deps #install directives |