X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpkgconfigaction.cpp;h=23684f653348c296705cd2b62c721c97640b8a68;hb=7edb751727a176f58da886c2424d4840a0a910fd;hp=b5678a962684d50290f64d7e03353872c21ecb25;hpb=39e1c3a79129a1718b5751c17a1cc6cc6903090e;p=builder.git diff --git a/source/pkgconfigaction.cpp b/source/pkgconfigaction.cpp index b5678a9..23684f6 100644 --- a/source/pkgconfigaction.cpp +++ b/source/pkgconfigaction.cpp @@ -5,14 +5,16 @@ Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ -#include #include #include +#include +#include #include "package.h" #include "pkgconfig.h" #include "pkgconfigaction.h" using namespace std; +using namespace Msp; PkgConfigAction::PkgConfigAction(Builder &b, const PkgConfig &p): Action(b) @@ -21,45 +23,40 @@ PkgConfigAction::PkgConfigAction(Builder &b, const PkgConfig &p): announce(spkg.get_name(), "PC", relative(p.get_name(), spkg.get_source()).str()); - ofstream out(p.get_name().c_str()); - if(out) - { - // Prefix is already included in the various paths - //out<<"prefix="<get_use_pkgconfig()) - out<<' '<<(*i)->get_name(); - out<<'\n'; + IO::print(out, "Requires:"); + const PackageList &reqs=spkg.get_requires(); + for(PackageList::const_iterator i=reqs.begin(); i!=reqs.end(); ++i) + if((*i)->get_use_pkgconfig()) + IO::print(out, " %s", (*i)->get_name()); + out.put('\n'); - const BuildInfo &binfo=spkg.get_exported_binfo(); - out<<"Libs:"; - for(StringList::const_iterator i=binfo.libpath.begin(); i!=binfo.libpath.end(); ++i) - out<<" -L"<<*i; - for(StringList::const_iterator i=binfo.libs.begin(); i!=binfo.libs.end(); ++i) - out<<" -l"<<*i; - for(StringList::const_iterator i=binfo.ldflags.begin(); i!=binfo.ldflags.end(); ++i) - out<<' '<<*i; - out<<'\n'; + const BuildInfo &binfo=spkg.get_exported_binfo(); + IO::print(out, "Libs:"); + for(StringList::const_iterator i=binfo.libpath.begin(); i!=binfo.libpath.end(); ++i) + IO::print(out, " -L%s", *i); + for(StringList::const_iterator i=binfo.libs.begin(); i!=binfo.libs.end(); ++i) + IO::print(out, " -l%s", *i); + for(StringList::const_iterator i=binfo.ldflags.begin(); i!=binfo.ldflags.end(); ++i) + IO::print(out, " %s", *i); + out.put('\n'); - out<<"Cflags:"; - for(StringList::const_iterator i=binfo.incpath.begin(); i!=binfo.incpath.end(); ++i) - out<<" -I"<<*i; - for(StringList::const_iterator i=binfo.defines.begin(); i!=binfo.defines.end(); ++i) - out<<" -D"<<*i; - for(StringList::const_iterator i=binfo.cflags.begin(); i!=binfo.cflags.end(); ++i) - out<<' '<<*i; - out<<'\n'; - } - else - cerr<<"Can't open "<