summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-05-20 13:46:21 +0200
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-05-23 21:09:46 +0200
commit56d6e000f7487c59172330ebd23a718268c508f1 (patch)
tree1494432583b1569816075091a8075b31d795f77c /mkspecs
parent9fd407fc6a29c94b4568dd042a05c208255179e0 (diff)
parentc276aa51303b7c6f8e4cd854aadf8344a906e50f (diff)
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts: mkspecs/wince80colibri-armv7-msvc2012/qmake.conf qmake/generators/win32/msvc_vcproj.cpp src/corelib/global/qnamespace.h src/corelib/global/qnamespace.qdoc src/corelib/io/qfsfileengine_win.cpp src/corelib/tools/tools.pri src/network/ssl/qsslconfiguration_p.h src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp src/plugins/platforms/windows/windows.pri src/src.pro src/tools/bootstrap/bootstrap.pro src/tools/uic/cpp/cppwriteinitialization.cpp src/widgets/dialogs/qfilesystemmodel.cpp tests/auto/testlib/selftests/expected_cmptest.teamcity tests/auto/testlib/selftests/expected_cmptest.txt Change-Id: I4d2ac78f0dcc97f008186bbbc769c6fe588ab0e5
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/devices/linux-imx6-g++/qmake.conf17
-rw-r--r--mkspecs/features/configure.prf4
-rw-r--r--mkspecs/features/lex.prf6
-rw-r--r--mkspecs/features/qml_plugin.prf3
-rw-r--r--mkspecs/features/qt_app.prf2
-rw-r--r--mkspecs/features/qt_build_config.prf1
-rw-r--r--mkspecs/features/qt_example_installs.prf14
-rw-r--r--mkspecs/features/qt_helper_lib.prf4
-rw-r--r--mkspecs/features/qt_module.prf5
-rw-r--r--mkspecs/features/qt_module_headers.prf10
-rw-r--r--mkspecs/features/qt_plugin.prf5
11 files changed, 56 insertions, 15 deletions
diff --git a/mkspecs/devices/linux-imx6-g++/qmake.conf b/mkspecs/devices/linux-imx6-g++/qmake.conf
index 71e37845c3..46d631796d 100644
--- a/mkspecs/devices/linux-imx6-g++/qmake.conf
+++ b/mkspecs/devices/linux-imx6-g++/qmake.conf
@@ -1,6 +1,23 @@
#
# qmake configuration for the Freescale iMX6 boards (single, dual and quad)
#
+# The configuration below is set up for running with EGL on the framebuffer via
+# the eglfs platform plugin and its eglfs_viv backend.
+
+# Wayland is also fully functional out of the box. However, when writing Wayland
+# *compositors* with Qt, the eglfs backend will have to be switched to
+# eglfs_viv_wl by setting the QT_QPA_EGLFS_INTEGRATION environment variable.
+#
+# Below is an example configure line that assumes the SDK is in
+# $HOME/imx6/toolchain. On device Qt is expected to be placed under
+# /usr/local/qt5 whereas on the host 'make install' will copy the host tools and
+# the target libraries to $HOME/imx6/qt5.
+#
+# ./configure -prefix /usr/local/qt5 -extprefix $HOME/imx6/qt5 -device linux-imx6-g++ \
+# -device-option CROSS_COMPILE=$HOME/imx6/toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- \
+# -sysroot $HOME/imx6/toolchain/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi \
+# -nomake examples -nomake tests -v
+#
include(../common/linux_device_pre.conf)
diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf
index 92c288cdb6..c772a3407a 100644
--- a/mkspecs/features/configure.prf
+++ b/mkspecs/features/configure.prf
@@ -1,9 +1,7 @@
QMAKE_MAKE = $$(MAKE)
!isEmpty(QMAKE_MAKE) {
# We were called recursively. Use the right make, as MAKEFLAGS may be set as well.
-} else:equals(MAKEFILE_GENERATOR, UNIX) {
- QMAKE_MAKE = make
-} else:equals(MAKEFILE_GENERATOR, MINGW) {
+} else:if(equals(MAKEFILE_GENERATOR, UNIX)|equals(MAKEFILE_GENERATOR, MINGW)) {
!equals(QMAKE_HOST.os, Windows): \
QMAKE_MAKE = make
else: \
diff --git a/mkspecs/features/lex.prf b/mkspecs/features/lex.prf
index 1ca9ae8afa..16d3a6aa94 100644
--- a/mkspecs/features/lex.prf
+++ b/mkspecs/features/lex.prf
@@ -11,9 +11,13 @@
lex.variable_out = GENERATED_SOURCES
}
+ isEmpty(QMAKE_LEXFLAGS_MANGLE):QMAKE_LEXFLAGS_MANGLE = -P${QMAKE_FILE_BASE}
+ QMAKE_LEXEXTRAFLAGS = $$QMAKE_LEXFLAGS
+ !yacc_no_name_mangle:QMAKE_LEXEXTRAFLAGS += $$QMAKE_LEXFLAGS_MANGLE
+
contains(QMAKE_LEX, .*flex) {
# GNU flex, we can use -o outfile
- lex.commands = $$QMAKE_LEX $$QMAKE_LEXFLAGS --nounistd -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
+ lex.commands = $$QMAKE_LEX $$QMAKE_LEXEXTRAFLAGS --nounistd -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
} else {
# stupid POSIX lex, it only generates a file called lex.yy.c
# or lex.prefix.c if the -P<prefix> option is active
diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf
index 20b8eb4d53..158bddf60c 100644
--- a/mkspecs/features/qml_plugin.prf
+++ b/mkspecs/features/qml_plugin.prf
@@ -15,8 +15,7 @@ TEMPLATE = lib
CONFIG += plugin
if(win32|mac):!macx-xcode {
- contains(QT_CONFIG, debug_and_release):CONFIG += debug_and_release
- contains(QT_CONFIG, build_all):CONFIG += build_all
+ contains(QT_CONFIG, debug_and_release): CONFIG += debug_and_release build_all
}
CONFIG += relative_qt_rpath # Qt's QML plugins should be relocatable
diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf
index 823a4c9490..46aca50cc2 100644
--- a/mkspecs/features/qt_app.prf
+++ b/mkspecs/features/qt_app.prf
@@ -28,7 +28,7 @@ host_build:force_bootstrap {
}
target.path = $$[QT_HOST_BINS]
} else {
- !build_pass:contains(QT_CONFIG, debug_and_release):contains(QT_CONFIG, build_all): CONFIG += release
+ !build_pass:contains(QT_CONFIG, debug_and_release): CONFIG += release
target.path = $$[QT_INSTALL_BINS]
CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable
}
diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf
index ab183bf23b..f12cbb88fc 100644
--- a/mkspecs/features/qt_build_config.prf
+++ b/mkspecs/features/qt_build_config.prf
@@ -71,6 +71,7 @@ CONFIG += \
create_prl link_prl \
prepare_docs qt_docs_targets \
no_private_qt_headers_warning QTDIR_build \
+ qt_example_installs \
# Qt modules get compiled without exceptions enabled by default.
# However, testcases should be still built with exceptions.
exceptions_off testcase_exceptions
diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf
index ebf68a8a21..4c68cfd72f 100644
--- a/mkspecs/features/qt_example_installs.prf
+++ b/mkspecs/features/qt_example_installs.prf
@@ -100,6 +100,20 @@ probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples)
!isEmpty(allfiles): warning("remaining files in $$_PRO_FILE_PWD_: $$allfiles")
}
+ equals(TEMPLATE, app)|equals(TEMPLATE, lib) {
+ !contains(INSTALLS, target) {
+ !install_ok: \
+ error("$$_PRO_FILE_ is lacking an install target.")
+ else: check_examples: \
+ warning("$$_PRO_FILE_ is lacking an install target.")
+ } else: !equals(target.path, $$sources.path) {
+ !install_ok: \
+ error("$$_PRO_FILE_ installs target to unexpected location.")
+ else: check_examples: \
+ warning("$$_PRO_FILE_ installs target to unexpected location.")
+ }
+ }
+
!equals(TEMPLATE, subdirs):!compile_examples {
TEMPLATE = aux
CONFIG -= have_target qt staticlib dll
diff --git a/mkspecs/features/qt_helper_lib.prf b/mkspecs/features/qt_helper_lib.prf
index ebc629f57f..3393154436 100644
--- a/mkspecs/features/qt_helper_lib.prf
+++ b/mkspecs/features/qt_helper_lib.prf
@@ -13,12 +13,12 @@ load(qt_build_paths)
TEMPLATE = lib
CONFIG -= qt
+QT = # In case qt is re-added.
CONFIG -= warning_clean # Don't presume 3rd party code to be clean
load(qt_common)
-contains(QT_CONFIG, debug_and_release): CONFIG += debug_and_release
-contains(QT_CONFIG, build_all): CONFIG += build_all
+contains(QT_CONFIG, debug_and_release): CONFIG += debug_and_release build_all
DESTDIR = $$MODULE_BASE_OUTDIR/lib
DLLDESTDIR = $$MODULE_BASE_OUTDIR/bin
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index d14e1b8dde..119d940b1f 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -38,7 +38,7 @@ host_build {
QT += bootstrap-private
}
} else {
- !build_pass:contains(QT_CONFIG, build_all): CONFIG += release
+ !build_pass:contains(QT_CONFIG, debug_and_release): CONFIG += release
}
}
@@ -89,8 +89,7 @@ INCLUDEPATH *= $$eval(QT.$${MODULE}.includes) $$eval(QT.$${MODULE}_private.inclu
# If Qt was configured with -debug-and-release then build the module the same way
# - unless this is a host library
!host_build:if(win32|mac):!macx-xcode {
- contains(QT_CONFIG, debug_and_release):CONFIG += debug_and_release
- contains(QT_CONFIG, build_all):CONFIG += build_all
+ contains(QT_CONFIG, debug_and_release): CONFIG += debug_and_release build_all
}
QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf
index 7acca41d47..05d0706a33 100644
--- a/mkspecs/features/qt_module_headers.prf
+++ b/mkspecs/features/qt_module_headers.prf
@@ -188,6 +188,16 @@ headersclean:!internal_module {
!contains(QT_ARCH, arm):!contains(QT_ARCH, mips): \
hcleanFLAGS += -Wcast-align
+
+ !clang {
+ # options accepted only by GCC
+
+ c++11 {
+ # only enabled for actual c++11 builds due to
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52806
+ hcleanFLAGS += -Wzero-as-null-pointer-constant
+ }
+ }
}
# Use strict mode C++11 or C++98, with no GNU extensions (see -pedantic-errors above).
diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf
index ccd66f4510..f865aa4394 100644
--- a/mkspecs/features/qt_plugin.prf
+++ b/mkspecs/features/qt_plugin.prf
@@ -24,10 +24,9 @@ win32:CONFIG(shared, static|shared) {
}
tool_plugin {
- !build_pass:contains(QT_CONFIG, build_all): CONFIG += release
+ !build_pass:contains(QT_CONFIG, debug_and_release): CONFIG += release
} else:if(win32|mac):!macx-xcode {
- contains(QT_CONFIG, debug_and_release):CONFIG += debug_and_release
- contains(QT_CONFIG, build_all):CONFIG += build_all
+ contains(QT_CONFIG, debug_and_release): CONFIG += debug_and_release build_all
}
CONFIG += relative_qt_rpath # Qt's plugins should be relocatable