X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fsourcepackage.cpp;h=60276daff288bb48cc2292bf12e91f5b88d882e2;hb=be6c1ae1dcc97cb3e3019c0384f1bc933fcd321c;hp=7160013b4267bf19cbebbb7cc521efcb104def67;hpb=0458300fda4f345f865a7f3ee4fc0f2020a91983;p=builder.git diff --git a/source/sourcepackage.cpp b/source/sourcepackage.cpp index 7160013..60276da 100644 --- a/source/sourcepackage.cpp +++ b/source/sourcepackage.cpp @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of builder -Copyright © 2007-2010 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #include #include #include @@ -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(optimize); } if(lexical_cast(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(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();