summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-04-04 23:01:17 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2019-04-04 23:01:17 +0000
commited485243b594a730cebee4d76847e0f556d369f4 (patch)
tree545dd98a3138782df786f742cac02bc63113eaf6 /mkspecs
parent8d7c97d428cdf89c3419a4e13b62a9849feefce9 (diff)
parenteb606d85b3f1548445cfd1fee43f882da88fb6e7 (diff)
Merge "Merge remote-tracking branch 'origin/5.13' into dev" into refs/staging/dev
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/ghs-integrity-armv8.conf4
-rw-r--r--mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in1
-rw-r--r--mkspecs/features/qml_module.prf20
-rw-r--r--mkspecs/features/qt_configure.prf17
-rw-r--r--mkspecs/features/resources.prf8
-rw-r--r--mkspecs/wasm-emscripten/qmake.conf12
-rw-r--r--mkspecs/win32-clang-msvc/qmake.conf22
-rw-r--r--mkspecs/win32-g++/qmake.conf4
8 files changed, 57 insertions, 31 deletions
diff --git a/mkspecs/common/ghs-integrity-armv8.conf b/mkspecs/common/ghs-integrity-armv8.conf
index ee4ce458de..e454cfd245 100644
--- a/mkspecs/common/ghs-integrity-armv8.conf
+++ b/mkspecs/common/ghs-integrity-armv8.conf
@@ -17,8 +17,8 @@ os_directory = $$(INTEGRITY_DIR)
isEmpty(os_directory): \
error("This qmakespec requires $INTEGRITY_DIR to be set")
-QMAKE_CC = cxintarm64 -U__ARM_NEON__ -U__ARM_NEON -bsp $$bsp_name -os_dir $$os_directory -non_shared
-QMAKE_CXX = cxintarm64 -U__ARM_NEON__ -U__ARM_NEON -bsp $$bsp_name -os_dir $$os_directory -non_shared
+QMAKE_CC = cxintarm64 -bsp $$bsp_name -os_dir $$os_directory -non_shared
+QMAKE_CXX = cxintarm64 -bsp $$bsp_name -os_dir $$os_directory -non_shared
QMAKE_LINK = $$QMAKE_CXX
QMAKE_AR = $$QMAKE_CXX -archive -o
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
index d6773d6e98..b643e5edf9 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
@@ -62,6 +62,7 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
set(_search_paths)
string(REPLACE \"\\$\\$[QT_INSTALL_LIBS]\" \"${_qt5_install_libs}\" _static_depends \"${_static_depends}\")
foreach(_flag ${_static_depends})
+ string(REPLACE \"\\\"\" \"\" _flag ${_flag})
if(_flag MATCHES \"^-l(.*)$\")
# Handle normal libraries passed as -lfoo
set(_lib \"${CMAKE_MATCH_1}\")
diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf
index bd84ce597a..dbf5b74355 100644
--- a/mkspecs/features/qml_module.prf
+++ b/mkspecs/features/qml_module.prf
@@ -13,7 +13,14 @@ equals(TEMPLATE, app): TEMPLATE = aux
isEmpty(TARGETPATH): error("Must set TARGETPATH (QML import name)")
-qmldir_file = $$_PRO_FILE_PWD_/qmldir
+!isEmpty(DYNAMIC_QMLDIR) {
+ qmldir_path = $$OUT_PWD
+ write_file($${qmldir_path}/qmldir, DYNAMIC_QMLDIR)|error("Aborting.")
+} else {
+ qmldir_path = $$_PRO_FILE_PWD_
+}
+
+qmldir_file = $${qmldir_path}/qmldir
fq_qml_files =
for(qmlf, QML_FILES): fq_qml_files += $$absolute_path($$qmlf, $$_PRO_FILE_PWD_)
@@ -42,13 +49,20 @@ builtin_resources {
}
# Install rules
-qmldir.base = $$_PRO_FILE_PWD_
+qmldir.base = $$qmldir_path
# Tools need qmldir and plugins.qmltypes always installed on the file system
-qmldir.files = $$qmldir_file $$fq_aux_qml_files
+
+qmldir.files = $$qmldir_file
install_qml_files: qmldir.files += $$fq_qml_files
qmldir.path = $$[QT_INSTALL_QML]/$$TARGETPATH
INSTALLS += qmldir
+qmlfiles.base = $$_PRO_FILE_PWD_
+qmlfiles.files = $$fq_aux_qml_files
+install_qml_files: qmlfiles.files += $$fq_qml_files
+qmlfiles.path = $${qmldir.path}
+INSTALLS += qmlfiles
+
!debug_and_release|!build_all|CONFIG(release, debug|release) {
!prefix_build {
COPIES += qmldir
diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
index 3f6914e243..168a8e64f2 100644
--- a/mkspecs/features/qt_configure.prf
+++ b/mkspecs/features/qt_configure.prf
@@ -61,6 +61,13 @@ defineTest(qtConfCommandlineSetInput) {
val = $${2}
!isEmpty($${currentConfig}.commandline.options.$${arg}.name): \
arg = $$eval($${currentConfig}.commandline.options.$${arg}.name)
+ !isEmpty(config.input.$$arg) {
+ oldval = $$eval(config.input.$$arg)
+ equals(oldval, $$val): \
+ qtConfAddNote("Option '$$arg' with value '$$val' was specified twice")
+ else: \
+ qtConfAddNote("Overriding option '$$arg' with '$$val' (was: '$$oldval')")
+ }
config.input.$$arg = $$val
export(config.input.$$arg)
@@ -544,7 +551,15 @@ defineTest(qtConfResolveLibs) {
} else: contains(l, "^-l.*") {
lib = $$replace(l, "^-l", )
lcan =
- unix {
+ integrity:contains(lib, "^.*\\.a") {
+ # INTEGRITY compiler searches for exact filename
+ # if -l argument has .a suffix
+ lcan += $${lib}
+ } else: contains(lib, "^:.*") {
+ # Use exact filename when -l:filename syntax is used.
+ lib ~= s/^://
+ lcan += $${lib}
+ } else: unix {
# Under UNIX, we look for actual shared libraries, in addition
# to static ones.
shexts = $$QMAKE_EXTENSION_SHLIB $$QMAKE_EXTENSIONS_AUX_SHLIB
diff --git a/mkspecs/features/resources.prf b/mkspecs/features/resources.prf
index bb2a55b93d..fa8ff1fb58 100644
--- a/mkspecs/features/resources.prf
+++ b/mkspecs/features/resources.prf
@@ -28,6 +28,7 @@ for(resource, RESOURCES) {
!exists($$absolute_path($$resource, $$_PRO_FILE_PWD_)): \
warning("Failure to find: $$resource")
qmake_immediate.files += $$resource
+ OTHER_FILES *= $$resource
}
RESOURCES -= $$resource
next()
@@ -57,6 +58,7 @@ for(resource, RESOURCES) {
alias = $$relative_path($$file, $$abs_base)
resource_file_content += \
"<file alias=\"$$xml_escape($$alias)\">$$xml_escape($$file)</file>"
+ OTHER_FILES *= $$file
}
}
@@ -73,9 +75,11 @@ for(resource, RESOURCES) {
}
!isEmpty(RESOURCES):contains(TEMPLATE, .*lib):plugin:static {
- resource_init_function = $$lower($$basename(TARGET))_plugin_resource_init
+ pluginBaseName = $$basename(TARGET)
+ pluginName = $$lower($$replace(pluginBaseName, [-], _))
+ resource_init_function = $${pluginName}_plugin_resource_init
DEFINES += "QT_PLUGIN_RESOURCE_INIT_FUNCTION=$$resource_init_function"
- RESOURCE_INIT_CPP = $$OUT_PWD/$$lower($$basename(TARGET))_plugin_resources.cpp
+ RESOURCE_INIT_CPP = $$OUT_PWD/$${pluginName}_plugin_resources.cpp
GENERATED_SOURCES += $$RESOURCE_INIT_CPP
QMAKE_DISTCLEAN += $$RESOURCE_INIT_CPP
diff --git a/mkspecs/wasm-emscripten/qmake.conf b/mkspecs/wasm-emscripten/qmake.conf
index 855d84c039..c80f2bfb92 100644
--- a/mkspecs/wasm-emscripten/qmake.conf
+++ b/mkspecs/wasm-emscripten/qmake.conf
@@ -32,15 +32,6 @@ EMCC_COMMON_LFLAGS = \
--bind \
-s \"BINARYEN_TRAP_MODE=\'clamp\'\"
-EMCC_USE_PORTS_FLAGS = \
- -s USE_FREETYPE=1 \
- -s USE_ZLIB=1
-
-# libpng does not build for WASM_OBJECT_FILES=1, see
-# https://github.com/emscripten-core/emscripten/issues/8143
-equals(WASM_OBJECT_FILES, 0):\
- EMCC_USE_PORTS_FLAGS += -s USE_LIBPNG=1
-
# The -s arguments can also be used with release builds,
# but are here in debug for clarity.
EMCC_COMMON_LFLAGS_DEBUG = \
@@ -87,9 +78,6 @@ QMAKE_COMPILER += emscripten
QMAKE_CC = emcc
QMAKE_CXX = em++
-QMAKE_CFLAGS += $$EMCC_USE_PORTS_FLAGS
-QMAKE_CXXFLAGS += $$EMCC_USE_PORTS_FLAGS
-
QMAKE_LINK = $$QMAKE_CXX
QMAKE_LINK_SHLIB = $$QMAKE_CXX
QMAKE_LINK_C = $$QMAKE_CC
diff --git a/mkspecs/win32-clang-msvc/qmake.conf b/mkspecs/win32-clang-msvc/qmake.conf
index eb6fbee26d..1cf1f31712 100644
--- a/mkspecs/win32-clang-msvc/qmake.conf
+++ b/mkspecs/win32-clang-msvc/qmake.conf
@@ -13,19 +13,19 @@ QMAKE_CFLAGS_SSE4_1 = -msse4.1
QMAKE_CFLAGS_SSE4_2 = -msse4.2
QMAKE_CFLAGS_AVX = -mavx
QMAKE_CFLAGS_AVX2 = -mavx2
-QMAKE_CFLAGS_F16C = -mf16c
-QMAKE_CFLAGS_RDRND = -mrdrnd
-QMAKE_CFLAGS_AVX512F = -mavx512f
-QMAKE_CFLAGS_AVX512ER = -mavx512er
-QMAKE_CFLAGS_AVX512CD = -mavx512cd
-QMAKE_CFLAGS_AVX512PF = -mavx512pf
-QMAKE_CFLAGS_AVX512DQ = -mavx512dq
-QMAKE_CFLAGS_AVX512BW = -mavx512bw
-QMAKE_CFLAGS_AVX512VL = -mavx512vl
+QMAKE_CFLAGS_F16C = -mf16c
+QMAKE_CFLAGS_RDRND = -mrdrnd
+QMAKE_CFLAGS_AVX512F = -mavx512f
+QMAKE_CFLAGS_AVX512ER = -mavx512er
+QMAKE_CFLAGS_AVX512CD = -mavx512cd
+QMAKE_CFLAGS_AVX512PF = -mavx512pf
+QMAKE_CFLAGS_AVX512DQ = -mavx512dq
+QMAKE_CFLAGS_AVX512BW = -mavx512bw
+QMAKE_CFLAGS_AVX512VL = -mavx512vl
QMAKE_CFLAGS_AVX512IFMA = -mavx512ifma
QMAKE_CFLAGS_AVX512VBMI = -mavx512vbmi
-QMAKE_CFLAGS_AESNI = -maes
-QMAKE_CFLAGS_SHANI = -msha
+QMAKE_CFLAGS_AESNI = -maes
+QMAKE_CFLAGS_SHANI = -msha
QMAKE_COMPILER += clang_cl llvm
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index 9bd2f5525f..5de482f23b 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -23,4 +23,8 @@ QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
QMAKE_LINK = $${CROSS_COMPILE}g++
QMAKE_LINK_C = $${CROSS_COMPILE}gcc
+QMAKE_CFLAGS_LTCG = -flto
+QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
+QMAKE_LFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
+
load(qt_config)