     s += "def featureSettings(o):\n";
     s += "    args = \"\"\n";
     for each ( feature in FEATURES.feature )
+        s += configureFeature(feature);
+    for each ( feature in FEATURES.tweak )
         s += configureFeature(feature);
     s += "    return args\n";
 

         NOTE: A good description is absolutely essential.  It should
         state what the feature does, but also what the implications of
         selecting or deselecting it might be.

       No two FEATUREs may name the same feature.


    for each ( feature in FEATURES.feature )
        s += undefDefines(feature);
    s += "\n";
    for each ( feature in FEATURES.tweak )
        s += undefDefines(feature);
    s += "\n";
    for each ( feature in FEATURES.feature )
        s += testDefined(feature);
    s += "\n";
    for each ( feature in FEATURES.tweak )
        s += testDefined(feature);
    s += "\n";
    for each ( feature in FEATURES.feature )
        s += checkRequirements(feature);
    s += "\n";
    for each ( feature in FEATURES.tweak )
        s += checkRequirements(feature);
    s += "\n";
    for each ( x in FEATURES["at-least-one"] )
        s += atLeastOne(x);
    s += "\n";
