]> git.tdb.fi Git - builder.git/blobdiff - source/lib/sourcepackage.cpp
Allow source packages to specify exported build info
[builder.git] / source / lib / sourcepackage.cpp
index 1af2aa693e148831c09f72e327c349f82c0129af..5c286dda9ba39e880cc371cd797a69d7b7cb1341 100644 (file)
@@ -155,6 +155,7 @@ SourcePackage::Loader::Loader(SourcePackage &p, const Config::InputOptions *o):
 {
        add("build_info",  &Loader::build_info);
        add("description", &SourcePackage::description);
+       add("export",      &Loader::exported);
        add("feature",     &Loader::feature);
        add("generate",    &Loader::generate);
        add("install",     &Loader::component<InstallComponent>);
@@ -182,6 +183,12 @@ void SourcePackage::Loader::finish()
        }
 }
 
+void SourcePackage::Loader::exported()
+{
+       ExportLoader ldr(obj);
+       load_sub_with(ldr);
+}
+
 void SourcePackage::Loader::feature(const string &n, const string &d)
 {
        Feature feat(n);
@@ -237,3 +244,18 @@ void SourcePackage::Loader::version(const string &v)
                        break;
        obj.interface_version = obj.version.substr(0, i);
 }
+
+
+SourcePackage::ExportLoader::ExportLoader(SourcePackage &p):
+       ObjectLoader<SourcePackage>(p)
+{
+       add("build_info", &ExportLoader::build_info);
+}
+
+void SourcePackage::ExportLoader::build_info()
+{
+       BuildInfo bi;
+       load_sub(bi);
+       obj.build_info.update_from(bi);
+       obj.export_binfo.update_from(bi);
+}