X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=inline;f=source%2Fsourcepackage.cpp;h=d0524e84dab7af88e1d48f40c63fdded7b00e677;hb=6ed04f66e56958890c2ecca82fa3885f10f8adf0;hp=3b0b296c2bdb1fb8f1955479f4f0929d15cc746e;hpb=69cdee2c53972c1dd7e1b9d83ddcd8f6c3c589f7;p=builder.git diff --git a/source/sourcepackage.cpp b/source/sourcepackage.cpp index 3b0b296..d0524e8 100644 --- a/source/sourcepackage.cpp +++ b/source/sourcepackage.cpp @@ -1,9 +1,11 @@ #include +#include #include #include #include #include "binarypackage.h" #include "builder.h" +#include "file.h" #include "misc.h" #include "pkgconfigfile.h" #include "tool.h" @@ -20,15 +22,18 @@ bool component_sort(const Component &c1, const Component &c2) } -SourcePackage::SourcePackage(Builder &b, const string &n, const FS::Path &s): +SourcePackage::SourcePackage(Builder &b, const string &n, const FS::Path &f): Package(b, n), - source_dir(s), + source_dir(FS::dirname(f)), build_type(0), config(*this), deps_cache(*this) { config.load(); + build_file = builder.get_vfs().get_target(f); + if(!build_file) + build_file = new File(builder, *this, f); components.push_back(Component(*this, Component::TARBALL, "@src")); } @@ -68,10 +73,6 @@ void SourcePackage::create_build_info() if(build_type) build_info.update_from(build_type->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()); - build_info.incpath.push_back((builder.get_prefix()/"include").str()); build_info.libpath.push_back((builder.get_prefix()/"lib").str());