]> git.tdb.fi Git - builder.git/blobdiff - source/sourcepackage.cpp
Support default values for features
[builder.git] / source / sourcepackage.cpp
index f5b9f09b533d7f4abbfc9336b4bddf91d6ea6bce..889bf7baab3ff0735037b3e2809bcc8273066e70 100644 (file)
@@ -130,13 +130,13 @@ void SourcePackage::init_config()
        config.add_option("tempdir",    "temp",    "Directory for storing temporary files");
        config.add_option("outdir",     ".",       "Directory to put build results in");
        config.add_option("optimize",   "0",       "Apply compiler optimizations");
-       config.add_option("strip",      "0",       "Strip symbols from programs");
-       config.add_option("debug",      "0",       "Produce debugging symbols");
+       config.add_option("strip",      "no",      "Strip symbols from programs");
+       config.add_option("debug",      "no",      "Produce debugging symbols");
        config.add_option("cpu",        "none",    "CPU type to optimize for");
        config.add_option("staticlibs", "local",   "Use static libraries");
 
        for(FeatureList::iterator i=features.begin(); i!=features.end(); ++i)
-               config.add_option("with_"+i->name, "0", i->descr);
+               config.add_option("with_"+i->name, i->def_value, i->descr);
 
        for(PackageList::const_iterator i=requires.begin(); i!=requires.end(); ++i)
        {
@@ -235,7 +235,11 @@ void SourcePackage::Loader::finish()
 
 void SourcePackage::Loader::feature(const string &n, const string &d)
 {
-       static_cast<SourcePackage &>(pkg).features.push_back(Feature(n, d));
+       Feature feat(n);
+       feat.descr = d;
+       feat.def_value = "no";
+       load_sub(feat);
+       static_cast<SourcePackage &>(pkg).features.push_back(feat);
 }
 
 void SourcePackage::Loader::condition(const string &c)