X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbinarypackage.cpp;h=514481f0066c56a3febb253a81708d3ff51c16da;hb=fb964901e923bd6bde80c64dde21020fae88bf77;hp=bc3e5c929ec41af7d6a5b515f2ac2a17501c50b1;hpb=45c778b1976de1a3093e0c6fb5e2a94c42073dcb;p=builder.git diff --git a/source/binarypackage.cpp b/source/binarypackage.cpp index bc3e5c9..514481f 100644 --- a/source/binarypackage.cpp +++ b/source/binarypackage.cpp @@ -20,24 +20,21 @@ void BinaryPackage::set_path(const FS::Path &p) void BinaryPackage::create_build_info() { - for(StringList::iterator i=export_binfo.incpath.begin(); i!=export_binfo.incpath.end(); ++i) - if((*i)[0]=='@') - *i = (path/i->substr(1)).str(); + for(BuildInfo::PathList::iterator i=export_binfo.incpath.begin(); i!=export_binfo.incpath.end(); ++i) + if((*i)[0]=="@") + *i = path/i->subpath(1); - for(StringList::iterator i=export_binfo.libpath.begin(); i!=export_binfo.libpath.end(); ++i) - if((*i)[0]=='@') - *i = (path/i->substr(1)).str(); + for(BuildInfo::PathList::iterator i=export_binfo.libpath.begin(); i!=export_binfo.libpath.end(); ++i) + if((*i)[0]=="@") + *i = path/i->subpath(1); } -BinaryPackage *BinaryPackage::from_pkgconfig(Builder &builder, const string &name) +BinaryPackage *BinaryPackage::from_flags(Builder &builder, const string &name, const vector &flags) { - string info = builder.run_pkgconfig(name, "flags"); - BinaryPackage *pkg = new BinaryPackage(builder, name); pkg->use_pkgconfig = true; BuildInfo &binfo = pkg->export_binfo; - vector flags = split(info); for(vector::const_iterator i=flags.begin(); i!=flags.end(); ++i) { if(!i->compare(0, 2, "-I")) @@ -63,7 +60,7 @@ BinaryPackage *BinaryPackage::from_pkgconfig(Builder &builder, const string &nam BinaryPackage::Loader::Loader(BinaryPackage &p): - Package::Loader(p) + DataFile::DerivedObjectLoader(p) { add("need_path", &BinaryPackage::need_path); add("build_info", &Loader::build_info); @@ -71,5 +68,5 @@ BinaryPackage::Loader::Loader(BinaryPackage &p): void BinaryPackage::Loader::build_info() { - load_sub(static_cast(pkg).export_binfo); + load_sub(obj.export_binfo); }