]> git.tdb.fi Git - builder.git/blobdiff - source/builder.cpp
Use a unique exit_code value to indicate fork failure
[builder.git] / source / builder.cpp
index 9fdb8ee6a56e6b9fb5dfa709cd8d6e90cfdd596e..b3e096848f5de0db856a644450f2482ca90e20bc 100644 (file)
@@ -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));
                }
        }
 
@@ -584,7 +584,20 @@ int Builder::do_build()
                                        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" : ""));