X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpkgconfiggenerator.cpp;h=949a4df589747e7da8b64ec0cc39f53544ba8db0;hb=HEAD;hp=827f62d4cff20ec108aab4ebc9e439f8abee1b61;hpb=811a840948aab4e2f4a423d481f076220372a998;p=builder.git diff --git a/source/pkgconfiggenerator.cpp b/source/pkgconfiggenerator.cpp deleted file mode 100644 index 827f62d..0000000 --- a/source/pkgconfiggenerator.cpp +++ /dev/null @@ -1,74 +0,0 @@ -#include -#include -#include -#include "builder.h" -#include "pkgconfigfile.h" -#include "pkgconfiggenerator.h" - -using namespace std; -using namespace Msp; - -PkgConfigGenerator::PkgConfigGenerator(Builder &b): - Tool(b, "PCG") -{ -} - -Target *PkgConfigGenerator::create_target(const list &, const string &) const -{ - throw logic_error("Not implemented"); -} - -Task *PkgConfigGenerator::run(const Target &target) const -{ - const PkgConfigFile &pkgc = dynamic_cast(target); - Worker *worker = new Worker(pkgc); - return new InternalTask(worker); -} - - -PkgConfigGenerator::Worker::Worker(const PkgConfigFile &t): - target(t) -{ } - -void PkgConfigGenerator::Worker::main() -{ - Builder &builder = target.get_package()->get_builder(); - const SourcePackage &spkg = dynamic_cast(*target.get_package()); - - IO::BufferedFile out(target.get_path().str(), IO::M_WRITE); - IO::print(out, "prefix=%s\n", builder.get_prefix().str()); - IO::print(out, "source=%s\n\n", spkg.get_source()); - - IO::print(out, "Name: %s\n", spkg.get_name()); - IO::print(out, "Description: %s\n", spkg.get_description()); - IO::print(out, "Version: %s\n", spkg.get_version()); - - 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(); - IO::print(out, "Libs:"); - for(StringList::const_iterator i=binfo.libpath.begin(); i!=binfo.libpath.end(); ++i) - IO::print(out, " -L%s", FS::relative(*i, builder.get_prefix()).str()); - for(StringList::const_iterator i=binfo.libs.begin(); i!=binfo.libs.end(); ++i) - IO::print(out, " -l%s", *i); - if(binfo.threads) - out.write("-pthread"); - out.put('\n'); - - IO::print(out, "Cflags:"); - for(StringList::const_iterator i=binfo.incpath.begin(); i!=binfo.incpath.end(); ++i) - IO::print(out, " -I%s", FS::relative(*i, builder.get_prefix()).str()); - for(BuildInfo::DefineMap::const_iterator i=binfo.defines.begin(); i!=binfo.defines.end(); ++i) - if(i->second.empty()) - IO::print(out, " -D%s", i->first); - else - IO::print(out, " -D%s=%s", i->first, i->second); - out.put('\n'); - - status = Task::SUCCESS; -}