diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2015-10-23 14:01:35 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2015-10-23 14:45:03 +0200 |
commit | 790aef362fd195adf97d8c780a7cbbbade27d51f (patch) | |
tree | 8be464687ab21806cfe9f7ada27098b563aa41b2 /mkspecs | |
parent | 9720efbd1035c2e939b0581163e6d804c713dd96 (diff) | |
parent | 07475c662eb73c833da2d461b8ef2702ca1e2cfb (diff) |
Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
.qmake.conf
configure
src/corelib/global/qglobal.h
src/tools/qdoc/node.cpp
src/tools/qdoc/qdocdatabase.cpp
tests/auto/corelib/io/qsettings/tst_qsettings.cpp
tools/configure/configureapp.cpp
Change-Id: I66028ae5e441a06b73ee85ba72a03a3af3e8593f
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/common/linux.conf | 3 | ||||
-rw-r--r-- | mkspecs/common/mac.conf | 3 | ||||
-rw-r--r-- | mkspecs/common/winrt_winphone/manifests/8.1/AppxManifest.xml.in | 3 | ||||
-rw-r--r-- | mkspecs/common/winrt_winphone/manifests/8.1_wp/AppxManifest.xml.in | 3 | ||||
-rw-r--r-- | mkspecs/features/data/unix/findclasslist.pl | 59 | ||||
-rw-r--r-- | mkspecs/features/default_pre.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt.prf | 10 | ||||
-rw-r--r-- | mkspecs/features/qt_module.prf | 23 | ||||
-rw-r--r-- | mkspecs/features/qt_tool.prf | 1 | ||||
-rw-r--r-- | mkspecs/features/winrt/package_manifest.prf | 4 | ||||
-rw-r--r-- | mkspecs/winrt-arm-msvc2013/qmake.conf | 2 | ||||
-rw-r--r-- | mkspecs/winrt-arm-msvc2015/qmake.conf | 2 | ||||
-rw-r--r-- | mkspecs/winrt-x64-msvc2015/qmake.conf | 2 | ||||
-rw-r--r-- | mkspecs/winrt-x86-msvc2013/qmake.conf | 2 | ||||
-rw-r--r-- | mkspecs/winrt-x86-msvc2015/qmake.conf | 2 |
15 files changed, 101 insertions, 20 deletions
diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf index b98d9bdf2d..143df704b1 100644 --- a/mkspecs/common/linux.conf +++ b/mkspecs/common/linux.conf @@ -10,6 +10,9 @@ QMAKE_CFLAGS_THREAD += -D_REENTRANT QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections +QMAKE_LFLAGS_REL_RPATH = -Wl,-z,origin +QMAKE_REL_RPATH_BASE = $ORIGIN + QMAKE_INCDIR = QMAKE_LIBDIR = QMAKE_INCDIR_X11 = diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf index d80b41c74b..ad3c638a6f 100644 --- a/mkspecs/common/mac.conf +++ b/mkspecs/common/mac.conf @@ -22,6 +22,9 @@ QMAKE_FIX_RPATH = install_name_tool -id QMAKE_LFLAGS_RPATH = -Wl,-rpath, QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip +QMAKE_LFLAGS_REL_RPATH = +QMAKE_REL_RPATH_BASE = @loader_path + QMAKE_LIBS_DYNLOAD = QMAKE_LIBS_OPENGL = -framework OpenGL -framework AGL QMAKE_LIBS_THREAD = diff --git a/mkspecs/common/winrt_winphone/manifests/8.1/AppxManifest.xml.in b/mkspecs/common/winrt_winphone/manifests/8.1/AppxManifest.xml.in index 91353c608b..b02b691f48 100644 --- a/mkspecs/common/winrt_winphone/manifests/8.1/AppxManifest.xml.in +++ b/mkspecs/common/winrt_winphone/manifests/8.1/AppxManifest.xml.in @@ -42,7 +42,6 @@ </m2:VisualElements> </Application> </Applications>$${WINRT_MANIFEST.capabilities} - <Dependencies>$${WINRT_MANIFEST.dependencies} - </Dependencies> + $${WINRT_MANIFEST.dependencies} </Package> <!-- Generated by qmake using the $$[QMAKE_XSPEC] mkspec. --> diff --git a/mkspecs/common/winrt_winphone/manifests/8.1_wp/AppxManifest.xml.in b/mkspecs/common/winrt_winphone/manifests/8.1_wp/AppxManifest.xml.in index 19deb94675..235fe96794 100644 --- a/mkspecs/common/winrt_winphone/manifests/8.1_wp/AppxManifest.xml.in +++ b/mkspecs/common/winrt_winphone/manifests/8.1_wp/AppxManifest.xml.in @@ -43,7 +43,6 @@ </m3:VisualElements> </Application> </Applications>$${WINRT_MANIFEST.capabilities} - <Dependencies>$${WINRT_MANIFEST.dependencies} - </Dependencies> + $${WINRT_MANIFEST.dependencies} </Package> <!-- Generated by qmake using the $$[QMAKE_XSPEC] mkspec. --> diff --git a/mkspecs/features/data/unix/findclasslist.pl b/mkspecs/features/data/unix/findclasslist.pl new file mode 100644 index 0000000000..9113b4921c --- /dev/null +++ b/mkspecs/features/data/unix/findclasslist.pl @@ -0,0 +1,59 @@ +#!/usr/bin/env perl +############################################################################# +## +## Copyright (C) 2015 Intel Corporation +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the build configuration tools of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +use strict; +my $syntax = "findclasslist.pl [private header list]\n" . + "Replaces \@CLASSLIST\@ with the classes found in the header files\n"; +$\ = $/; +while (<STDIN>) { + chomp; + unless (/\@CLASSLIST\@/) { + print; + next; + } + + # Replace @CLASSLIST@ with the class list + for my $header (@ARGV) { + open HDR, "<$header" or die("Could not open header $header: $!"); + my $comment = " /* $header */"; + while (my $line = <HDR>) { + # Match a struct or class declaration, but not a forward declaration + $line =~ /^(?:struct|class) (?:Q_.*_EXPORT)? (\w+)(?!;)/ or next; + print $comment if $comment; + printf " *%d%s*;\n", length $1, $1; + $comment = 0; + } + close HDR; + } +} diff --git a/mkspecs/features/default_pre.prf b/mkspecs/features/default_pre.prf index eb3281ea1d..a247b46a72 100644 --- a/mkspecs/features/default_pre.prf +++ b/mkspecs/features/default_pre.prf @@ -8,6 +8,8 @@ CONFIG = \ testcase_targets import_plugins import_qpa_plugin \ $$CONFIG +contains(QT_CONFIG, c++11):lessThan(QT_COMPILER_STDCXX, 201103): CONFIG += c++11 + !build_pass:defined(QT_EDITION, var):!equals(QT_EDITION, "OpenSource"):!equals(QT_EDITION, "Preview") { # # call license checker (but cache result for one day) diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index d416a8955a..d0d6bb27ce 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -155,7 +155,7 @@ qt_module_deps = $$resolve_depends(qt_module_deps, "QT.") !no_qt_rpath:!static:contains(QT_CONFIG, rpath):!contains(QT_CONFIG, static):\ contains(qt_module_deps, core) { - relative_qt_rpath:contains(INSTALLS, target):\ + relative_qt_rpath:!isEmpty(QMAKE_LFLAGS_REL_RPATH):contains(INSTALLS, target):\ isEmpty(target.files):isEmpty(target.commands):isEmpty(target.extra) { mac { if(equals(TEMPLATE, app):app_bundle)|\ @@ -167,17 +167,11 @@ qt_module_deps = $$resolve_depends(qt_module_deps, "QT.") } else { binpath = $$target.path } - rpath = @loader_path } else { - QMAKE_LFLAGS += -Wl,-z,origin binpath = $$target.path - rpath = $ORIGIN } # NOT the /dev property, as INSTALLS use host paths - relpath = $$relative_path($$[QT_INSTALL_LIBS], $$binpath) - !equals(relpath, .): \ - rpath = $$rpath/$$relpath - QMAKE_RPATHDIR += $$rpath + QMAKE_RPATHDIR += $$relative_path($$[QT_INSTALL_LIBS], $$binpath) } else { QMAKE_RPATHDIR += $$[QT_INSTALL_LIBS/dev] } diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 3c0526055c..10911fa6df 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -194,13 +194,30 @@ unix:!isEmpty(QMAKE_LFLAGS_VERSION_SCRIPT):!no_linker_version_script:!static { 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 { *; };" - for(i, 0..$$section(VERSION, ., 1, 1)) { + 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 - verscript_content += "$$current {} $$previous;" + 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) diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf index 1d3e88cbe9..3f0301a292 100644 --- a/mkspecs/features/qt_tool.prf +++ b/mkspecs/features/qt_tool.prf @@ -12,6 +12,7 @@ load(qt_app) CONFIG += console +DEFINES *= QT_USE_QSTRINGBUILDER # If we are doing a prefix build, create a "module" pri which enables # qtPrepareTool() to work with the non-installed build. diff --git a/mkspecs/features/winrt/package_manifest.prf b/mkspecs/features/winrt/package_manifest.prf index 0f6f185170..9b4a6672e5 100644 --- a/mkspecs/features/winrt/package_manifest.prf +++ b/mkspecs/features/winrt/package_manifest.prf @@ -125,10 +125,14 @@ # Dependencies are given as a string list. The CRT dependency is added automatically above. # For MSVC2015 the dependencies are added in conjunction with TargetDeviceFamily + # Due to the hard coded dependency on "Windows.Universal" the <Dependencies> tag + # is already inside the MSVC2015 manifest. WINRT_MANIFEST.dependencies = $$unique(WINRT_MANIFEST.dependencies) !isEmpty(WINRT_MANIFEST.dependencies) { + *-msvc2013: MANIFEST_DEPENDENCIES += "<Dependencies>" for(DEPENDENCY, WINRT_MANIFEST.dependencies): \ MANIFEST_DEPENDENCIES += " <PackageDependency Name=\"$$DEPENDENCY\" />" + *-msvc2013: MANIFEST_DEPENDENCIES += "</Dependencies>" WINRT_MANIFEST.dependencies = $$join(MANIFEST_DEPENDENCIES, $$INDENT, $$INDENT) } diff --git a/mkspecs/winrt-arm-msvc2013/qmake.conf b/mkspecs/winrt-arm-msvc2013/qmake.conf index d1ab60723d..f8b48b0829 100644 --- a/mkspecs/winrt-arm-msvc2013/qmake.conf +++ b/mkspecs/winrt-arm-msvc2013/qmake.conf @@ -6,7 +6,7 @@ include(../common/winrt_winphone/qmake.conf) QMAKE_COMPILER_DEFINES += _MSC_VER=1800 -DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_APP ARM __ARM__ __arm__ +DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PC_APP ARM __ARM__ __arm__ QMAKE_CFLAGS += -FS QMAKE_CXXFLAGS += -FS diff --git a/mkspecs/winrt-arm-msvc2015/qmake.conf b/mkspecs/winrt-arm-msvc2015/qmake.conf index 44c91a5e80..820f66deb1 100644 --- a/mkspecs/winrt-arm-msvc2015/qmake.conf +++ b/mkspecs/winrt-arm-msvc2015/qmake.conf @@ -6,7 +6,7 @@ include(../common/winrt_winphone/qmake.conf) QMAKE_COMPILER_DEFINES += _MSC_VER=1900 -DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_APP ARM __ARM__ __arm__ +DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PC_APP WINAPI_PARTITION_PHONE_APP=1 ARM __ARM__ __arm__ QMAKE_CFLAGS += -FS QMAKE_CXXFLAGS += -FS diff --git a/mkspecs/winrt-x64-msvc2015/qmake.conf b/mkspecs/winrt-x64-msvc2015/qmake.conf index a6c5db6f0f..e3edde78c1 100644 --- a/mkspecs/winrt-x64-msvc2015/qmake.conf +++ b/mkspecs/winrt-x64-msvc2015/qmake.conf @@ -6,7 +6,7 @@ include(../common/winrt_winphone/qmake.conf) QMAKE_COMPILER_DEFINES += _MSC_VER=1900 _WIN32 -DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_APP X64 __X64__ __x64__ +DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PC_APP WINAPI_PARTITION_PHONE_APP=1 X64 __X64__ __x64__ QMAKE_CFLAGS += -FS QMAKE_CXXFLAGS += -FS diff --git a/mkspecs/winrt-x86-msvc2013/qmake.conf b/mkspecs/winrt-x86-msvc2013/qmake.conf index 77b906c7d3..3359102e7e 100644 --- a/mkspecs/winrt-x86-msvc2013/qmake.conf +++ b/mkspecs/winrt-x86-msvc2013/qmake.conf @@ -6,7 +6,7 @@ include(../common/winrt_winphone/qmake.conf) QMAKE_COMPILER_DEFINES += _MSC_VER=1800 _WIN32 -DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_APP X86 __X86__ __x86__ +DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PC_APP X86 __X86__ __x86__ QMAKE_CFLAGS += -FS QMAKE_CXXFLAGS += -FS diff --git a/mkspecs/winrt-x86-msvc2015/qmake.conf b/mkspecs/winrt-x86-msvc2015/qmake.conf index dfeaf63e2c..82c6f9bd7f 100644 --- a/mkspecs/winrt-x86-msvc2015/qmake.conf +++ b/mkspecs/winrt-x86-msvc2015/qmake.conf @@ -6,7 +6,7 @@ include(../common/winrt_winphone/qmake.conf) QMAKE_COMPILER_DEFINES += _MSC_VER=1900 _WIN32 -DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_APP X86 __X86__ __x86__ +DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PC_APP WINAPI_PARTITION_PHONE_APP=1 X86 __X86__ __x86__ QMAKE_CFLAGS += -FS QMAKE_CXXFLAGS += -FS |