From 611b7c9ce77f1b02fc389583c24fbe7d49cce8a8 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 10 Feb 2017 13:01:08 +0100 Subject: de-duplicate and simplify condition checking in qtConfProcessOneOutput() amends 90eee08b3. Change-Id: If1fa2b14d758cc252d9a2ec3f9deedd1dd200c5e Reviewed-by: Lars Knoll --- mkspecs/features/qt_configure.prf | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'mkspecs/features/qt_configure.prf') diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index 6d78dc9484..aeaf666a5c 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -1739,10 +1739,6 @@ defineTest(qtConfProcessOneOutput) { fpfx = $${currentConfig}.features.$${feature} opfx = $${fpfx}.output.$${2} - condition = $$eval($${opfx}.condition) - !isEmpty(condition):!$$qtConfEvaluate($$condition): \ - return() - call = $$eval($${opfx}.type) isEmpty(call) { # output is just a string, not an object @@ -1751,11 +1747,8 @@ defineTest(qtConfProcessOneOutput) { !defined("qtConfOutput_$$call", test): \ error("Undefined type '$$call' in output '$$2' of feature '$$feature'.") - condition = $$eval($${opfx}.condition) - !isEmpty(condition) { - !$$qtConfEvaluate($$condition): \ - return(false) - } + !$$qtConfEvaluate($$eval($${opfx}.condition)): \ + return() $${opfx}.feature = $$feature qtConfOutput_$${call}($$opfx, $$eval($${fpfx}.available)) -- cgit v1.2.3 From b9c5c7139ea1054f69a1c43ca2cd7212206a41e5 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 21 Feb 2017 17:39:43 +0100 Subject: don't assume that configure --foo options' value is 'yes' otherwise, the invalid "--qpa xcb" would complain about "xcb" being unknown, rather than "--qpa" missing an argument. actual booleans are handled by the type-specific callback, just like -foo would be. Task-number: QTBUG-59062 Change-Id: I96632dacfb721cfcbf223b76f6c5c38c810e8d0e Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_configure.prf | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'mkspecs/features/qt_configure.prf') diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index aeaf666a5c..656a885795 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -125,7 +125,8 @@ defineTest(qtConfValidateValue) { defineTest(qtConfCommandline_string) { opt = $${1} val = $${2} - isEmpty(val): val = $$qtConfGetNextCommandlineArg() + nextok = $${3} + isEmpty(val):$$nextok: val = $$qtConfGetNextCommandlineArg() # Note: Arguments which are variable assignments are legit here. contains(val, "^-.*")|isEmpty(val) { @@ -142,9 +143,10 @@ defineTest(qtConfCommandline_string) { defineTest(qtConfCommandline_optionalString) { opt = $${1} val = $${2} + nextok = $${3} isEmpty(val) { - v = $$qtConfPeekNextCommandlineArg() - contains(v, "^-.*|[A-Z_]+=.*")|isEmpty(v): \ + $$nextok: val = $$qtConfPeekNextCommandlineArg() + contains(val, "^-.*|[A-Z_]+=.*")|isEmpty(val): \ val = "yes" else: \ val = $$qtConfGetNextCommandlineArg() @@ -160,7 +162,8 @@ defineTest(qtConfCommandline_optionalString) { defineTest(qtConfCommandline_addString) { opt = $${1} val = $${2} - isEmpty(val): val = $$qtConfGetNextCommandlineArg() + nextok = $${3} + isEmpty(val):$$nextok: val = $$qtConfGetNextCommandlineArg() # Note: Arguments which are variable assignments are legit here. contains(val, "^-.*")|isEmpty(val) { @@ -236,6 +239,7 @@ defineTest(qtConfParseCommandLine) { } # parse out opt and val + nextok = false contains(c, "^--?enable-(.*)") { opt = $$replace(c, "^--?enable-(.*)", "\\1") val = yes @@ -247,10 +251,11 @@ defineTest(qtConfParseCommandLine) { val = $$replace(c, "^--([^=]+)=(.*)", "\\2") } else: contains(c, "^--(.*)") { opt = $$replace(c, "^--(.*)", "\\1") - val = yes + val = } else: contains(c, "^-(.*)") { opt = $$replace(c, "^-(.*)", "\\1") val = + nextok = true for (cc, allConfigs) { type = $$eval($${cc}.commandline.options.$${opt}) !isEmpty(type): break() @@ -277,6 +282,7 @@ defineTest(qtConfParseCommandLine) { contains(c, $$e) { opt = $$eval($${cc}.commandline.prefix.$${p}) val = $$replace(c, $$e, "\\1") + nextok = true type = "addString" break() } @@ -315,7 +321,7 @@ defineTest(qtConfParseCommandLine) { error("Command line option '$$c' has unknown type '$$type'.") # now that we have opt and value, process it - $${call}($$opt, $$val) + $${call}($$opt, $$val, $$nextok) } } -- cgit v1.2.3