-/* $Id$
-
-This file is part of builder
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
+#include <msp/io/print.h>
#include <msp/strings/utils.h>
#include "binarypackage.h"
#include "builder.h"
Package(b, n),
need_path(false)
{
- use_pkgconfig=false;
+ use_pkgconfig = false;
}
-/**
-Sets the path where the package files were installed. This is only useful if
-the package doesn't use pkg-config.
-*/
-void BinaryPackage::set_path(const Msp::Path::Path &p)
+void BinaryPackage::set_path(const FS::Path &p)
{
- path=builder.get_cwd()/p;
+ path = builder.get_cwd()/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();
+ *i = (path/i->substr(1)).str();
for(StringList::iterator i=export_binfo.libpath.begin(); i!=export_binfo.libpath.end(); ++i)
if((*i)[0]=='@')
- *i=(path/i->substr(1)).str();
+ *i = (path/i->substr(1)).str();
}
BinaryPackage *BinaryPackage::from_pkgconfig(Builder &builder, const string &name)
{
- list<string> argv;
- argv.push_back("pkg-config");
- argv.push_back("--silence-errors");
- argv.push_back("--cflags");
- argv.push_back("--libs");
- argv.push_back(name);
- string info=run_command(argv);
-
- if(info.empty())
- return 0;
-
+ string info = builder.run_pkgconfig(name, "flags");
- BinaryPackage *pkg=new BinaryPackage(builder, name);
- pkg->use_pkgconfig=true;
- BuildInfo &binfo=pkg->export_binfo;
+ BinaryPackage *pkg = new BinaryPackage(builder, name);
+ pkg->use_pkgconfig = true;
+ BuildInfo &binfo = pkg->export_binfo;
- vector<string> flags=split(info);
+ vector<string> flags = split(info);
for(vector<string>::const_iterator i=flags.begin(); i!=flags.end(); ++i)
{
if(!i->compare(0, 2, "-I"))