]> git.tdb.fi Git - builder.git/blobdiff - source/buildinfo.cpp
Minor cleanup to the BuildInfo class
[builder.git] / source / buildinfo.cpp
index 1d598caa7a42a56178d25cee7b9f35800f903098..114a368ecc96feabec39807621d1dc0d1a363e85 100644 (file)
@@ -49,12 +49,16 @@ void BuildInfo::update_from(const BuildInfo &bi, UpdateLevel level)
        for(DefineMap::const_iterator i=bi.defines.begin(); i!=bi.defines.end(); ++i)
                defines[i->first] = i->second;
        incpath.insert(incpath.begin(), bi.incpath.begin(), bi.incpath.end());
+       threads = bi.threads;
+       for(StandardMap::const_iterator i=bi.standards.begin(); i!=bi.standards.end(); ++i)
+               standards[i->first] = i->second;
+
        if(level!=CHAINED)
        {
                libpath.insert(libpath.begin(), bi.libpath.begin(), bi.libpath.end());
                libs.insert(libs.begin(), bi.libs.begin(), bi.libs.end());
        }
-       threads = bi.threads;
+
        if(level==LOCAL)
        {
                sysroot = bi.sysroot;
@@ -63,8 +67,6 @@ void BuildInfo::update_from(const BuildInfo &bi, UpdateLevel level)
                for(LibModeMap::const_iterator i=bi.libmodes.begin(); i!=bi.libmodes.end(); ++i)
                        libmodes[i->first] = i->second;
                keep_symbols.insert(keep_symbols.end(), bi.keep_symbols.begin(), bi.keep_symbols.end());
-               for(StandardMap::const_iterator i=bi.standards.begin(); i!=bi.standards.end(); ++i)
-                       standards[i->first] = i->second;
                debug = bi.debug;
                optimize = bi.optimize;
                strip = bi.strip;
@@ -73,8 +75,10 @@ void BuildInfo::update_from(const BuildInfo &bi, UpdateLevel level)
        }
 
        unique(incpath);
+       unique(local_incpath);
        unique(libpath);
        unique(libs);
+       unique(keep_symbols);
 }