]> git.tdb.fi Git - builder.git/blobdiff - source/sourcepackage.cpp
Various fixes to package dependency and build info handling
[builder.git] / source / sourcepackage.cpp
index 3b107372c78935616ef98da15e2de2085c8ea765..df1677fcce8edc638f8a8eb66cfafe2b6dee7b25 100644 (file)
@@ -107,14 +107,6 @@ void SourcePackage::do_configure(const StringMap &opts, unsigned flag)
                                        requires.push_back(pkg);
                }
 
-       base_reqs = requires;
-
-       for(ComponentList::iterator i=components.begin(); i!=components.end(); ++i)
-       {
-               const PackageList &reqs = i->get_requires();
-               requires.insert(requires.end(), reqs.begin(), reqs.end());
-       }
-
        for(PackageList::iterator i=requires.begin(); i!=requires.end(); ++i)
        {
                BinaryPackage *bpkg = dynamic_cast<BinaryPackage *>(*i);
@@ -123,6 +115,13 @@ void SourcePackage::do_configure(const StringMap &opts, unsigned flag)
        }
 
        deps_cache.load();
+
+       for(ComponentList::iterator i=components.begin(); i!=components.end(); ++i)
+       {
+               const PackageList &reqs = i->get_requires();
+               for(PackageList::const_iterator j=reqs.begin(); j!=reqs.end(); ++j)
+                       (*j)->configure(opts, flag&2);
+       }
 }
 
 void SourcePackage::init_config()
@@ -150,16 +149,6 @@ void SourcePackage::create_build_info()
 {
        build_info.add(builder.get_current_arch().get_build_info());
 
-       for(PackageList::iterator i=base_reqs.begin(); i!=base_reqs.end(); ++i)
-       {
-               const BuildInfo &ebi = (*i)->get_exported_binfo();
-               build_info.add(ebi);
-
-               export_binfo.cflags.insert(export_binfo.cflags.end(), ebi.cflags.begin(), ebi.cflags.end());
-               export_binfo.incpath.insert(export_binfo.incpath.end(), ebi.incpath.begin(), ebi.incpath.end());
-               export_binfo.defines.insert(export_binfo.defines.end(), ebi.defines.begin(), ebi.defines.end());
-       }
-
        // XXX Currently, a package-specific settings will override cmdline.  This might or might not be desirable.
        const StringList &warnings = builder.get_warnings();
        build_info.warnings.insert(build_info.warnings.begin(), warnings.begin(), warnings.end());