X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuilder.cpp;h=353bc29a74588945142b29b536bfa17e201ec1e7;hb=8bc8db44c47cd2906c57dccbfb589e41eff7f694;hp=962429672c213180e7900bd1fd7c1db20e3e57a8;hpb=b5ad62c2c4c7eeadd881e3f157bde96e4dd2cc0e;p=builder.git diff --git a/source/builder.cpp b/source/builder.cpp index 9624296..353bc29 100644 --- a/source/builder.cpp +++ b/source/builder.cpp @@ -1,9 +1,16 @@ +/* $Id$ + +This file is part of builder +Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions +Distributed under the LGPL +*/ + #include #include #include #include #include -#include +#include #include #include #include @@ -18,6 +25,7 @@ #include "pkgconfig.h" #include "sharedlibrary.h" #include "systemlibrary.h" +#include "tarball.h" #include "unlink.h" #include "virtualtarget.h" @@ -478,7 +486,7 @@ int Builder::load_build_file(const Path::Path &fn) if(!in) return -1; - Parser::Parser parser(in, fn.str()); + DataFile::Parser parser(in, fn.str()); Loader loader(*this, fn.subpath(0, fn.size()-1)); loader.load(parser); @@ -501,6 +509,9 @@ int Builder::create_targets() Target *install=new VirtualTarget(*this, "install"); world->add_depend(install); + Target *tarballs=new VirtualTarget(*this, "tarballs"); + world->add_depend(tarballs); + for(PackageMap::iterator i=packages.begin(); i!=packages.end(); ++i) { if(!i->second) @@ -517,6 +528,8 @@ int Builder::create_targets() PkgConfig *pc=new PkgConfig(*this, *i->second); install->add_depend(new Install(*this, *i->second, *pc)); } + + tarballs->add_depend(new TarBall(*this, *i->second)); } // Find dependencies until no new targets are created @@ -570,6 +583,9 @@ int Builder::create_targets() world->prepare(); } + for(PackageMap::iterator i=packages.begin(); i!=packages.end(); ++i) + i->second->get_deps_cache().save(); + return 0; }