summaryrefslogtreecommitdiffstats
path: root/configure.json
diff options
context:
space:
mode:
Diffstat (limited to 'configure.json')
-rw-r--r--configure.json215
1 files changed, 62 insertions, 153 deletions
diff --git a/configure.json b/configure.json
index a6f3ed66a9..a7b8149469 100644
--- a/configure.json
+++ b/configure.json
@@ -102,7 +102,6 @@
"platform": "string",
"plugin-manifests": "boolean",
"profile": "boolean",
- "qml-debug": "boolean",
"qreal": "string",
"qtlibinfix": { "type": "string", "name": "qt_libinfix" },
"qtnamespace": { "type": "string", "name": "qt_namespace" },
@@ -219,7 +218,7 @@
},
"testTypeAliases": {
- "compile": [ "library", "architecture" ]
+ "compile": [ "library", "architecture", "x86Simd", "x86SimdAlways" ]
},
"tests": {
@@ -308,6 +307,11 @@
"type": "linkerSupportsFlag",
"flag": "--enable-new-dtags"
},
+ "gdb_index": {
+ "label": "gdb index support",
+ "type": "linkerSupportsFlag",
+ "flag": "--gdb-index"
+ },
"reduce_exports": {
"label": "symbol visibility support",
"type": "compile",
@@ -363,206 +367,88 @@
},
"sse2": {
"label": "SSE2 instructions",
- "type": "compile",
- "test": {
- "include": "emmintrin.h",
- "main": [
- "__m128i a = _mm_setzero_si128();",
- "_mm_maskmoveu_si128(a, _mm_setzero_si128(), 0);"
- ],
- "qmake": [
- "!defined(QMAKE_CFLAGS_SSE2, var): error(\"This compiler does not support SSE2\")",
- "QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE2"
- ]
- }
+ "type": "x86Simd"
},
"sse3": {
"label": "SSE3 instructions",
- "type": "compile",
- "test": {
- "include": "pmmintrin.h",
- "main": [
- "__m128d a = _mm_set1_pd(6.28);",
- "__m128d b = _mm_set1_pd(3.14);",
- "__m128d result = _mm_addsub_pd(a, b);",
- "(void) _mm_movedup_pd(result);"
- ],
- "qmake": [
- "!defined(QMAKE_CFLAGS_SSE3, var): error(\"This compiler does not support SSE3\")",
- "QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE3"
- ]
- }
+ "type": "x86Simd"
},
"ssse3": {
"label": "SSSE3 instructions",
- "type": "compile",
- "test": {
- "include": "tmmintrin.h",
- "main": [
- "__m128i a = _mm_set1_epi32(42);",
- "_mm_abs_epi8(a);",
- "(void) _mm_sign_epi16(a, _mm_set1_epi32(64));"
- ],
- "qmake": [
- "!defined(QMAKE_CFLAGS_SSSE3, var): error(\"This compiler does not support SSSE3\")",
- "QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSSE3"
- ]
- }
+ "type": "x86Simd"
},
"sse4_1": {
"label": "SSE4.1 instructions",
- "type": "compile",
- "test": {
- "include": "smmintrin.h",
- "main": [
- "__m128 a = _mm_setzero_ps();",
- "_mm_ceil_ps(a);",
- "__m128i result = _mm_mullo_epi32(_mm_set1_epi32(42), _mm_set1_epi32(64));",
- "(void)result;"
- ],
- "qmake": [
- "!defined(QMAKE_CFLAGS_SSE4_1, var): error(\"This compiler does not support SSE4.1\")",
- "QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE4_1"
- ]
- }
+ "type": "x86Simd"
},
"sse4_2": {
"label": "SSE4.2 instructions",
- "type": "compile",
- "test": {
- "include": "nmmintrin.h",
- "main": [
- "__m128i a = _mm_setzero_si128();",
- "__m128i b = _mm_set1_epi32(42);",
- "(void) _mm_cmpestrm(a, 16, b, 16, 0);"
- ],
- "qmake": [
- "!defined(QMAKE_CFLAGS_SSE4_2, var): error(\"This compiler does not support SSE4.2\")",
- "QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_SSE4_2"
- ]
- }
+ "type": "x86Simd"
},
"aesni": {
"label": "AES new instructions",
- "type": "compile",
- "test": "common/aesni"
+ "type": "x86Simd"
},
"f16c": {
"label": "F16C instructions",
- "type": "compile",
- "test": {
- "include": "immintrin.h",
- "main": [
- "__m128i a = _mm_setzero_si128();",
- "__m128 b = _mm_cvtph_ps(a);",
- "__m256 b256 = _mm256_cvtph_ps(a);",
- "(void) _mm_cvtps_ph(b, 0);",
- "(void) _mm256_cvtps_ph(b256, 0);"
- ],
- "qmake": [
- "!defined(QMAKE_CFLAGS_F16C, var): error(\"This compiler does not support F16C\")",
- "QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_F16C"
- ]
- }
+ "type": "x86Simd"
},
"rdrnd": {
"label": "RDRAND instruction",
- "type": "compile",
- "test": "common/rdrnd"
+ "type": "x86Simd"
},
"shani": {
"label": "SHA new instructions",
- "type": "compile",
- "test": "common/shani"
+ "type": "x86Simd"
},
"avx": {
"label": "AVX instructions",
- "type": "compile",
- "test": {
- "include": "immintrin.h",
- "main": [
- "__m256d a = _mm256_setzero_pd();",
- "__m256d b = _mm256_set1_pd(42.42);",
- "(void) _mm256_add_pd(a, b);"
- ],
- "qmake": [
- "!defined(QMAKE_CFLAGS_AVX, var): error(\"This compiler does not support AVX\")",
- "QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_AVX"
- ]
- }
+ "type": "x86Simd"
},
"avx2": {
"label": "AVX2 instructions",
- "type": "compile",
- "test": {
- "include": "immintrin.h",
- "main": [
- "// AVX",
- "_mm256_zeroall();",
- "__m256i a = _mm256_setzero_si256();",
- "// AVX2",
- "__m256i b = _mm256_and_si256(a, a);",
- "(void) _mm256_add_epi8(a, b);"
- ],
- "qmake": [
- "!defined(QMAKE_CFLAGS_AVX2, var): error(\"This compiler does not support AVX2\")",
- "QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_AVX2"
- ]
- }
+ "type": "x86Simd"
},
"avx512f": {
"label": "AVX512 F instructions",
- "type": "compile",
- "test": "avx512",
- "args": "AVX512=F"
+ "type": "x86Simd"
},
"avx512er": {
"label": "AVX512 ER instructions",
- "type": "compile",
- "test": "avx512",
- "args": "AVX512=ER"
+ "type": "x86Simd"
},
"avx512cd": {
"label": "AVX512 CD instructions",
- "type": "compile",
- "test": "avx512",
- "args": "AVX512=CD"
+ "type": "x86Simd"
},
"avx512pf": {
"label": "AVX512 PF instructions",
- "type": "compile",
- "test": "avx512",
- "args": "AVX512=PF"
+ "type": "x86Simd"
},
"avx512dq": {
"label": "AVX512 DQ instructions",
- "type": "compile",
- "test": "avx512",
- "args": "AVX512=DQ"
+ "type": "x86Simd"
},
"avx512bw": {
"label": "AVX512 BW instructions",
- "type": "compile",
- "test": "avx512",
- "args": "AVX512=BW"
+ "type": "x86Simd"
},
"avx512vl": {
"label": "AVX512 VL instructions",
- "type": "compile",
- "test": "avx512",
- "args": "AVX512=VL"
+ "type": "x86Simd"
},
"avx512ifma": {
"label": "AVX512 IFMA instructions",
- "type": "compile",
- "test": "avx512",
- "args": "AVX512=IFMA"
+ "type": "x86Simd"
},
"avx512vbmi": {
"label": "AVX512 VBMI instructions",
- "type": "compile",
- "test": "avx512",
- "args": "AVX512=VBMI"
+ "type": "x86Simd"
+ },
+ "x86SimdAlways": {
+ "label": "Intrinsics without -mXXX argument",
+ "type": "x86SimdAlways",
+ "test": "x86_simd"
},
"mips_dsp": {
"label": "MIPS DSP instructions",
@@ -932,6 +818,12 @@
"condition": "config.linux && tests.enable_new_dtags",
"output": [ "privateConfig" ]
},
+ "enable_gdb_index": {
+ "label": "Generating GDB index",
+ "autoDetect": "features.developer-build",
+ "condition": "config.gcc && !config.clang && (features.debug || features.force_debug_info || features.debug_and_release) && tests.gdb_index",
+ "output": [ "privateConfig" ]
+ },
"reduce_exports": {
"label": "Reduce amount of exported symbols",
"condition": "!config.win32 && tests.reduce_exports",
@@ -1112,6 +1004,14 @@
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SHA", "value": 1 }
]
},
+ "x86SimdAlways": {
+ "label": "Intrinsics without -mXXX option",
+ "condition": "(arch.i386 || arch.x86_64) && tests.x86SimdAlways",
+ "output": [
+ "privateConfig",
+ { "type": "define", "name": "QT_COMPILER_SUPPORTS_SIMD_ALWAYS", "value": 1 }
+ ]
+ },
"mips_dsp": {
"label": "DSP",
"condition": "arch.mips && tests.mips_dsp",
@@ -1166,10 +1066,17 @@
"condition": "libs.zlib",
"output": [ "privateFeature" ]
},
+ "future": {
+ "label": "QFuture",
+ "purpose": "Provides QFuture and related classes.",
+ "section": "Kernel",
+ "output": [ "publicFeature" ]
+ },
"concurrent": {
"label": "Qt Concurrent",
"purpose": "Provides a high-level multi-threading API.",
"section": "Kernel",
+ "condition": "features.future",
"output": [ "publicFeature", "feature" ]
},
"dbus": {
@@ -1235,13 +1142,6 @@
"condition": "libs.libudev",
"output": [ "privateFeature" ]
},
- "qml-debug": {
- "label": "QML debugging",
- "output": [
- "privateFeature",
- { "type": "publicQtConfig", "negative": true }
- ]
- },
"compile_examples": {
"label": "Compile examples",
"output": [ "privateConfig" ]
@@ -1376,6 +1276,11 @@ Configure with '-qreal float' to create a build that is binary-compatible with 5
"args": "enable_new_dtags",
"condition": "config.linux"
},
+ {
+ "type": "feature",
+ "args": "enable_gdb_index",
+ "condition": "config.gcc && !config.clang && (features.debug || features.force_debug_info || features.debug_and_release)"
+ },
"precompile_header",
"ltcg",
{
@@ -1407,6 +1312,11 @@ Configure with '-qreal float' to create a build that is binary-compatible with 5
},
{
"type": "feature",
+ "args": "x86SimdAlways",
+ "condition": "(arch.i386 || arch.x86_64) && !config.msvc"
+ },
+ {
+ "type": "feature",
"args": "neon",
"condition": "arch.arm || arch.arm64"
},
@@ -1454,7 +1364,6 @@ Configure with '-qreal float' to create a build that is binary-compatible with 5
"section": "Support enabled for",
"entries": [
"pkg-config",
- "qml-debug",
"libudev",
"system-zlib"
]