summaryrefslogtreecommitdiff
path: root/devel/gmake/patches
diff options
context:
space:
mode:
authorrichard <richard@pkgsrc.org>2013-05-12 05:47:24 +0000
committerrichard <richard@pkgsrc.org>2013-05-12 05:47:24 +0000
commit1dd6d3ab5f2a023c900dc998681bfb38f6afe03e (patch)
tree7402c9afb37cd305d2f1a38ac11e41cdc046cce2 /devel/gmake/patches
parentcb3a7541208b7a1268a9d216b327deaa815603fc (diff)
downloadpkgsrc-1dd6d3ab5f2a023c900dc998681bfb38f6afe03e.tar.gz
Force intermediate targets to be considered if they are non-intermediate for parallel builds in devel/gmake
Diffstat (limited to 'devel/gmake/patches')
-rw-r--r--devel/gmake/patches/patch-remake.c18
-rw-r--r--devel/gmake/patches/patch-tests_scripts_features_parallelism31
2 files changed, 49 insertions, 0 deletions
diff --git a/devel/gmake/patches/patch-remake.c b/devel/gmake/patches/patch-remake.c
new file mode 100644
index 00000000000..447e4135af6
--- /dev/null
+++ b/devel/gmake/patches/patch-remake.c
@@ -0,0 +1,18 @@
+$NetBSD: patch-remake.c,v 1.1 2013/05/12 05:47:24 richard Exp $
+
+upstream: http://git.savannah.gnu.org/cgit/make.git/commit/?id=fbe5b2c9cd612b962836b9391fa2b58c8baed6fc
+Force intermediate targets to be considered if their non-intermediate
+
+--- remake.c.orig 2010-07-13 01:20:42.000000000 +0000
++++ remake.c
+@@ -614,6 +614,10 @@ update_file_1 (struct file *file, unsign
+ d->file->dontcare = file->dontcare;
+ }
+
++ /* We may have already considered this file, when we didn't know
++ we'd need to update it. Force update_file() to consider it and
++ not prune it. */
++ d->file->considered = !considered;
+
+ dep_status |= update_file (d->file, depth);
+
diff --git a/devel/gmake/patches/patch-tests_scripts_features_parallelism b/devel/gmake/patches/patch-tests_scripts_features_parallelism
new file mode 100644
index 00000000000..f6e154e84d2
--- /dev/null
+++ b/devel/gmake/patches/patch-tests_scripts_features_parallelism
@@ -0,0 +1,31 @@
+$NetBSD: patch-tests_scripts_features_parallelism,v 1.1 2013/05/12 05:47:24 richard Exp $
+
+upstream: http://git.savannah.gnu.org/cgit/make.git/commit/?id=fbe5b2c9cd612b962836b9391fa2b58c8baed6fc
+Force intermediate targets to be considered if their non-intermediate
+
+--- tests/scripts/features/parallelism.orig 2010-07-05 18:32:03.000000000 +0000
++++ tests/scripts/features/parallelism
+@@ -194,6 +194,23 @@ rm main.x");
+ rmfiles(qw(foo.y foo.y.in main.bar));
+ }
+
++# Ensure intermediate/secondary files are not pruned incorrectly.
++# See Savannah bug #30653
++
++utouch(-15, 'file2');
++utouch(-10, 'file4');
++utouch(-5, 'file1');
++
++run_make_test(q!
++.INTERMEDIATE: file3
++file4: file3 ; @mv -f $< $@
++file3: file2 ; touch $@
++file2: file1 ; @touch $@
++!,
++ '--no-print-directory -j2', "touch file3");
++
++#rmfiles('file1', 'file2', 'file3', 'file4');
++
+ if ($all_tests) {
+ # Jobserver FD handling is messed up in some way.
+ # Savannah bug #28189