diff --git a/configure.pri b/configure.pri index 25475574303fc8aa0010aceedc7b7b84654a7548..26c57ce61fbebe91d13e962fbda036058cda0e59 100644 --- a/configure.pri +++ b/configure.pri @@ -294,3 +294,21 @@ defineTest(qtConfTest_isWindowsHostCompiler64) { qtLog("Required 64-bit cross-building or native toolchain was not detected.") return(false) } + +# Fixme QTBUG-71772 +defineTest(qtConfTest_hasThumbFlag) { + FLAG = $$extractCFlag("-mthumb") + !isEmpty(FLAG): return(true) + FLAG = $$extractCFlag("-marm") + !isEmpty(FLAG): return(false) + + MARCH = $$extractCFlag("-march=.*") + MARMV = $$replace(MARCH, "armv",) + !isEmpty(MARMV) { + MARMV = $$split(MARMV,) + MARMV = $$member(MARMV, 0) + } + if (isEmpty(MARMV) | lessThan(MARMV, 7)): return(false) + # no flag assume mthumb + return(true) +} diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri index 0eea066e4ebeb1a1444cfea11ccc8425e5db4ac1..752d2281f69aedf5a854358159a950110537d3cb 100644 --- a/src/core/config/linux.pri +++ b/src/core/config/linux.pri @@ -69,6 +69,7 @@ contains(QT_ARCH, "arm") { gn_args += arm_version=$$MARMV } + # TODO: use neon detection from qtbase !lessThan(MARMV, 8) { gn_args += arm_use_neon=true } else { @@ -83,10 +84,16 @@ contains(QT_ARCH, "arm") { } } - MTHUMB = $$extractCFlag("-mthumb") - MARM = $$extractCFlag("-marm") - if (isEmpty(MARMV) | lessThan(MARMV, 7) | !isEmpty(MARM)): gn_args += arm_use_thumb=false - else: !isEmpty(MTHUMB): gn_args += arm_use_thumb=true + qtConfig(webengine-arm-thumb) { + gn_args += arm_use_thumb=true # this adds -mthumb + } else { + gn_args += arm_use_thumb=false + !qtConfig(webengine-system-ffmpeg) { + # Fixme QTBUG-71772 + gn_args += media_use_ffmpeg=false + gn_args += use_webaudio_ffmpeg=false + } + } } contains(QT_ARCH, "mips") { diff --git a/src/core/configure.json b/src/core/configure.json index f49bf08d143239a16af3dc07a70c0b201fce3e02..e176053021a83883a9dabd9430f48dde1fcfc626 100644 --- a/src/core/configure.json +++ b/src/core/configure.json @@ -328,6 +328,10 @@ "webengine-win-compiler64": { "label": "64bit compiler", "type": "isWindowsHostCompiler64" + }, + "webengine-arm-thumb" : { + "label": "thumb instruction set", + "type": "hasThumbFlag" } }, @@ -659,6 +663,11 @@ "label": "64bit compiler", "condition": "config.win32 && tests.webengine-win-compiler64", "output": [ "privateFeature" ] + }, + "webengine-arm-thumb": { + "label": "Thumb instruction set", + "condition": "config.linux && features.webengine-embedded-build && arch.arm && tests.webengine-arm-thumb", + "output": [ "privateFeature" ] } }, @@ -697,6 +706,11 @@ "type": "warning", "condition": "config.win32 && !features.webengine-win-compiler64", "message": "64-bit cross-building or native toolchain is required to build QtWebEngine." + }, + { + "type": "warning", + "condition": "config.linux && features.webengine-embedded-build && !features.webengine-system-ffmpeg && arch.arm && !features.webengine-arm-thumb", + "message": "Thumb instruction set is required to build ffmpeg for QtWebEngine." } ],