gnumake3: remove
This commit is contained in:
parent
5d0eeeee38
commit
2c60a41d0a
@ -1,14 +0,0 @@
|
|||||||
http://bugs.gentoo.org/331975
|
|
||||||
https://savannah.gnu.org/bugs/?30723
|
|
||||||
|
|
||||||
--- main.c 2010/07/19 07:10:53 1.243
|
|
||||||
+++ main.c 2010/08/10 07:35:34 1.244
|
|
||||||
@@ -2093,7 +2093,7 @@
|
|
||||||
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))
|
|
@ -1,48 +0,0 @@
|
|||||||
diff -u -p -r1.193 -r1.194
|
|
||||||
--- read.c 13 Jul 2010 01:20:42 -0000 1.193
|
|
||||||
+++ read.c 14 Aug 2010 02:50:14 -0000 1.194
|
|
||||||
@@ -3028,7 +3028,7 @@ parse_file_seq (char **stringp, unsigned
|
|
||||||
{
|
|
||||||
/* 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
|
|
||||||
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
|
|
||||||
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)
|
|
@ -1,71 +0,0 @@
|
|||||||
https://savannah.gnu.org/bugs/?23922
|
|
||||||
|
|
||||||
From 6f3684710a0f832533191f8657a57bc2fbba90ba Mon Sep 17 00:00:00 2001
|
|
||||||
From: eliz <eliz>
|
|
||||||
Date: Sat, 7 May 2011 08:29:13 +0000
|
|
||||||
Subject: [PATCH] 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.
|
|
||||||
|
|
||||||
---
|
|
||||||
ChangeLog | 7 +++++++
|
|
||||||
job.c | 23 ++++++++++++++++-------
|
|
||||||
2 files changed, 23 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git job.c job.c
|
|
||||||
index 67b402d..c2ce84d 100644
|
|
||||||
--- job.c
|
|
||||||
+++ job.c
|
|
||||||
@@ -2844,12 +2844,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
|
|
||||||
|
|
||||||
@@ -2911,19 +2911,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.12
|
|
||||||
|
|
@ -1,58 +0,0 @@
|
|||||||
fix from upstream cvs
|
|
||||||
|
|
||||||
----------------------------
|
|
||||||
revision 1.58
|
|
||||||
date: 2011-08-29 12:20:19 -0400; author: psmith; state: Exp; lines: +7 -13; commitid: MdH0jSxpuIy7mqxv;
|
|
||||||
Save strings we're expanding in case an embedded eval causes them
|
|
||||||
to be freed (if they're the value of a variable that's reset for example).
|
|
||||||
See Savannah patch #7534
|
|
||||||
|
|
||||||
Index: expand.c
|
|
||||||
===================================================================
|
|
||||||
RCS file: /sources/make/make/expand.c,v
|
|
||||||
retrieving revision 1.57
|
|
||||||
retrieving revision 1.58
|
|
||||||
diff -u -p -r1.57 -r1.58
|
|
||||||
--- expand.c 7 May 2011 20:03:49 -0000 1.57
|
|
||||||
+++ expand.c 29 Aug 2011 16:20:19 -0000 1.58
|
|
||||||
@@ -197,7 +197,7 @@ variable_expand_string (char *line, cons
|
|
||||||
{
|
|
||||||
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, cons
|
|
||||||
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, cons
|
|
||||||
++p;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (abuf)
|
|
||||||
- free (abuf);
|
|
||||||
+ free (save);
|
|
||||||
|
|
||||||
variable_buffer_output (o, "", 1);
|
|
||||||
return (variable_buffer + line_offset);
|
|
@ -1,17 +0,0 @@
|
|||||||
Fixed default libpatttern on Darwin, imported from prefix overlay.
|
|
||||||
Got merged upstream:
|
|
||||||
https://savannah.gnu.org/bugs/?37197
|
|
||||||
--- default.c.orig 2009-05-02 12:25:24 +0200
|
|
||||||
+++ default.c 2009-05-02 12:25:58 +0200
|
|
||||||
@@ -509,7 +509,11 @@
|
|
||||||
#ifdef __MSDOS__
|
|
||||||
".LIBPATTERNS", "lib%.a $(DJDIR)/lib/lib%.a",
|
|
||||||
#else
|
|
||||||
+#ifdef __APPLE__
|
|
||||||
+ ".LIBPATTERNS", "lib%.dylib lib%.a",
|
|
||||||
+#else
|
|
||||||
".LIBPATTERNS", "lib%.so lib%.a",
|
|
||||||
+#endif
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
|||||||
{stdenv, fetchurl}:
|
|
||||||
|
|
||||||
let version = "3.82"; in
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "gnumake-${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://gnu/make/make-${version}.tar.bz2";
|
|
||||||
sha256 = "0ri98385hsd7li6rh4l5afcq92v8l2lgiaz85wgcfh4w2wzsghg2";
|
|
||||||
};
|
|
||||||
|
|
||||||
/* On Darwin, there are 3 test failures that haven't been investigated
|
|
||||||
yet. On cygwin at least parallelsim test hangs. */
|
|
||||||
doCheck = !stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.isCygwin;
|
|
||||||
|
|
||||||
patches =
|
|
||||||
[
|
|
||||||
# Purity: don't look for library dependencies (of the form
|
|
||||||
# `-lfoo') in /lib and /usr/lib. It's a stupid feature anyway.
|
|
||||||
# Likewise, when searching for included Makefiles, don't look in
|
|
||||||
# /usr/include and friends.
|
|
||||||
./impure-dirs.patch
|
|
||||||
|
|
||||||
# a bunch of patches from Gentoo, mostly should be from upstream (unreleased)
|
|
||||||
./archives-many-objs.patch
|
|
||||||
./MAKEFLAGS-reexec.patch
|
|
||||||
./memory-corruption.patch
|
|
||||||
./glob-speedup.patch
|
|
||||||
./copy-on-expand.patch
|
|
||||||
./oneshell.patch
|
|
||||||
./parallel-remake.patch
|
|
||||||
./intermediate-parallel.patch
|
|
||||||
./construct-command-line.patch
|
|
||||||
./long-command-line.patch
|
|
||||||
./darwin-library_search-dylib.patch
|
|
||||||
|
|
||||||
# Fix support for glibc 2.27's glob
|
|
||||||
../4.2/glibc-2.27-glob.patch
|
|
||||||
];
|
|
||||||
patchFlags = "-p0";
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "GNU Make, a program controlling the generation of non-source files from sources";
|
|
||||||
|
|
||||||
longDescription =
|
|
||||||
'' Make is a tool which controls the generation of executables and
|
|
||||||
other non-source files of a program from the program's source files.
|
|
||||||
|
|
||||||
Make gets its knowledge of how to build your program from a file
|
|
||||||
called the makefile, which lists each of the non-source files and
|
|
||||||
how to compute it from other files. When you write a program, you
|
|
||||||
should write a makefile for it, so that it is possible to use Make
|
|
||||||
to build and install the program.
|
|
||||||
'';
|
|
||||||
|
|
||||||
homepage = http://www.gnu.org/software/make/;
|
|
||||||
|
|
||||||
license = stdenv.lib.licenses.gpl3Plus;
|
|
||||||
maintainers = [ ];
|
|
||||||
platforms = stdenv.lib.platforms.all;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,104 +0,0 @@
|
|||||||
change from upstream to speed up by skipping unused globs
|
|
||||||
https://bugs.gentoo.org/382845
|
|
||||||
|
|
||||||
http://cvs.savannah.gnu.org/viewvc/make/read.c?root=make&r1=1.198&r2=1.200
|
|
||||||
|
|
||||||
Revision 1.200
|
|
||||||
Sat May 7 14:36:12 2011 UTC (4 months, 1 week ago) by psmith
|
|
||||||
Branch: MAIN
|
|
||||||
Changes since 1.199: +1 -1 lines
|
|
||||||
Inverted the boolean test from what I wanted it to be. Added a
|
|
||||||
regression test to make sure this continues to work.
|
|
||||||
|
|
||||||
Revision 1.199
|
|
||||||
Mon May 2 00:18:06 2011 UTC (4 months, 2 weeks ago) by psmith
|
|
||||||
Branch: MAIN
|
|
||||||
Changes since 1.198: +35 -25 lines
|
|
||||||
Avoid invoking glob() unless the filename has potential globbing
|
|
||||||
characters in it, for performance improvements.
|
|
||||||
|
|
||||||
--- read.c 2011/04/29 15:27:39 1.198
|
|
||||||
+++ read.c 2011/05/07 14:36:12 1.200
|
|
||||||
@@ -2901,6 +2901,7 @@
|
|
||||||
const char *name;
|
|
||||||
const char **nlist = 0;
|
|
||||||
char *tildep = 0;
|
|
||||||
+ int globme = 1;
|
|
||||||
#ifndef NO_ARCHIVES
|
|
||||||
char *arname = 0;
|
|
||||||
char *memname = 0;
|
|
||||||
@@ -3109,32 +3110,40 @@
|
|
||||||
}
|
|
||||||
#endif /* !NO_ARCHIVES */
|
|
||||||
|
|
||||||
- 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 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. */
|
|
||||||
+ /* glob() is expensive: don't call it unless we need to. */
|
|
||||||
+ if (!(flags & PARSEFS_EXISTS) && strpbrk (name, "?*[") == NULL)
|
|
||||||
+ {
|
|
||||||
+ globme = 0;
|
|
||||||
i = 1;
|
|
||||||
nlist = &name;
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
+ }
|
|
||||||
+ 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 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;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
/* For each matched element, add it to the list. */
|
|
||||||
while (i-- > 0)
|
|
||||||
@@ -3174,7 +3183,8 @@
|
|
||||||
#endif /* !NO_ARCHIVES */
|
|
||||||
NEWELT (concat (2, prefix, nlist[i]));
|
|
||||||
|
|
||||||
- globfree (&gl);
|
|
||||||
+ if (globme)
|
|
||||||
+ globfree (&gl);
|
|
||||||
|
|
||||||
#ifndef NO_ARCHIVES
|
|
||||||
if (arname)
|
|
@ -1,34 +0,0 @@
|
|||||||
diff -rc read.c read.c
|
|
||||||
*** read.c 2006-03-17 15:24:20.000000000 +0100
|
|
||||||
--- read.c 2007-05-24 17:16:31.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 99,107 ****
|
|
||||||
--- 99,109 ----
|
|
||||||
#endif
|
|
||||||
INCLUDEDIR,
|
|
||||||
#ifndef _AMIGA
|
|
||||||
+ #if 0
|
|
||||||
"/usr/gnu/include",
|
|
||||||
"/usr/local/include",
|
|
||||||
"/usr/include",
|
|
||||||
+ #endif
|
|
||||||
#endif
|
|
||||||
0
|
|
||||||
};
|
|
||||||
diff -rc reremake.c
|
|
||||||
*** remake.c 2006-03-20 03:36:37.000000000 +0100
|
|
||||||
--- remake.c 2007-05-24 17:06:54.000000000 +0200
|
|
||||||
***************
|
|
||||||
*** 1452,1460 ****
|
|
||||||
--- 1452,1462 ----
|
|
||||||
static char *dirs[] =
|
|
||||||
{
|
|
||||||
#ifndef _AMIGA
|
|
||||||
+ #if 0
|
|
||||||
"/lib",
|
|
||||||
"/usr/lib",
|
|
||||||
#endif
|
|
||||||
+ #endif
|
|
||||||
#if defined(WINDOWS32) && !defined(LIBDIR)
|
|
||||||
/*
|
|
||||||
* This is completely up to the user at product install time. Just define
|
|
@ -1,46 +0,0 @@
|
|||||||
diff --git remake.c remake.c
|
|
||||||
index c0bf709..b1ddd23 100644
|
|
||||||
--- remake.c
|
|
||||||
+++ remake.c
|
|
||||||
@@ -612,6 +612,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 tests/scripts/features/parallelism tests/scripts/features/parallelism
|
|
||||||
index d4250f0..76d24a7 100644
|
|
||||||
--- tests/scripts/features/parallelism
|
|
||||||
+++ tests/scripts/features/parallelism
|
|
||||||
@@ -214,6 +214,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.12
|
|
||||||
|
|
@ -1,54 +0,0 @@
|
|||||||
https://savannah.gnu.org/bugs/?36451
|
|
||||||
|
|
||||||
From a95796de3a491d8acfc8ea94c217b90531161786 Mon Sep 17 00:00:00 2001
|
|
||||||
From: psmith <psmith>
|
|
||||||
Date: Sun, 9 Sep 2012 23:25:07 +0000
|
|
||||||
Subject: [PATCH] Keep the command line on the heap to avoid stack overflow.
|
|
||||||
Fixes Savannah bug #36451.
|
|
||||||
|
|
||||||
---
|
|
||||||
ChangeLog | 3 +++
|
|
||||||
job.c | 13 +++++++++----
|
|
||||||
2 files changed, 12 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git job.c job.c
|
|
||||||
index 754576b..f7b7d51 100644
|
|
||||||
--- job.c
|
|
||||||
+++ job.c
|
|
||||||
@@ -2984,8 +2984,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
|
|
||||||
@@ -3052,8 +3052,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
|
|
||||||
@@ -3194,6 +3197,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.12
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
|||||||
--- function.c 2011/04/18 01:25:20 1.121
|
|
||||||
+++ function.c 2011/05/02 12:35:01 1.122
|
|
||||||
@@ -706,7 +706,7 @@
|
|
||||||
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 @@
|
|
||||||
|
|
||||||
/* 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];
|
|
@ -1,24 +0,0 @@
|
|||||||
fix from upstream cvs
|
|
||||||
|
|
||||||
----------------------------
|
|
||||||
revision 1.245
|
|
||||||
date: 2010-08-13 22:50:14 -0400; author: psmith; state: Exp; lines: +1 -1; commitid: 4UaslPqQHZTs5wKu;
|
|
||||||
- Add oneshell to $(.FEATURES) (forgot that!)
|
|
||||||
|
|
||||||
Index: main.c
|
|
||||||
===================================================================
|
|
||||||
RCS file: /sources/make/make/main.c,v
|
|
||||||
retrieving revision 1.244
|
|
||||||
retrieving revision 1.245
|
|
||||||
diff -u -p -r1.244 -r1.245
|
|
||||||
--- main.c 10 Aug 2010 07:35:34 -0000 1.244
|
|
||||||
+++ main.c 14 Aug 2010 02:50:14 -0000 1.245
|
|
||||||
@@ -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
|
|
@ -1,39 +0,0 @@
|
|||||||
fix from upstream cvs
|
|
||||||
|
|
||||||
----------------------------
|
|
||||||
revision 1.247
|
|
||||||
date: 2011-09-18 19:39:26 -0400; author: psmith; state: Exp; lines: +5 -3; commitid: 07NxO4T5PiWC82Av;
|
|
||||||
When we re-exec the master makefile in a jobserver environment, ensure
|
|
||||||
that MAKEFLAGS is set properly so the re-exec'd make runs in parallel.
|
|
||||||
See Savannah bug #33873.
|
|
||||||
|
|
||||||
Index: main.c
|
|
||||||
===================================================================
|
|
||||||
RCS file: /sources/make/make/main.c,v
|
|
||||||
retrieving revision 1.246
|
|
||||||
retrieving revision 1.247
|
|
||||||
diff -u -p -r1.246 -r1.247
|
|
||||||
--- main.c 29 Aug 2010 23:05:27 -0000 1.246
|
|
||||||
+++ main.c 18 Sep 2011 23:39:26 -0000 1.247
|
|
||||||
@@ -2089,6 +2089,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);
|
|
||||||
@@ -2825,9 +2830,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);
|
|
@ -8537,8 +8537,6 @@ with pkgs;
|
|||||||
gnum4 = callPackage ../development/tools/misc/gnum4 { };
|
gnum4 = callPackage ../development/tools/misc/gnum4 { };
|
||||||
m4 = gnum4;
|
m4 = gnum4;
|
||||||
|
|
||||||
gnumake382 = callPackage ../development/tools/build-managers/gnumake/3.82 { };
|
|
||||||
gnumake3 = gnumake382;
|
|
||||||
gnumake42 = callPackage ../development/tools/build-managers/gnumake/4.2 { };
|
gnumake42 = callPackage ../development/tools/build-managers/gnumake/4.2 { };
|
||||||
gnumake = gnumake42;
|
gnumake = gnumake42;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user