diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2016-07-22 10:15:48 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2016-07-22 10:15:48 +0000 |
commit | 601019e3f42516b5799fe519115f8fbdf44ed18a (patch) | |
tree | d9c800ede4d8a38a73dcb0f3aea54e5954e64d54 /mkspecs | |
parent | b5f18da11fb526a444d2550715d8b867b711e67a (diff) | |
parent | 782ebeada125e3d8a293c7806e34cc737c30ddda (diff) |
Merge "Merge remote-tracking branch 'origin/5.7' into dev" into refs/staging/dev
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/common/clang.conf | 2 | ||||
-rw-r--r-- | mkspecs/common/mac.conf | 1 | ||||
-rw-r--r-- | mkspecs/common/winrt_winphone/manifests/10.0/AppxManifest.xml.in | 2 | ||||
-rw-r--r-- | mkspecs/features/file_copies.prf | 3 | ||||
-rw-r--r-- | mkspecs/features/qt.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt_common.prf | 6 | ||||
-rw-r--r-- | mkspecs/features/qt_docs_targets.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/qt_functions.prf | 5 | ||||
-rw-r--r-- | mkspecs/features/resources.prf | 2 | ||||
-rw-r--r-- | mkspecs/netbsd-g++/qmake.conf | 3 | ||||
-rw-r--r-- | mkspecs/openbsd-g++/qmake.conf | 17 |
11 files changed, 34 insertions, 11 deletions
diff --git a/mkspecs/common/clang.conf b/mkspecs/common/clang.conf index ee9c1b8371..e003b947aa 100644 --- a/mkspecs/common/clang.conf +++ b/mkspecs/common/clang.conf @@ -40,5 +40,5 @@ QMAKE_LFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG # Wrapper tools that understand .o/.a files with LLVM bytecode instead of machine code QMAKE_AR_LTCG = llvm-ar cqs -QMAKE_NM_LTCG = gcc-nm -P +QMAKE_NM_LTCG = llvm-nm -P QMAKE_RANLIB_LTCG = true # No need to run, since llvm-ar has "s" diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf index d24a1d665c..56b9574e19 100644 --- a/mkspecs/common/mac.conf +++ b/mkspecs/common/mac.conf @@ -35,6 +35,7 @@ QMAKE_LIBS_THREAD = QMAKE_DSYMUTIL = dsymutil QMAKE_STRIP = strip +QMAKE_STRIPFLAGS_LIB += -S -x QMAKE_AR = ar cq QMAKE_RANLIB = ranlib -s diff --git a/mkspecs/common/winrt_winphone/manifests/10.0/AppxManifest.xml.in b/mkspecs/common/winrt_winphone/manifests/10.0/AppxManifest.xml.in index c25d7b77af..fc6bfcebcf 100644 --- a/mkspecs/common/winrt_winphone/manifests/10.0/AppxManifest.xml.in +++ b/mkspecs/common/winrt_winphone/manifests/10.0/AppxManifest.xml.in @@ -22,7 +22,7 @@ </Properties> <Dependencies> - <TargetDeviceFamily Name=\"Windows.Universal\" MinVersion=\"10.0.10240.0\" MaxVersionTested=\"10.0.10586.0\" />$${WINRT_MANIFEST.dependencies} + <TargetDeviceFamily Name=\"Windows.Universal\" MinVersion=\"10.0.10586.0\" MaxVersionTested=\"10.0.10586.0\" />$${WINRT_MANIFEST.dependencies} </Dependencies> <Resources> diff --git a/mkspecs/features/file_copies.prf b/mkspecs/features/file_copies.prf index 6df294212c..4ebf41c78f 100644 --- a/mkspecs/features/file_copies.prf +++ b/mkspecs/features/file_copies.prf @@ -1,8 +1,7 @@ isEmpty(COPIES): return() contains(TEMPLATE, .*subdirs): error("COPIES does not work with TEMPLATE=subdirs") -build_pass:build_all: \ - debug_and_release:debug { +build_pass:build_all:!isEqual(BUILD_PASS, $$first(BUILDS)) { # Avoid that multiple build passes race with each other. # This will fail to copy anything if the user explicitly invokes # only the non-primary build. This is unfixable, as at qmake time diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index 10b20be0b0..8d96d18d06 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -156,7 +156,7 @@ for(ever) { !isEmpty(var_sfx): break() var_sfx = _PRIVATE } -!isEmpty(using_privates):!no_private_qt_headers_warning:if(!debug_and_release|!build_pass) { +!isEmpty(using_privates):!no_private_qt_headers_warning:!build_pass { message("This project is using private headers and will therefore be tied to this specific Qt module build version.") message("Running this project against other versions of the Qt modules may crash at any arbitrary point.") message("This is not a bug, but a result of using Qt internals. You have been warned!") diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf index 00a6aef51f..e50fdb767b 100644 --- a/mkspecs/features/qt_common.prf +++ b/mkspecs/features/qt_common.prf @@ -102,9 +102,9 @@ warnings_are_errors:warning_clean { # Work-around for bug https://code.google.com/p/android/issues/detail?id=58135 android: QMAKE_CXXFLAGS_WARN_ON += -Wno-error=literal-suffix } - } else:msvc { - # enable for MSVC 2012, MSVC 2013 - equals(MSVC_VER, "11.0")|equals(MSVC_VER, "12.0"): QMAKE_CXXFLAGS_WARN_ON += -WX + } else:msvc:!intel_icl { + # enable for MSVC 2012, MSVC 2013, MSVC 2015 + contains(MSVC_VER, "1[124].0"): QMAKE_CXXFLAGS_WARN_ON += -WX } unset(ver) } diff --git a/mkspecs/features/qt_docs_targets.prf b/mkspecs/features/qt_docs_targets.prf index 1f9e2b0b47..9e96432462 100644 --- a/mkspecs/features/qt_docs_targets.prf +++ b/mkspecs/features/qt_docs_targets.prf @@ -30,7 +30,7 @@ contains(TEMPLATE, subdirs) { for(inst, DOC_TARGETS): \ prepareRecursiveTarget($$inst) } else { - debug_and_release:!build_pass { + !isEmpty(BUILDS):!build_pass { sub = $$first(BUILDS) for(inst, DOC_TARGETS) { $${inst}.CONFIG = recursive diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf index 2ed1cd51de..6dd4a36b5e 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf @@ -259,7 +259,10 @@ defineReplace(pkgConfigExecutable) { } defineTest(packagesExist) { - contains(QT_CONFIG, no-pkg-config):return(false) + contains(QT_CONFIG, no-pkg-config) { + warning("pkg-config disabled, can't check package existence") + return(false) + } # this can't be done in global scope here because qt_functions is loaded # before the .pro is parsed, so if the .pro set PKG_CONFIG, we wouldn't know it diff --git a/mkspecs/features/resources.prf b/mkspecs/features/resources.prf index ec70f49ce1..21147e4a42 100644 --- a/mkspecs/features/resources.prf +++ b/mkspecs/features/resources.prf @@ -35,7 +35,7 @@ for(resource, RESOURCES) { resource_file = $$RCC_DIR/qmake_$${resource}.qrc - !debug_and_release|build_pass { + isEmpty(BUILDS)|build_pass { # Collection of files, generate qrc file prefix = $$eval($${resource}.prefix) isEmpty(prefix): \ diff --git a/mkspecs/netbsd-g++/qmake.conf b/mkspecs/netbsd-g++/qmake.conf index 31005d9134..a4b26837ce 100644 --- a/mkspecs/netbsd-g++/qmake.conf +++ b/mkspecs/netbsd-g++/qmake.conf @@ -17,6 +17,9 @@ QMAKE_LIBDIR_X11 = /usr/X11R7/lib QMAKE_INCDIR_OPENGL = /usr/X11R7/include QMAKE_LIBDIR_OPENGL = /usr/X11R7/lib +# NetBSD requires rpath to be used for all lib dirs, see http://www.netbsd.org/docs/elf.html +QMAKE_RPATHDIR += $$QMAKE_LIBDIR $$QMAKE_LIBDIR_X11 + include(../common/gcc-base-unix.conf) include(../common/g++-unix.conf) load(qt_config) diff --git a/mkspecs/openbsd-g++/qmake.conf b/mkspecs/openbsd-g++/qmake.conf index e7ac523486..6124d31439 100644 --- a/mkspecs/openbsd-g++/qmake.conf +++ b/mkspecs/openbsd-g++/qmake.conf @@ -17,9 +17,26 @@ QMAKE_LIBDIR_X11 = /usr/X11R6/lib QMAKE_INCDIR_OPENGL = /usr/X11R6/include QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib +QMAKE_RPATHDIR += $$QMAKE_LIBDIR_X11 + include(../common/gcc-base-unix.conf) include(../common/g++-unix.conf) +# System compiler is gcc 4.2.1 up to OpenBSD 6.0. +# For proper C++11 support, we need to use a newer gcc from ports/packages, +# where compiler commands are renamed to egcc/eg++. Therefore, redefine +# mkspecs/common/g++-base.conf compiler commands +QMAKE_CC = egcc + +QMAKE_LINK_C = $$QMAKE_CC +QMAKE_LINK_C_SHLIB = $$QMAKE_CC + +QMAKE_CXX = eg++ + +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX + + # Reset g++-unix.conf's NOUNDEF flags as OpenBSD libc can't handle environ QMAKE_LFLAGS_NOUNDEF = |