]> git.tdb.fi Git - builder.git/blobdiff - source/sourcepackage.cpp
Tool names are no longer retrieved from Architecture
[builder.git] / source / sourcepackage.cpp
index 7160013b4267bf19cbebbb7cc521efcb104def67..60276daff288bb48cc2292bf12e91f5b88d882e2 100644 (file)
@@ -1,10 +1,3 @@
-/* $Id$
-
-This file is part of builder
-Copyright © 2007-2010  Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
 #include <cstdlib>
 #include <msp/io/print.h>
 #include <msp/strings/lexicalcast.h>
@@ -188,8 +181,6 @@ void SourcePackage::init_config()
 
 void SourcePackage::create_build_info()
 {
-       build_info.add(builder.get_current_arch().get_build_info());
-
        // 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());
@@ -207,23 +198,25 @@ void SourcePackage::create_build_info()
        string optimize = config.get_option("optimize").value;
        if(!optimize.empty() && optimize!="0")
        {
-               build_info.cflags.push_back("-O"+optimize);
-               build_info.ldflags.push_back("-O"+optimize);
+               if(optimize=="s" || optimize=="size")
+                       build_info.optimize = -1;
+               else
+                       build_info.optimize = lexical_cast<unsigned>(optimize);
        }
 
        if(lexical_cast<bool>(config.get_option("debug").value))
        {
-               build_info.cflags.push_back("-ggdb");
-               build_info.defines.push_back("DEBUG");
+               build_info.debug = true;
+               build_info.defines["DEBUG"] = "1";
        }
 
        for(FeatureList::iterator i=features.begin(); i!=features.end(); ++i)
                if(lexical_cast<bool>(config.get_option("with_"+i->name).value))
-                       build_info.cflags.push_back("-DWITH_"+toupper(i->name));
+                       build_info.defines["WITH_"+toupper(i->name)] = "1";
 
        for(ConditionList::iterator i=conditions.begin(); i!=conditions.end(); ++i)
                if(i->eval())
-                       build_info.add(i->get_build_info());
+                       build_info.update_from(i->get_build_info());
 
        build_info.unique();