Signed-off-by: Clemens Gruber <clemens.gru...@pqgruber.com> --- ...001-Add-GNU-make-jobserver-client-support.patch | 26 ++++++++-------- ...enPool-monitoring-to-SubprocessSet-DoWork.patch | 36 +++++++++++----------- patches/{ninja-1.7.2 => ninja-1.8.2}/series | 0 rules/host-ninja.make | 4 +-- 4 files changed, 33 insertions(+), 33 deletions(-) rename patches/{ninja-1.7.2 => ninja-1.8.2}/0001-Add-GNU-make-jobserver-client-support.patch (94%) rename patches/{ninja-1.7.2 => ninja-1.8.2}/0002-Add-TokenPool-monitoring-to-SubprocessSet-DoWork.patch (93%) rename patches/{ninja-1.7.2 => ninja-1.8.2}/series (100%)
diff --git a/patches/ninja-1.7.2/0001-Add-GNU-make-jobserver-client-support.patch b/patches/ninja-1.8.2/0001-Add-GNU-make-jobserver-client-support.patch similarity index 94% rename from patches/ninja-1.7.2/0001-Add-GNU-make-jobserver-client-support.patch rename to patches/ninja-1.8.2/0001-Add-GNU-make-jobserver-client-support.patch index dd6ccd83e..5c23e036e 100644 --- a/patches/ninja-1.7.2/0001-Add-GNU-make-jobserver-client-support.patch +++ b/patches/ninja-1.8.2/0001-Add-GNU-make-jobserver-client-support.patch @@ -31,10 +31,10 @@ Fixes https://github.com/ninja-build/ninja/issues/1139 create mode 100644 src/tokenpool.h diff --git a/configure.py b/configure.py -index 9ec368f364f3..2037121186b5 100755 +index a4437489426e..41d95469c00d 100755 --- a/configure.py +++ b/configure.py -@@ -494,6 +494,7 @@ for name in ['build', +@@ -499,6 +499,7 @@ for name in ['build', objs += cxx(name) if platform.is_windows(): for name in ['subprocess-win32', @@ -42,7 +42,7 @@ index 9ec368f364f3..2037121186b5 100755 'includes_normalize-win32', 'msvc_helper-win32', 'msvc_helper_main-win32']: -@@ -503,6 +504,7 @@ if platform.is_windows(): +@@ -508,6 +509,7 @@ if platform.is_windows(): objs += cc('getopt') else: objs += cxx('subprocess-posix') @@ -51,10 +51,10 @@ index 9ec368f364f3..2037121186b5 100755 objs += cc('getopt') if platform.is_msvc(): diff --git a/src/build.cc b/src/build.cc -index 64710ddec0dd..c3dcc5899981 100644 +index 61ef0e849add..cc796ff838fa 100644 --- a/src/build.cc +++ b/src/build.cc -@@ -33,6 +33,7 @@ +@@ -38,6 +38,7 @@ #include "graph.h" #include "state.h" #include "subprocess.h" @@ -62,7 +62,7 @@ index 64710ddec0dd..c3dcc5899981 100644 #include "util.h" namespace { -@@ -364,7 +365,7 @@ bool Plan::CheckDependencyCycle(Node* node, const vector<Node*>& stack, +@@ -347,7 +348,7 @@ bool Plan::AddSubTarget(Node* node, Node* dependent, string* err) { } Edge* Plan::FindWork() { @@ -71,7 +71,7 @@ index 64710ddec0dd..c3dcc5899981 100644 return NULL; set<Edge*>::iterator e = ready_.begin(); Edge* edge = *e; -@@ -502,8 +503,8 @@ void Plan::Dump() { +@@ -485,8 +486,8 @@ void Plan::Dump() { } struct RealCommandRunner : public CommandRunner { @@ -82,7 +82,7 @@ index 64710ddec0dd..c3dcc5899981 100644 virtual bool CanRunMore(); virtual bool StartCommand(Edge* edge); virtual bool WaitForCommand(Result* result); -@@ -512,9 +513,18 @@ struct RealCommandRunner : public CommandRunner { +@@ -495,9 +496,18 @@ struct RealCommandRunner : public CommandRunner { const BuildConfig& config_; SubprocessSet subprocs_; @@ -101,7 +101,7 @@ index 64710ddec0dd..c3dcc5899981 100644 vector<Edge*> RealCommandRunner::GetActiveEdges() { vector<Edge*> edges; for (map<Subprocess*, Edge*>::iterator e = subproc_to_edge_.begin(); -@@ -525,14 +535,18 @@ vector<Edge*> RealCommandRunner::GetActiveEdges() { +@@ -508,14 +518,18 @@ vector<Edge*> RealCommandRunner::GetActiveEdges() { void RealCommandRunner::Abort() { subprocs_.Clear(); @@ -122,7 +122,7 @@ index 64710ddec0dd..c3dcc5899981 100644 } bool RealCommandRunner::StartCommand(Edge* edge) { -@@ -540,6 +554,8 @@ bool RealCommandRunner::StartCommand(Edge* edge) { +@@ -523,6 +537,8 @@ bool RealCommandRunner::StartCommand(Edge* edge) { Subprocess* subproc = subprocs_.Add(command, edge->use_console()); if (!subproc) return false; @@ -131,7 +131,7 @@ index 64710ddec0dd..c3dcc5899981 100644 subproc_to_edge_.insert(make_pair(subproc, edge)); return true; -@@ -553,6 +569,9 @@ bool RealCommandRunner::WaitForCommand(Result* result) { +@@ -536,6 +552,9 @@ bool RealCommandRunner::WaitForCommand(Result* result) { return false; } @@ -141,7 +141,7 @@ index 64710ddec0dd..c3dcc5899981 100644 result->status = subproc->Finish(); result->output = subproc->GetOutput(); -@@ -660,23 +679,23 @@ bool Builder::Build(string* err) { +@@ -644,23 +663,23 @@ bool Builder::Build(string* err) { // Second, we attempt to wait for / reap the next finished command. while (plan_.more_to_do()) { // See if we can start any more commands. @@ -181,7 +181,7 @@ index 64710ddec0dd..c3dcc5899981 100644 // See if we can reap any finished commands. diff --git a/src/build.h b/src/build.h -index 66ce607676d2..651e1e6540bc 100644 +index 43786f1c928f..cca7e8d8181d 100644 --- a/src/build.h +++ b/src/build.h @@ -53,6 +53,9 @@ struct Plan { diff --git a/patches/ninja-1.7.2/0002-Add-TokenPool-monitoring-to-SubprocessSet-DoWork.patch b/patches/ninja-1.8.2/0002-Add-TokenPool-monitoring-to-SubprocessSet-DoWork.patch similarity index 93% rename from patches/ninja-1.7.2/0002-Add-TokenPool-monitoring-to-SubprocessSet-DoWork.patch rename to patches/ninja-1.8.2/0002-Add-TokenPool-monitoring-to-SubprocessSet-DoWork.patch index bd162c37c..caf8a5aac 100644 --- a/patches/ninja-1.7.2/0002-Add-TokenPool-monitoring-to-SubprocessSet-DoWork.patch +++ b/patches/ninja-1.8.2/0002-Add-TokenPool-monitoring-to-SubprocessSet-DoWork.patch @@ -24,10 +24,10 @@ ninja a more aggressive GNU make jobserver client. 10 files changed, 108 insertions(+), 29 deletions(-) diff --git a/src/build.cc b/src/build.cc -index c3dcc5899981..db6da983cee4 100644 +index cc796ff838fa..ccd67697786d 100644 --- a/src/build.cc +++ b/src/build.cc -@@ -45,7 +45,7 @@ struct DryRunCommandRunner : public CommandRunner { +@@ -50,7 +50,7 @@ struct DryRunCommandRunner : public CommandRunner { // Overridden from CommandRunner: virtual bool CanRunMore(); virtual bool StartCommand(Edge* edge); @@ -36,7 +36,7 @@ index c3dcc5899981..db6da983cee4 100644 private: queue<Edge*> finished_; -@@ -60,7 +60,7 @@ bool DryRunCommandRunner::StartCommand(Edge* edge) { +@@ -65,7 +65,7 @@ bool DryRunCommandRunner::StartCommand(Edge* edge) { return true; } @@ -45,7 +45,7 @@ index c3dcc5899981..db6da983cee4 100644 if (finished_.empty()) return false; -@@ -507,7 +507,7 @@ struct RealCommandRunner : public CommandRunner { +@@ -490,7 +490,7 @@ struct RealCommandRunner : public CommandRunner { virtual ~RealCommandRunner(); virtual bool CanRunMore(); virtual bool StartCommand(Edge* edge); @@ -54,7 +54,7 @@ index c3dcc5899981..db6da983cee4 100644 virtual vector<Edge*> GetActiveEdges(); virtual void Abort(); -@@ -561,14 +561,23 @@ bool RealCommandRunner::StartCommand(Edge* edge) { +@@ -544,14 +544,23 @@ bool RealCommandRunner::StartCommand(Edge* edge) { return true; } @@ -81,7 +81,7 @@ index c3dcc5899981..db6da983cee4 100644 if (tokens_) tokens_->Release(); -@@ -701,7 +710,7 @@ bool Builder::Build(string* err) { +@@ -685,7 +694,7 @@ bool Builder::Build(string* err) { // See if we can reap any finished commands. if (pending_commands) { CommandRunner::Result result; @@ -90,7 +90,7 @@ index c3dcc5899981..db6da983cee4 100644 result.status == ExitInterrupted) { Cleanup(); status_->BuildFinished(); -@@ -709,6 +718,10 @@ bool Builder::Build(string* err) { +@@ -693,6 +702,10 @@ bool Builder::Build(string* err) { return false; } @@ -102,10 +102,10 @@ index c3dcc5899981..db6da983cee4 100644 if (!FinishCommand(&result, err)) { Cleanup(); diff --git a/src/build.h b/src/build.h -index 651e1e6540bc..292130942ad5 100644 +index cca7e8d8181d..ec6594f714c0 100644 --- a/src/build.h +++ b/src/build.h -@@ -118,7 +118,7 @@ struct CommandRunner { +@@ -119,7 +119,7 @@ struct CommandRunner { bool success() const { return status == ExitSuccess; } }; /// Wait for a command to complete, or return false if interrupted. @@ -115,10 +115,10 @@ index 651e1e6540bc..292130942ad5 100644 virtual vector<Edge*> GetActiveEdges() { return vector<Edge*>(); } virtual void Abort() {} diff --git a/src/build_test.cc b/src/build_test.cc -index 640e1b01a3c6..20423ccd6d34 100644 +index 46ab33ef86c8..c1d3b047271a 100644 --- a/src/build_test.cc +++ b/src/build_test.cc -@@ -499,7 +499,7 @@ struct FakeCommandRunner : public CommandRunner { +@@ -446,7 +446,7 @@ struct FakeCommandRunner : public CommandRunner { // CommandRunner impl virtual bool CanRunMore(); virtual bool StartCommand(Edge* edge); @@ -127,7 +127,7 @@ index 640e1b01a3c6..20423ccd6d34 100644 virtual vector<Edge*> GetActiveEdges(); virtual void Abort(); -@@ -627,7 +627,7 @@ bool FakeCommandRunner::StartCommand(Edge* edge) { +@@ -575,7 +575,7 @@ bool FakeCommandRunner::StartCommand(Edge* edge) { return true; } @@ -151,7 +151,7 @@ index a714ece791f7..75ebf6a7a0ce 100644 #endif // NINJA_EXIT_STATUS_H_ diff --git a/src/subprocess-posix.cc b/src/subprocess-posix.cc -index 5ffe85b76161..d5862c0ccb89 100644 +index 1de22c38f7fa..980fadf78e0d 100644 --- a/src/subprocess-posix.cc +++ b/src/subprocess-posix.cc @@ -13,6 +13,7 @@ @@ -162,7 +162,7 @@ index 5ffe85b76161..d5862c0ccb89 100644 #include <assert.h> #include <errno.h> -@@ -216,7 +217,7 @@ Subprocess *SubprocessSet::Add(const string& command, bool use_console) { +@@ -219,7 +220,7 @@ Subprocess *SubprocessSet::Add(const string& command, bool use_console) { } #ifdef USE_PPOLL @@ -171,7 +171,7 @@ index 5ffe85b76161..d5862c0ccb89 100644 vector<pollfd> fds; nfds_t nfds = 0; -@@ -230,6 +231,12 @@ bool SubprocessSet::DoWork() { +@@ -233,6 +234,12 @@ bool SubprocessSet::DoWork() { ++nfds; } @@ -184,7 +184,7 @@ index 5ffe85b76161..d5862c0ccb89 100644 interrupted_ = 0; int ret = ppoll(&fds.front(), nfds, NULL, &old_mask_); if (ret == -1) { -@@ -262,11 +269,20 @@ bool SubprocessSet::DoWork() { +@@ -265,11 +272,20 @@ bool SubprocessSet::DoWork() { ++i; } @@ -206,7 +206,7 @@ index 5ffe85b76161..d5862c0ccb89 100644 fd_set set; int nfds = 0; FD_ZERO(&set); -@@ -281,6 +297,13 @@ bool SubprocessSet::DoWork() { +@@ -284,6 +300,13 @@ bool SubprocessSet::DoWork() { } } @@ -220,7 +220,7 @@ index 5ffe85b76161..d5862c0ccb89 100644 interrupted_ = 0; int ret = pselect(nfds, &set, 0, 0, 0, &old_mask_); if (ret == -1) { -@@ -309,6 +332,12 @@ bool SubprocessSet::DoWork() { +@@ -312,6 +335,12 @@ bool SubprocessSet::DoWork() { ++i; } diff --git a/patches/ninja-1.7.2/series b/patches/ninja-1.8.2/series similarity index 100% rename from patches/ninja-1.7.2/series rename to patches/ninja-1.8.2/series diff --git a/rules/host-ninja.make b/rules/host-ninja.make index 712e59644..dbf023c80 100644 --- a/rules/host-ninja.make +++ b/rules/host-ninja.make @@ -16,8 +16,8 @@ HOST_PACKAGES-$(PTXCONF_HOST_NINJA) += host-ninja # # Paths and names # -HOST_NINJA_VERSION := 1.7.2 -HOST_NINJA_MD5 := 7b482218757acbaeac4d4d54a3cd94e1 +HOST_NINJA_VERSION := 1.8.2 +HOST_NINJA_MD5 := 5fdb04461cc7f5d02536b3bfc0300166 HOST_NINJA := ninja-$(HOST_NINJA_VERSION) HOST_NINJA_SUFFIX := tar.gz HOST_NINJA_URL := https://github.com/ninja-build/ninja/archive/v$(HOST_NINJA_VERSION).$(HOST_NINJA_SUFFIX) -- 2.15.1 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de