diff --git a/configure.json b/configure.json index 6cb7d3fbbd8e4653727c7263a633107bdf455794..1c01c80ca5e1f8921b83767cf157cd75c6acdb01 100644 --- a/configure.json +++ b/configure.json @@ -303,6 +303,10 @@ "webengine-sanitizer": { "label" : "sanitizer support", "type": "isSanitizerSupported" + }, + "webengine-win-compiler64": { + "label": "64bit compiler", + "type": "isWindowsHostCompiler64" } }, @@ -609,6 +613,12 @@ "autoDetect": "config.sanitizer && tests.webengine-sanitizer", "condition": "config.sanitizer", "output": [ "privateFeature" ] + }, + "webengine-win-compiler64": { + "label": "64bit compiler", + "condition": "config.win32 && tests.webengine-win-compiler64", + "type": "isWindowsHostCompiler64", + "output": [ "privateFeature" ] } }, @@ -642,6 +652,11 @@ "type": "warning", "condition": "config.unix && !features.webengine-host-pkg-config", "message": "host pkg-config not found" + }, + { + "type": "warning", + "condition": "config.win32 && !features.webengine-win-compiler64", + "message": "64-bit cross-building or native toolchain is required to build QtWebEngine." } ], diff --git a/configure.pri b/configure.pri index 82a7de227b3ac57314967b94b553ef2d2e097bda..735b1f734c99a66044316b5d1fbfef0799e65160 100644 --- a/configure.pri +++ b/configure.pri @@ -260,3 +260,12 @@ defineReplace(qtConfFunc_isTestsInBuildParts) { contains(QT_BUILD_PARTS, tests): return(true) return(false) } + +defineTest(qtConfTest_isWindowsHostCompiler64) { + win_host_arch = $$(VSCMD_ARG_HOST_ARCH) + isEmpty(win_host_arch): return(true) + contains(win_host_arch,"x64"): return(true) + qtLog("Required 64-bit cross-building or native toolchain was not detected.") + return(false) +} + diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf index f8c15465571fcde0c2d193e2bccd37331af1b2c9..c3ae7df8dda4d6ea51ae89eab12edeeb3a110104 100644 --- a/mkspecs/features/configure.prf +++ b/mkspecs/features/configure.prf @@ -37,6 +37,11 @@ defineTest(runConfigure) { return(false) } + win32:!qtConfig(webengine-win-compiler64) { + skipBuild("Required 64-bit cross-building or native toolchain could not be found.") + return(false) + } + !qtConfig(webengine-gperf) { skipBuild("Required gperf could not be found.") return(false)