mkspecs/features/symbian/add_mmp_rules.prf
author Eckhart Koeppen <eckhart.koppen@nokia.com>
Wed, 21 Apr 2010 12:15:23 +0300
branchRCL_3
changeset 12 cc75c76972ee
parent 7 3f74d0d4af4c
permissions -rw-r--r--
a69086a7359b3de9db0823ce58d9aab8b5c369be

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