mkspecs/features/symbian/add_mmp_rules.prf
author Eckhart Koeppen <eckhart.koppen@nokia.com>
Thu, 08 Apr 2010 14:19:33 +0300
branchRCL_3
changeset 8 3f74d0d4af4c
child 33 3e2da88830cd
permissions -rw-r--r--
qt:70947f0f93d948bc89b3b43d00da758a51f1ef84

# 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)
}