From cb6564b11ea0a81155b59ab178ff75148017a952 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Mon, 27 Feb 2017 16:42:32 +0100 Subject: Block debug builds with GCC 4.8 Skia does not mark inline functions used in optional arch cpp files with always_inline, which means they can be un-inlined and end up as in the object files where the linker will pick one at random without knowing some of them are compiled with optional arch features. Task-number: QTBUG-59154 Change-Id: I8495e04550898b093ab39c4dc0f37ad6e8948864 Reviewed-by: Simon Hausmann --- tools/qmake/mkspecs/features/functions.prf | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'tools/qmake') diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf index 35607986d..a26dbed48 100644 --- a/tools/qmake/mkspecs/features/functions.prf +++ b/tools/qmake/mkspecs/features/functions.prf @@ -210,9 +210,16 @@ defineTest(isSanitizerLinuxClangVersionSupported) { defineTest(isGCCVersionSupported) { # The below will work for gcc 4.7 and up and also match gcc 5 - greaterThan(QT_GCC_MINOR_VERSION, 6):return(true) + CONFIG(release, debug|release): greaterThan(QT_GCC_MINOR_VERSION, 6):return(true) greaterThan(QT_GCC_MAJOR_VERSION, 4):return(true) - skipBuild("Using gcc version "$$QT_GCC_MAJOR_VERSION"."$$QT_GCC_MINOR_VERSION", but at least gcc version 4.7 is required to build Qt WebEngine.") + + # We need GCC 4.9 for debug builds because Skia handles SIMD inlines in headers poorly. + greaterThan(QT_GCC_MINOR_VERSION, 8):return(true) + CONFIG(debug, debug|release) { + skipBuild("Using gcc version "$$QT_GCC_MAJOR_VERSION"."$$QT_GCC_MINOR_VERSION", but at least gcc version 4.9 is required to build debug versions of Qt WebEngine.") + } else { + skipBuild("Using gcc version "$$QT_GCC_MAJOR_VERSION"."$$QT_GCC_MINOR_VERSION", but at least gcc version 4.7 is required to build Qt WebEngine.") + } return(false) } -- cgit v1.2.3