diff --git a/base/make/make-3.82-0001-MAKEFLAGS-re-exec.patch b/base/make/make-3.82-0001-MAKEFLAGS-re-exec.patch deleted file mode 100644 index 635d976ad..000000000 --- a/base/make/make-3.82-0001-MAKEFLAGS-re-exec.patch +++ /dev/null @@ -1,85 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../make/make-3.82-0001-MAKEFLAGS-re-exec.patch -# Copyright (C) 2012 The OpenSDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - -From 09a507e60034ce2ca38210a6eeaf1f9552edda68 Mon Sep 17 00:00:00 2001 -From: Christian Wiese -Date: Mon, 22 Oct 2012 17:39:10 +0200 -Subject: [PATCH] MAKEFLAGS re-exec - -ChangeLog: - -2010-08-10 Paul Smith - - * main.c (main): Expand MAKEFLAGS before adding it to the - environment when re-exec'ing. Fixes Savannah bug #30723. - -tests/ChangeLog: - -2010-08-10 Paul Smith - - * scripts/features/reinvoke: Ensure command line variable settings - are preserved across make re-exec. Tests Savannah bug #30723. ---- - main.c | 2 +- - tests/scripts/features/reinvoke | 17 ++++++++++++++++- - 2 files changed, 17 insertions(+), 2 deletions(-) - -diff --git a/main.c b/main.c -index c6989e3..9fe8090 100644 ---- a/main.c -+++ b/main.c -@@ -2093,7 +2093,7 @@ main (int argc, char **argv, char **envp) - const char *pv = define_makeflags (1, 1); - char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1); - sprintf (p, "MAKEFLAGS=%s", pv); -- putenv (p); -+ putenv (allocated_variable_expand (p)); - } - - if (ISDB (DB_BASIC)) -diff --git a/tests/scripts/features/reinvoke b/tests/scripts/features/reinvoke -index 9952ced..eb1a349 100644 ---- a/tests/scripts/features/reinvoke -+++ b/tests/scripts/features/reinvoke -@@ -57,9 +57,24 @@ include $(F)', - # Now try with the file we're not updating being the actual file we're - # including: this and the previous one test different parts of the code. - --run_make_test(undef, "F=b", "[ -f b ] || echo >> b\nhello\n") -+run_make_test(undef, 'F=b', "[ -f b ] || echo >> b\nhello\n") - - &rmfiles('a','b','c'); - -+# Ensure command line variables are preserved properly across re-exec -+# Tests for Savannah bug #30723 -+ -+run_make_test(' -+ifdef RECURSE -+-include foo30723 -+endif -+recurse: ; @$(MAKE) -f $(MAKEFILE_LIST) RECURSE=1 test -+test: ; @echo F.O=$(F.O) -+foo30723: ; @touch $@ -+', -+ '--no-print-directory F.O=bar', "F.O=bar\n"); -+ -+unlink('foo30723'); -+ - # This tells the test driver that the perl test script executed properly. - 1; --- -1.7.2.3 - diff --git a/base/make/make-3.82-0002-oneshell.patch b/base/make/make-3.82-0002-oneshell.patch deleted file mode 100644 index 9ae7109f8..000000000 --- a/base/make/make-3.82-0002-oneshell.patch +++ /dev/null @@ -1,74 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../make/make-3.82-0002-oneshell.patch -# Copyright (C) 2012 The OpenSDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - -From cfa19c5629f0252c4ab9058cadb582890ec3300b Mon Sep 17 00:00:00 2001 -From: Christian Wiese -Date: Mon, 22 Oct 2012 17:47:09 +0200 -Subject: [PATCH] oneshell - -ChangeLog: - -2010-08-13 Paul Smith - - * main.c (main): Add "oneshell" to $(.FEATURES) (forgot to add - this in 3.82!) - -test/ChangeLog: - - * run_make_tests.pl (set_more_defaults): Set a %FEATURES hash to - the features available in $(.FEATURES). ---- - main.c | 2 +- - tests/run_make_tests.pl | 3 +++ - 2 files changed, 4 insertions(+), 1 deletions(-) - -diff --git a/main.c b/main.c -index 9fe8090..782b0de 100644 ---- a/main.c -+++ b/main.c -@@ -1138,7 +1138,7 @@ main (int argc, char **argv, char **envp) - a macro and some compilers (MSVC) don't like conditionals in macros. */ - { - const char *features = "target-specific order-only second-expansion" -- " else-if shortest-stem undefine" -+ " else-if shortest-stem undefine oneshell" - #ifndef NO_ARCHIVES - " archives" - #endif -diff --git a/tests/run_make_tests.pl b/tests/run_make_tests.pl -index 2c8c08b..7291c55 100755 ---- a/tests/run_make_tests.pl -+++ b/tests/run_make_tests.pl -@@ -29,6 +29,7 @@ - # You should have received a copy of the GNU General Public License along with - # this program. If not, see . - -+%FEATURES = (); - - $valgrind = 0; # invoke make with valgrind - $valgrind_args = ''; -@@ -367,6 +368,8 @@ sub set_more_defaults - $parallel_jobs = 1; - } - -+ %FEATURES = map { $_ => 1 } split /\s+/, `sh -c "echo '\\\$(info \\\$(.FEATURES))' | $make_path -f- 2>/dev/null"`; -+ - # Set up for valgrind, if requested. - - if ($valgrind) { --- -1.7.2.3 - diff --git a/base/make/make-3.82-0003-archives-many-objects.patch b/base/make/make-3.82-0003-archives-many-objects.patch deleted file mode 100644 index 074cdab91..000000000 --- a/base/make/make-3.82-0003-archives-many-objects.patch +++ /dev/null @@ -1,141 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../make/make-3.82-0003-archives-many-objects.patch -# Copyright (C) 2012 The OpenSDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - -From d3df5370acf8000b7319417f885a584230658ddc Mon Sep 17 00:00:00 2001 -From: Christian Wiese -Date: Mon, 22 Oct 2012 17:50:44 +0200 -Subject: [PATCH] archives many objects - -ChangeLog: - -2010-08-13 Paul Smith - - * read.c (parse_file_seq): Fix various errors parsing archives - with multiple objects in the parenthesis, as well as wildcards. - Fixes Savannah bug #30612. - -tests/ChangeLog: - -2010-08-13 Paul Smith - - * scripts/features/archives: New regression tests for archive - support. Test for fix to Savannah bug #30612. ---- - read.c | 15 ++++++++----- - tests/scripts/features/archives | 42 +++++++++++++++++++++++++++++++++++++++ - 2 files changed, 51 insertions(+), 6 deletions(-) - create mode 100644 tests/scripts/features/archives - -diff --git a/read.c b/read.c -index a3ad88e..9dfd4ea 100644 ---- a/read.c -+++ b/read.c -@@ -3028,7 +3028,7 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar, - { - /* This looks like the first element in an open archive group. - A valid group MUST have ')' as the last character. */ -- const char *e = p + nlen; -+ const char *e = p; - do - { - e = next_token (e); -@@ -3084,19 +3084,19 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar, - Go to the next item in the string. */ - if (flags & PARSEFS_NOGLOB) - { -- NEWELT (concat (2, prefix, tp)); -+ NEWELT (concat (2, prefix, tmpbuf)); - continue; - } - - /* If we get here we know we're doing glob expansion. - TP is a string in tmpbuf. NLEN is no longer used. - We may need to do more work: after this NAME will be set. */ -- name = tp; -+ name = tmpbuf; - - /* Expand tilde if applicable. */ -- if (tp[0] == '~') -+ if (tmpbuf[0] == '~') - { -- tildep = tilde_expand (tp); -+ tildep = tilde_expand (tmpbuf); - if (tildep != 0) - name = tildep; - } -@@ -3152,7 +3152,10 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar, - else - { - /* We got a chain of items. Attach them. */ -- (*newp)->next = found; -+ if (*newp) -+ (*newp)->next = found; -+ else -+ *newp = found; - - /* Find and set the new end. Massage names if necessary. */ - while (1) -diff --git a/tests/scripts/features/archives b/tests/scripts/features/archives -new file mode 100644 -index 0000000..00aa1af ---- /dev/null -+++ b/tests/scripts/features/archives -@@ -0,0 +1,42 @@ -+# -*-mode: perl-*- -+ -+$description = "Test GNU make's archive management features."; -+ -+$details = "\ -+This only works on systems that support it."; -+ -+# If this instance of make doesn't support archives, skip it -+exists $FEATURES{archives} or return -1; -+ -+# Create some .o files to work with -+utouch(-60, qw(a1.o a2.o a3.o)); -+ -+# Very simple -+run_make_test('all: libxx.a(a1.o)', -+ '', "ar rv libxx.a a1.o\nar: creating libxx.a\na - a1.o\n"); -+ -+# Multiple .o's. Add a new one to the existing library -+run_make_test('all: libxx.a(a1.o a2.o)', -+ '', "ar rv libxx.a a2.o\na - a2.o\n"); -+ -+# Touch one of the .o's so it's rebuilt -+utouch(-40, 'a1.o'); -+run_make_test(undef, '', "ar rv libxx.a a1.o\nr - a1.o\n"); -+ -+# Use wildcards -+run_make_test('all: libxx.a(*.o)', -+ '', "#MAKE#: Nothing to be done for `all'.\n"); -+ -+# Touch one of the .o's so it's rebuilt -+utouch(-30, 'a1.o'); -+run_make_test(undef, '', "ar rv libxx.a a1.o\nr - a1.o\n"); -+ -+# Use both wildcards and simple names -+utouch(-50, 'a2.o'); -+run_make_test('all: libxx.a(a3.o *.o)', '', -+ "ar rv libxx.a a3.o\na - a3.o\nar rv libxx.a a2.o\nr - a2.o\n"); -+ -+rmfiles(qw(a1.o a2.o a3.o libxx.a)); -+ -+# This tells the test driver that the perl test script executed properly. -+1; --- -1.7.2.3 - diff --git a/base/make/make-3.82-0004-improve-glob-speed.patch b/base/make/make-3.82-0004-improve-glob-speed.patch deleted file mode 100644 index b1648827e..000000000 --- a/base/make/make-3.82-0004-improve-glob-speed.patch +++ /dev/null @@ -1,154 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../make/make-3.82-0004-improve-glob-speed.patch -# Copyright (C) 2012 The OpenSDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - -From b905f2002daaacc62cc5c083ebc6f7ba787a793e Mon Sep 17 00:00:00 2001 -From: Christian Wiese -Date: Mon, 22 Oct 2012 17:58:00 +0200 -Subject: [PATCH] improve glob speed - -ChangeLog: - -2011-05-07 Paul Smith - - * read.c (parse_file_seq): Ensure existence checks use glob(). - -2011-05-01 Paul Smith - - * read.c (parse_file_seq): Don't try to invoke glob() unless there - are potential wildcard characters in the filename. Performance - enhancement suggested by Michael Meeks - -tests/Changelog: - -2011-05-07 Paul Smith - - * scripts/functions/wildcard: Verify wildcard used to test for - file existence/non-existence. ---- - read.c | 58 ++++++++++++++++++++++--------------- - tests/scripts/functions/wildcard | 12 ++++++++ - 2 files changed, 46 insertions(+), 24 deletions(-) - -diff --git a/read.c b/read.c -index 9dfd4ea..8587e85 100644 ---- a/read.c -+++ b/read.c -@@ -2904,6 +2904,7 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar, - const char *name; - const char **nlist = 0; - char *tildep = 0; -+ int globme = 1; - #ifndef NO_ARCHIVES - char *arname = 0; - char *memname = 0; -@@ -3112,32 +3113,40 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar, - } - #endif /* !NO_ARCHIVES */ - -- switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl)) -- { -- case GLOB_NOSPACE: -- fatal (NILF, _("virtual memory exhausted")); -+ /* glob() is expensive: don't call it unless we need to. */ -+ if (!(flags & PARSEFS_EXISTS) && strpbrk (name, "?*[") == NULL) -+ { -+ globme = 0; -+ i = 1; -+ nlist = &name; -+ } -+ else -+ switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl)) -+ { -+ case GLOB_NOSPACE: -+ fatal (NILF, _("virtual memory exhausted")); - -- case 0: -- /* Success. */ -- i = gl.gl_pathc; -- nlist = (const char **)gl.gl_pathv; -- break; -+ case 0: -+ /* Success. */ -+ i = gl.gl_pathc; -+ nlist = (const char **)gl.gl_pathv; -+ break; - -- case GLOB_NOMATCH: -- /* If we want only existing items, skip this one. */ -- if (flags & PARSEFS_EXISTS) -- { -- i = 0; -- break; -- } -- /* FALLTHROUGH */ -+ case GLOB_NOMATCH: -+ /* If we want only existing items, skip this one. */ -+ if (flags & PARSEFS_EXISTS) -+ { -+ i = 0; -+ break; -+ } -+ /* FALLTHROUGH */ - -- default: -- /* By default keep this name. */ -- i = 1; -- nlist = &name; -- break; -- } -+ default: -+ /* By default keep this name. */ -+ i = 1; -+ nlist = &name; -+ break; -+ } - - /* For each matched element, add it to the list. */ - while (i-- > 0) -@@ -3177,7 +3186,8 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar, - #endif /* !NO_ARCHIVES */ - NEWELT (concat (2, prefix, nlist[i])); - -- globfree (&gl); -+ if (globme) -+ globfree (&gl); - - #ifndef NO_ARCHIVES - if (arname) -diff --git a/tests/scripts/functions/wildcard b/tests/scripts/functions/wildcard -index 2841f5d..bcd84ad 100644 ---- a/tests/scripts/functions/wildcard -+++ b/tests/scripts/functions/wildcard -@@ -88,4 +88,16 @@ all: ; @echo $(wildcard xz--y*.7) - !, - '', "\n"); - -+# TEST #5: wildcard used to verify file existence -+ -+touch('xxx.yyy'); -+ -+run_make_test(q!exists: ; @echo file=$(wildcard xxx.yyy)!, -+ '', "file=xxx.yyy\n"); -+ -+unlink('xxx.yyy'); -+ -+run_make_test(q!exists: ; @echo file=$(wildcard xxx.yyy)!, -+ '', "file=\n"); -+ - 1; --- -1.7.2.3 - diff --git a/base/make/make-3.82-0005-sort-word-count-algorithm.patch b/base/make/make-3.82-0005-sort-word-count-algorithm.patch deleted file mode 100644 index 20f97c5c9..000000000 --- a/base/make/make-3.82-0005-sort-word-count-algorithm.patch +++ /dev/null @@ -1,186 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../make/make-3.82-0005-sort-word-count-algorithm.patch -# Copyright (C) 2012 The OpenSDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - -From 1515cb543da14853a1751b397317f46dcbdbbbdf Mon Sep 17 00:00:00 2001 -From: Christian Wiese -Date: Mon, 22 Oct 2012 18:01:40 +0200 -Subject: [PATCH] sort word count algorithm - -ChangeLog: - -2011-05-02 Paul Smith - - * function.c (func_sort): Use the same algorithm to count the - number of words we will get after the split, as we use to split. - Based on a patch from Matthias Hopf. Fixes Savannah bug #33125. - -tests/ChangeLog: - -2011-05-02 Paul Smith - - * scripts/functions/sort: Add a test for Savannah bug #33125. ---- - function.c | 17 ++----- - tests/scripts/functions/sort | 98 +++++++++++++++++++---------------------- - 2 files changed, 50 insertions(+), 65 deletions(-) - -diff --git a/function.c b/function.c -index e2f6c8c..17ca6a4 100644 ---- a/function.c -+++ b/function.c -@@ -706,7 +706,7 @@ func_words (char *o, char **argv, const char *funcname UNUSED) - const char *word_iterator = argv[0]; - char buf[20]; - -- while (find_next_token (&word_iterator, (unsigned int *) 0) != 0) -+ while (find_next_token (&word_iterator, NULL) != 0) - ++i; - - sprintf (buf, "%d", i); -@@ -1133,21 +1133,14 @@ func_sort (char *o, char **argv, const char *funcname UNUSED) - - /* Find the maximum number of words we'll have. */ - t = argv[0]; -- wordi = 1; -- while (*t != '\0') -+ wordi = 0; -+ while ((p = find_next_token (&t, NULL)) != 0) - { -- char c = *(t++); -- -- if (! isspace ((unsigned char)c)) -- continue; -- -+ ++t; - ++wordi; -- -- while (isspace ((unsigned char)*t)) -- ++t; - } - -- words = xmalloc (wordi * sizeof (char *)); -+ words = xmalloc ((wordi == 0 ? 1 : wordi) * sizeof (char *)); - - /* Now assign pointers to each string in the array. */ - t = argv[0]; -diff --git a/tests/scripts/functions/sort b/tests/scripts/functions/sort -index d472102..b558910 100644 ---- a/tests/scripts/functions/sort -+++ b/tests/scripts/functions/sort -@@ -1,55 +1,47 @@ --$description = "The following test creates a makefile to verify\n" -- ."the ability of make to sort lists of object. Sort\n" -- ."will also remove any duplicate entries. This will also\n" -- ."be tested."; -- --$details = "The make file is built with a list of object in a random order\n" -- ."and includes some duplicates. Make should sort all of the elements\n" -- ."remove all duplicates\n"; -- --open(MAKEFILE,"> $makefile"); -- --# The Contents of the MAKEFILE ... -- --print MAKEFILE "foo := moon_light days \n" -- ."foo1:= jazz\n" -- ."bar := captured \n" -- ."bar2 = boy end, has rise A midnight \n" -- ."bar3:= \$(foo)\n" -- ."s1 := _by\n" -- ."s2 := _and_a\n" -- ."t1 := \$(addsuffix \$(s1), \$(bar) )\n" -- ."t2 := \$(addsuffix \$(s2), \$(foo1) )\n" -- ."t3 := \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \$(t2) \n" -- ."t4 := \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \$(t3) \n" -- ."t5 := \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \$(t4) \n" -- ."t6 := \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \$(t5) \n" -- ."t7 := \$(t6) \$(t6) \$(t6) \n" -- ."p1 := \$(addprefix \$(foo1), \$(s2) )\n" -- ."blank:= \n" -- ."all:\n" -- ."\t\@echo \$(sort \$(bar2) \$(foo) \$(addsuffix \$(s1), \$(bar) ) \$(t2) \$(bar2) \$(bar3))\n" -- ."\t\@echo \$(sort \$(blank) \$(foo) \$(bar2) \$(t1) \$(p1) )\n" -- ."\t\@echo \$(sort \$(foo) \$(bar2) \$(t1) \$(t4) \$(t5) \$(t7) \$(t6) )\n"; -- -- --# END of Contents of MAKEFILE -- --close(MAKEFILE); -- --&run_make_with_options($makefile,"",&get_logfile); -- --# Create the answer to what should be produced by this Makefile --$answer = "A boy captured_by days end, has jazz_and_a midnight moon_light rise\n" -- ."A boy captured_by days end, has jazz_and_a midnight moon_light rise\n" -- ."A boy captured_by days end, has jazz_and_a midnight moon_light rise\n"; -- --&compare_output($answer,&get_logfile(1)); -+# -*-perl-*- -+ -+$description = "The following test creates a makefile to verify -+the ability of make to sort lists of object. Sort -+will also remove any duplicate entries. This will also -+be tested."; -+ -+$details = "The make file is built with a list of object in a random order -+and includes some duplicates. Make should sort all of the elements -+remove all duplicates\n"; -+ -+run_make_test(' -+foo := moon_light days -+foo1:= jazz -+bar := captured -+bar2 = boy end, has rise A midnight -+bar3:= $(foo) -+s1 := _by -+s2 := _and_a -+t1 := $(addsuffix $(s1), $(bar) ) -+t2 := $(addsuffix $(s2), $(foo1) ) -+t3 := $(t2) $(t2) $(t2) $(t2) $(t2) $(t2) $(t2) $(t2) $(t2) $(t2) -+t4 := $(t3) $(t3) $(t3) $(t3) $(t3) $(t3) $(t3) $(t3) $(t3) $(t3) -+t5 := $(t4) $(t4) $(t4) $(t4) $(t4) $(t4) $(t4) $(t4) $(t4) $(t4) -+t6 := $(t5) $(t5) $(t5) $(t5) $(t5) $(t5) $(t5) $(t5) $(t5) $(t5) -+t7 := $(t6) $(t6) $(t6) -+p1 := $(addprefix $(foo1), $(s2) ) -+blank:= -+all: -+ @echo $(sort $(bar2) $(foo) $(addsuffix $(s1), $(bar) ) $(t2) $(bar2) $(bar3)) -+ @echo $(sort $(blank) $(foo) $(bar2) $(t1) $(p1) ) -+ @echo $(sort $(foo) $(bar2) $(t1) $(t4) $(t5) $(t7) $(t6) ) -+', -+ '', 'A boy captured_by days end, has jazz_and_a midnight moon_light rise -+A boy captured_by days end, has jazz_and_a midnight moon_light rise -+A boy captured_by days end, has jazz_and_a midnight moon_light rise -+'); -+ -+ -+# Test with non-space/tab whitespace. Note that you can't see the -+# original bug except using valgrind. -+ -+run_make_test("FOO = a b\tc\rd\fe \f \f \f \f \ff -+all: ; \@echo \$(words \$(sort \$(FOO)))\n", -+ '', "5\n"); - - 1; -- -- -- -- -- -- --- -1.7.2.3 - diff --git a/base/make/make-3.82-0006-construct-command-line.patch b/base/make/make-3.82-0006-construct-command-line.patch deleted file mode 100644 index c85d9ec2e..000000000 --- a/base/make/make-3.82-0006-construct-command-line.patch +++ /dev/null @@ -1,89 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../make/make-3.82-0006-construct-command-line.patch -# Copyright (C) 2012 The OpenSDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - -From 12e4f0b3019ddd621147358500e87b91ac6361cf Mon Sep 17 00:00:00 2001 -From: Christian Wiese -Date: Mon, 22 Oct 2012 18:03:56 +0200 -Subject: [PATCH] construct command line - -ChangeLog: - -2011-05-07 Eli Zaretskii - - * job.c (construct_command_argv_internal): Don't assume shellflags - is always non-NULL. Escape-protect characters special to the - shell when copying the value of SHELL into new_line. Fixes - Savannah bug #23922. ---- - job.c | 23 ++++++++++++++++------- - 1 files changed, 16 insertions(+), 7 deletions(-) - -diff --git a/job.c b/job.c -index aacfb84..535a751 100644 ---- a/job.c -+++ b/job.c -@@ -2792,12 +2792,12 @@ construct_command_argv_internal (char *line, char **restp, char *shell, - - unsigned int shell_len = strlen (shell); - unsigned int line_len = strlen (line); -- unsigned int sflags_len = strlen (shellflags); -+ unsigned int sflags_len = shellflags ? strlen (shellflags) : 0; - char *command_ptr = NULL; /* used for batch_mode_shell mode */ - char *new_line; - - # ifdef __EMX__ /* is this necessary? */ -- if (!unixy_shell) -+ if (!unixy_shell && shellflags) - shellflags[0] = '/'; /* "/c" */ - # endif - -@@ -2859,19 +2859,28 @@ construct_command_argv_internal (char *line, char **restp, char *shell, - - new_argv = xmalloc (4 * sizeof (char *)); - new_argv[0] = xstrdup(shell); -- new_argv[1] = xstrdup(shellflags); -+ new_argv[1] = xstrdup(shellflags ? shellflags : ""); - new_argv[2] = line; - new_argv[3] = NULL; - return new_argv; - } - -- new_line = alloca (shell_len + 1 + sflags_len + 1 -+ new_line = alloca ((shell_len*2) + 1 + sflags_len + 1 - + (line_len*2) + 1); - ap = new_line; -- memcpy (ap, shell, shell_len); -- ap += shell_len; -+ /* Copy SHELL, escaping any characters special to the shell. If -+ we don't escape them, construct_command_argv_internal will -+ recursively call itself ad nauseam, or until stack overflow, -+ whichever happens first. */ -+ for (p = shell; *p != '\0'; ++p) -+ { -+ if (strchr (sh_chars, *p) != 0) -+ *(ap++) = '\\'; -+ *(ap++) = *p; -+ } - *(ap++) = ' '; -- memcpy (ap, shellflags, sflags_len); -+ if (shellflags) -+ memcpy (ap, shellflags, sflags_len); - ap += sflags_len; - *(ap++) = ' '; - command_ptr = ap; --- -1.7.2.3 - diff --git a/base/make/make-3.82-0007-copy-on-expand.patch b/base/make/make-3.82-0007-copy-on-expand.patch deleted file mode 100644 index 080cf42de..000000000 --- a/base/make/make-3.82-0007-copy-on-expand.patch +++ /dev/null @@ -1,148 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../make/make-3.82-0007-copy-on-expand.patch -# Copyright (C) 2012 The OpenSDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - -From 3d11dcdc977ef7db3897663b806fe08856ca4190 Mon Sep 17 00:00:00 2001 -From: Christian Wiese -Date: Mon, 22 Oct 2012 18:05:12 +0200 -Subject: [PATCH] copy on expand - -ChangeLog: - -2011-08-29 Paul Smith - - * expand.c (variable_expand_string): Always allocate a new buffer - for a string we're expanding. The string we're working on can get - freed while we work on it (for example if it's the value of a - variable which modifies itself using an eval operation). - See Savannah patch #7534 for the original report by Lubomir Rintel. - -tests/ChangeLog: - -2011-08-29 Paul Smith - - * scripts/features/varnesting: Test resetting of variables while - expanding them. See Savannah patch #7534 ---- - expand.c | 20 +++++---------- - tests/scripts/features/varnesting | 47 +++++++++++++++++++------------------ - 2 files changed, 31 insertions(+), 36 deletions(-) - -diff --git a/expand.c b/expand.c -index 2315b06..9aeaa13 100644 ---- a/expand.c -+++ b/expand.c -@@ -197,7 +197,7 @@ variable_expand_string (char *line, const char *string, long length) - { - struct variable *v; - const char *p, *p1; -- char *abuf = NULL; -+ char *save; - char *o; - unsigned int line_offset; - -@@ -212,16 +212,11 @@ variable_expand_string (char *line, const char *string, long length) - return (variable_buffer); - } - -- /* If we want a subset of the string, allocate a temporary buffer for it. -- Most of the functions we use here don't work with length limits. */ -- if (length > 0 && string[length] != '\0') -- { -- abuf = xmalloc(length+1); -- memcpy(abuf, string, length); -- abuf[length] = '\0'; -- string = abuf; -- } -- p = string; -+ /* We need a copy of STRING: due to eval, it's possible that it will get -+ freed as we process it (it might be the value of a variable that's reset -+ for example). Also having a nil-terminated string is handy. */ -+ save = length < 0 ? xstrdup (string) : xstrndup (string, length); -+ p = save; - - while (1) - { -@@ -411,8 +406,7 @@ variable_expand_string (char *line, const char *string, long length) - ++p; - } - -- if (abuf) -- free (abuf); -+ free (save); - - variable_buffer_output (o, "", 1); - return (variable_buffer + line_offset); -diff --git a/tests/scripts/features/varnesting b/tests/scripts/features/varnesting -index 15d5071..d8f3ffb 100644 ---- a/tests/scripts/features/varnesting -+++ b/tests/scripts/features/varnesting -@@ -1,29 +1,30 @@ --$description = "The following test creates a makefile to ..."; -+# -*-perl-*- -+$description = "Test recursive variables"; - - $details = ""; - --open(MAKEFILE,"> $makefile"); -- --# The Contents of the MAKEFILE ... -- --print MAKEFILE "x = variable1\n" -- ."variable2 := Hello\n" -- ."y = \$(subst 1,2,\$(x))\n" -- ."z = y\n" -- ."a := \$(\$(\$(z)))\n" -- ."all: \n" -- ."\t\@echo \$(a)\n"; -- --# END of Contents of MAKEFILE -- --close(MAKEFILE); -- --&run_make_with_options($makefile,"",&get_logfile); -- --# Create the answer to what should be produced by this Makefile --$answer = "Hello\n"; -- --&compare_output($answer,&get_logfile(1)); -+run_make_test(' -+x = variable1 -+variable2 := Hello -+y = $(subst 1,2,$(x)) -+z = y -+a := $($($(z))) -+all: -+ @echo $(a) -+', -+ '', "Hello\n"); -+ -+# This tests resetting the value of a variable while expanding it. -+# You may only see problems with this if you're using valgrind or -+# some other memory checker that poisons freed memory. -+# See Savannah patch #7534 -+ -+run_make_test(' -+VARIABLE = $(eval VARIABLE := echo hi)$(VARIABLE) -+wololo: -+ @$(VARIABLE) -+', -+ '', "hi\n"); - - 1; - --- -1.7.2.3 - diff --git a/base/make/make-3.82-0008-parallel-remake.patch b/base/make/make-3.82-0008-parallel-remake.patch deleted file mode 100644 index 2bf395b01..000000000 --- a/base/make/make-3.82-0008-parallel-remake.patch +++ /dev/null @@ -1,97 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../make/make-3.82-0008-parallel-remake.patch -# Copyright (C) 2012 The OpenSDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - -From 4c7a70c558579d5b42d54fde1397c121d3df31c4 Mon Sep 17 00:00:00 2001 -From: Christian Wiese -Date: Mon, 22 Oct 2012 18:06:56 +0200 -Subject: [PATCH] parallel remake - -ChangeLog: - -2011-09-18 Paul Smith - - * main.c (main): If we're re-exec'ing and we're the master make, - then restore the job_slots value so it goes back into MAKEFLAGS - properly. See Savannah bug #33873. - -test/ChangeLog: - -2011-09-18 Paul Smith - - * scripts/features/parallelism: On re-exec make sure we preserve - the value of MAKEFLAGS when necessary. See Savannah bug #33873. ---- - main.c | 8 +++++--- - tests/scripts/features/parallelism | 17 +++++++++++++++++ - 2 files changed, 22 insertions(+), 3 deletions(-) - -diff --git a/main.c b/main.c -index 782b0de..68587ae 100644 ---- a/main.c -+++ b/main.c -@@ -2088,6 +2088,11 @@ main (int argc, char **argv, char **envp) - - ++restarts; - -+ /* If we're re-exec'ing the first make, put back the number of -+ job slots so define_makefiles() will get it right. */ -+ if (master_job_slots) -+ job_slots = master_job_slots; -+ - /* Reset makeflags in case they were changed. */ - { - const char *pv = define_makeflags (1, 1); -@@ -2824,9 +2829,6 @@ define_makeflags (int all, int makefile) - && (*(unsigned int *) cs->value_ptr == - *(unsigned int *) cs->noarg_value)) - ADD_FLAG ("", 0); /* Optional value omitted; see below. */ -- else if (cs->c == 'j') -- /* Special case for `-j'. */ -- ADD_FLAG ("1", 1); - else - { - char *buf = alloca (30); -diff --git a/tests/scripts/features/parallelism b/tests/scripts/features/parallelism -index cc0f84f..6122412 100644 ---- a/tests/scripts/features/parallelism -+++ b/tests/scripts/features/parallelism -@@ -164,6 +164,23 @@ inc.mk: - - rmfiles('inc.mk'); - -+# TEST #11: Make sure -jN from MAKEFLAGS is processed even when we re-exec -+# See Savannah bug #33873 -+ -+$extraENV{MAKEFLAGS} = '-j4'; -+ -+run_make_test(q! -+things = thing1 thing2 -+all: $(things) -+$(things):; @echo '$@ start'; sleep 1; echo '$@ end' -+-include inc.mk -+inc.mk: ; @touch $@ -+!, -+ '', "thing1 start\nthing2 start\nthing1 end\nthing2 end\n"); -+ -+delete $extraENV{MAKEFLAGS}; -+rmfiles('inc.mk'); -+ - if ($all_tests) { - # Implicit files aren't properly recreated during parallel builds - # Savannah bug #26864 --- -1.7.2.3 - diff --git a/base/make/make-3.82-0009-long-command-line.patch b/base/make/make-3.82-0009-long-command-line.patch deleted file mode 100644 index 9fa77a21b..000000000 --- a/base/make/make-3.82-0009-long-command-line.patch +++ /dev/null @@ -1,72 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../make/make-3.82-0009-long-command-line.patch -# Copyright (C) 2012 The OpenSDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - -From 23a3b958d8a80e601c1a0bf0770af6b854d00187 Mon Sep 17 00:00:00 2001 -From: Christian Wiese -Date: Mon, 22 Oct 2012 18:12:47 +0200 -Subject: [PATCH] long command line - -ChangeLog: - -2012-09-09 Paul Smith - - * job.c (construct_command_argv_internal): Keep the command line - on the heap for very long lines. Fixes Savannah bug #36451. ---- - job.c | 13 +++++++++---- - 1 files changed, 9 insertions(+), 4 deletions(-) - -diff --git a/job.c b/job.c -index 535a751..386d241 100644 ---- a/job.c -+++ b/job.c -@@ -2865,8 +2865,8 @@ construct_command_argv_internal (char *line, char **restp, char *shell, - return new_argv; - } - -- new_line = alloca ((shell_len*2) + 1 + sflags_len + 1 -- + (line_len*2) + 1); -+ new_line = xmalloc ((shell_len*2) + 1 + sflags_len + 1 -+ + (line_len*2) + 1); - ap = new_line; - /* Copy SHELL, escaping any characters special to the shell. If - we don't escape them, construct_command_argv_internal will -@@ -2933,8 +2933,11 @@ construct_command_argv_internal (char *line, char **restp, char *shell, - *ap++ = *p; - } - if (ap == new_line + shell_len + sflags_len + 2) -- /* Line was empty. */ -- return 0; -+ { -+ /* Line was empty. */ -+ free (new_line); -+ return 0; -+ } - *ap = '\0'; - - #ifdef WINDOWS32 -@@ -3074,6 +3077,8 @@ construct_command_argv_internal (char *line, char **restp, char *shell, - fatal (NILF, _("%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"), - __FILE__, __LINE__); - #endif -+ -+ free (new_line); - } - #endif /* ! AMIGA */ - --- -1.7.2.3 - diff --git a/base/make/make-3.82-0010-intermediate-parallel.patch b/base/make/make-3.82-0010-intermediate-parallel.patch deleted file mode 100644 index eb0dc43c3..000000000 --- a/base/make/make-3.82-0010-intermediate-parallel.patch +++ /dev/null @@ -1,79 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../make/make-3.82-0010-intermediate-parallel.patch -# Copyright (C) 2012 The OpenSDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - -From b1260285aca75246e8028d1b5221304540bd59c7 Mon Sep 17 00:00:00 2001 -From: Christian Wiese -Date: Mon, 22 Oct 2012 18:15:13 +0200 -Subject: [PATCH] intermediate parallel - -ChangeLog: - -2012-09-09 Paul Smith - - * remake.c (update_file_1): Force intermediate files to be - considered, not pruned, if their non-intermediate parent needs to - be remade. Fixes Savannah bug #30653. ---- - remake.c | 4 ++++ - tests/scripts/features/parallelism | 17 +++++++++++++++++ - 2 files changed, 21 insertions(+), 0 deletions(-) - -diff --git a/remake.c b/remake.c -index 27d2550..a8d7cdf 100644 ---- a/remake.c -+++ b/remake.c -@@ -614,6 +614,10 @@ update_file_1 (struct file *file, unsigned int depth) - 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/tests/scripts/features/parallelism b/tests/scripts/features/parallelism -index 6122412..090827b 100644 ---- a/tests/scripts/features/parallelism -+++ b/tests/scripts/features/parallelism -@@ -211,6 +211,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 --- -1.7.2.3 - diff --git a/base/make/make.desc b/base/make/make.desc index 873e293ce..cb60ec476 100644 --- a/base/make/make.desc +++ b/base/make/make.desc @@ -3,7 +3,7 @@ [COPY] This copyright note is auto-generated by ./scripts/Create-CopyPatch. [COPY] [COPY] Filename: package/.../make/make.desc -[COPY] Copyright (C) 2006 - 2012 The OpenSDE Project +[COPY] Copyright (C) 2006 - 2015 The OpenSDE Project [COPY] Copyright (C) 2004 - 2006 The T2 SDE Project [COPY] Copyright (C) 1998 - 2003 Clifford Wolf [COPY] @@ -34,8 +34,8 @@ [L] GPL [S] Stable -[V] 3.82 -[P] X -1---5---9 107.700 +[V] 4.0 +[P] X 01---5---9 107.700 -[D] 778767654 make-3.82.tar.gz ftp://ftp.gnu.org/pub/gnu/make/ +[D] 3128058815 make-4.0.tar.gz ftp://ftp.gnu.org/pub/gnu/make/