summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features')
-rw-r--r--mkspecs/features/qt_module_headers.prf2
-rw-r--r--mkspecs/features/resources.prf12
-rw-r--r--mkspecs/features/simd.prf41
3 files changed, 51 insertions, 4 deletions
diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf
index 3f2383c120..f8ac561317 100644
--- a/mkspecs/features/qt_module_headers.prf
+++ b/mkspecs/features/qt_module_headers.prf
@@ -92,7 +92,7 @@ headersclean:!internal_module {
-DQT_NO_URL_CAST_FROM_STRING=1 \
-DQT_NO_CAST_FROM_BYTEARRAY=1 \
-DQT_NO_KEYWORDS=1 \
- -DQT_USE_FAST_CONCATENATION \
+ -DQT_USE_QSTRINGBUILDER \
-DQT_USE_FAST_OPERATOR_PLUS \
-Dsignals=int \
-Dslots=int \
diff --git a/mkspecs/features/resources.prf b/mkspecs/features/resources.prf
index 7a38ff8f38..1f04c8b0d7 100644
--- a/mkspecs/features/resources.prf
+++ b/mkspecs/features/resources.prf
@@ -49,9 +49,15 @@ for(resource, RESOURCES) {
for(file, $${resource}.files) {
abs_path = $$absolute_path($$file, $$_PRO_FILE_PWD_)
- alias = $$relative_path($$abs_path, $$abs_base)
- resource_file_content += \
- "<file alias=\"$$xml_escape($$alias)\">$$xml_escape($$abs_path)</file>"
+ files = $$files($$abs_path/*, true)
+ isEmpty(files): \
+ files = $$abs_path
+ for (file, files) {
+ exists($$file/*): next() # exclude directories
+ alias = $$relative_path($$file, $$abs_base)
+ resource_file_content += \
+ "<file alias=\"$$xml_escape($$alias)\">$$xml_escape($$file)</file>"
+ }
}
resource_file_content += \
diff --git a/mkspecs/features/simd.prf b/mkspecs/features/simd.prf
index 700d79a1b5..4aafdbe5ed 100644
--- a/mkspecs/features/simd.prf
+++ b/mkspecs/features/simd.prf
@@ -95,6 +95,47 @@ addSimdCompiler(sse4_1)
addSimdCompiler(sse4_2)
addSimdCompiler(avx)
addSimdCompiler(avx2)
+addSimdCompiler(avx512f)
+addSimdCompiler(avx512cd)
+addSimdCompiler(avx512er)
+addSimdCompiler(avx512pf)
+addSimdCompiler(avx512dq)
+addSimdCompiler(avx512bw)
+addSimdCompiler(avx512vl)
+addSimdCompiler(avx512ifma)
+addSimdCompiler(avx512vbmi)
addSimdCompiler(neon)
addSimdCompiler(mips_dsp)
addSimdCompiler(mips_dspr2)
+
+# Follow the Intel compiler's lead and define profiles of AVX512 instructions
+defineTest(addAvx512Profile) {
+ name = $$1
+ dependencies = $$2
+ upname = $$upper($$name)
+ varname = QMAKE_CFLAGS_$$upname
+
+ cpu_features_missing =
+ cflags = $$QMAKE_CFLAGS_AVX512F
+ for(part, dependencies) {
+ !CONFIG($$part): return() # Profile isn't supported by the compiler
+
+ uppart = $$upper($$part)
+ cflags *= $$eval(QMAKE_CFLAGS_$${uppart})
+ !contains(QT_CPU_FEATURES, $$uppart): cpu_features_missing += $$uppart
+ }
+
+ CONFIG += $$name
+ isEmpty(cpu_features_missing): QT_CPU_FEATURES += $$name
+ $$varname = $$cflags
+
+ export(QT_CPU_FEATURES)
+ export(CONFIG)
+ export($$varname)
+ addSimdCompiler($$name)
+}
+addAvx512Profile(avx512common, avx512cd)
+addAvx512Profile(avx512mic, avx512cd avx512er avx512pf)
+addAvx512Profile(avx512core, avx512cd avx512bw avx512dq avx512vl)
+addAvx512Profile(avx512ifmavl, avx512ifma avx512vl)
+addAvx512Profile(avx512vbmivl, avx512vbmi avx512vl)