summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/symbian/add_mmp_rules.prf
diff options
context:
space:
mode:
authorThomas Zander <t.zander@nokia.com>2010-03-02 12:17:49 (GMT)
committerThomas Zander <t.zander@nokia.com>2010-03-02 12:17:49 (GMT)
commitd0c6958922627154bd907569e1ce5b830cb353f6 (patch)
treecbd6a74c2c008205ce596ab57fdd483764f20554 /mkspecs/features/symbian/add_mmp_rules.prf
parent984c227bb23cff57fbad6710fdac5c5dfc056409 (diff)
parent04bda2f714ab2b8352d00a36cec906cdc0ca53ea (diff)
downloadQt-d0c6958922627154bd907569e1ce5b830cb353f6.zip
Qt-d0c6958922627154bd907569e1ce5b830cb353f6.tar.gz
Qt-d0c6958922627154bd907569e1ce5b830cb353f6.tar.bz2
Merge branch 'master' into gcce
Diffstat (limited to 'mkspecs/features/symbian/add_mmp_rules.prf')
-rw-r--r--mkspecs/features/symbian/add_mmp_rules.prf33
1 files changed, 33 insertions, 0 deletions
diff --git a/mkspecs/features/symbian/add_mmp_rules.prf b/mkspecs/features/symbian/add_mmp_rules.prf
new file mode 100644
index 0000000..5384dbe
--- /dev/null
+++ b/mkspecs/features/symbian/add_mmp_rules.prf
@@ -0,0 +1,33 @@
+# Arg1: List of conditions to generate block for
+# Arg2: List of variables containing rules to add
+defineTest(addMMPRules) {
+ unset(myConditions)
+ unset(myVariables)
+ unset(myIfDef)
+
+ myConditions = $$eval($$1) default
+ myVariables = $$eval($$2)
+ myIfDef = if
+
+ for(condition, $$list($$myConditions)) {
+ contains(condition, default) {
+ libBlock = "$${LITERAL_HASH}else"
+ } else {
+ libBlock = "$${LITERAL_HASH}$${myIfDef} defined($${condition})"
+ myIfDef = elif
+ }
+
+ for(var, $$list($$myVariables)) {
+ varVal = $$eval($${var}.$${condition})
+ isEmpty(varVal) {
+ # No value defined for current condition, so use default
+ varVal = $$eval($${var}.default)
+ }
+ !isEmpty(varVal): libBlock += "$$join(varVal,$$escape_expand(\n))"
+ }
+
+ MMP_RULES += $$libBlock
+ }
+ MMP_RULES += "$${LITERAL_HASH}endif"
+ export(MMP_RULES)
+}