X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuilder.cpp;h=b3e096848f5de0db856a644450f2482ca90e20bc;hb=afd944a9a8b9d727326cdc4d3b7122384a8d9b5d;hp=504fc7d8ea565139fdda95eb731f61ea103fd60e;hpb=c01dc113eca278100ad0b4572082da619d52662e;p=builder.git diff --git a/source/builder.cpp b/source/builder.cpp index 504fc7d..b3e0968 100644 --- a/source/builder.cpp +++ b/source/builder.cpp @@ -24,7 +24,7 @@ #include "installedfile.h" #include "misc.h" #include "package.h" -#include "pkgconfig.h" +#include "pkgconfigfile.h" #include "pkgconfiggenerator.h" #include "sharedlibrary.h" #include "sourcepackage.h" @@ -504,8 +504,8 @@ int Builder::create_targets() if(spkg->get_install_flags()&(SourcePackage::LIB|SourcePackage::INCLUDE)) { - PkgConfig *pc = new PkgConfig(*this, *spkg); - install->add_depend(new InstalledFile(*this, *spkg, *pc)); + PkgConfigFile *pc = new PkgConfigFile(*this, *spkg); + install->add_depend(toolchain.get_tool("CP").create_target(*pc)); } } @@ -581,10 +581,23 @@ int Builder::do_build() if(tgt) { if(tgt->get_tool()) - IO::print("[%-10s] [%-4s] %s\n", tgt->get_package()->get_name(), tgt->get_tool()->get_tag(), tgt->get_name()); + IO::print("%-4s %s\n", tgt->get_tool()->get_tag(), tgt->get_name()); Task *task = tgt->build(); if(task) - tasks.push_back(task); + { + if(verbose>=2) + IO::print("%s\n", task->get_command()); + if(dry_run) + { + task->signal_finished.emit(true); + delete task; + } + else + { + task->start(); + tasks.push_back(task); + } + } if(show_progress) IO::print("%d of %d target%s built\033[1G", count, total, (total!=1 ? "s" : "")); @@ -648,7 +661,8 @@ int Builder::do_clean() for(set::iterator i=clean_tgts.begin(); i!=clean_tgts.end(); ++i) if(FileTarget *ft = dynamic_cast(*i)) - unlink(ft->get_path()); + if(ft->get_mtime()) + FS::unlink(ft->get_path()); return 0; }