summaryrefslogtreecommitdiff
path: root/devel
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2013-10-23 08:54:59 +0000
committerwiz <wiz@pkgsrc.org>2013-10-23 08:54:59 +0000
commitadb3c2c5376dfb0547a75ccf446493fbfb6af3cd (patch)
treea8e8ec73e1eb27eb775cbf2a1654df5354b30f2b /devel
parentfaac2043602f6cf7074e72ddf8de0dc499f94e68 (diff)
downloadpkgsrc-adb3c2c5376dfb0547a75ccf446493fbfb6af3cd.tar.gz
Update to 4.0:
Version 4.0 (09 Oct 2013) A complete list of bugs fixed in this version is available here: http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=101&set=custom * WARNING: Backward-incompatibility! If .POSIX is specified, then make adheres to the POSIX backslash/newline handling requirements, which introduces the following changes to the standard backslash/newline handling in non-recipe lines: * Any trailing space before the backslash is preserved * Each backslash/newline (plus subsequent whitespace) is converted to a single space * New feature: GNU Guile integration This version of GNU make can be compiled with GNU Guile integration. GNU Guile serves as an embedded extension language for make. See the "Guile Function" section in the GNU Make manual for details. Currently GNU Guile 1.8 and 2.0+ are supported. In Guile 1.8 there is no support for internationalized character sets. In Guile 2.0+, scripts can be encoded in UTF-8. * New command line option: --output-sync (-O) enables grouping of output by target or by recursive make. This is useful during parallel builds to avoid mixing output from different jobs together giving hard-to-understand results. Original implementation by David Boyce <dsb@boyski.com>. Reworked and enhanced by Frank Heckenbach <f.heckenbach@fh-soft.de>. Windows support by Eli Zaretskii <eliz@gnu.org>. * New command line option: --trace enables tracing of targets. When enabled the recipe to be invoked is printed even if it would otherwise be suppressed by .SILENT or a "@" prefix character. Also before each recipe is run the makefile name and linenumber where it was defined are shown as well as the prerequisites that caused the target to be considered out of date. * New command line option argument: --debug now accepts a "n" (none) flag which disables all debugging settings that are currently enabled. * New feature: The "job server" capability is now supported on Windows. Implementation contributed by Troy Runkel <Troy.Runkel@mathworks.com> * New feature: The .ONESHELL capability is now supported on Windows. Support added by Eli Zaretskii <eliz@gnu.org>. * New feature: "!=" shell assignment operator as an alternative to the $(shell ...) function. Implemented for compatibility with BSD makefiles. Note there are subtle differences between "!=" and $(shell ...). See the description in the GNU make manual. WARNING: Backward-incompatibility! Variables ending in "!" previously defined as "variable!= value" will now be interpreted as shell assignment. Change your assignment to add whitespace between the "!" and "=": "variable! = value" * New feature: "::=" simple assignment operator as defined by POSIX in 2012. This operator has identical functionality to ":=" in GNU make, but will be portable to any implementation of make conforming to a sufficiently new version of POSIX (see http://austingroupbugs.net/view.php?id=330). It is not necessary to define the .POSIX target to access this operator. * New feature: Loadable objects This version of GNU make contains a "technology preview": the ability to load dynamic objects into the make runtime. These objects can be created by the user and can add extended functionality, usable by makefiles. * New function: $(file ...) writes to a file. * New variable: $(GNUMAKEFLAGS) will be parsed for make flags, just like MAKEFLAGS is. It can be set in the environment or the makefile, containing GNU make-specific flags to allow your makefile to be portable to other versions of make. Once this variable is parsed, GNU make will set it to the empty string so that flags will not be duplicated on recursion. * New variable: `MAKE_HOST' gives the name of the host architecture make was compiled for. This is the same value you see after 'Built for' when running 'make --version'. * Behavior of MAKEFLAGS and MFLAGS is more rigorously defined. All simple flags are grouped together in the first word of MAKEFLAGS. No options that accept arguments appear in the first word. If no simple flags are present MAKEFLAGS begins with a space. Flags with both short and long versions always use the short versions in MAKEFLAGS. Flags are listed in alphabetical order using ASCII ordering. MFLAGS never begins with "- ". * Setting the -r and -R options in MAKEFLAGS inside a makefile now works as expected, removing all built-in rules and variables, respectively. * If a recipe fails, the makefile name and linenumber of the recipe are shown. * A .RECIPEPREFIX setting is remembered per-recipe and variables expanded in that recipe also use that recipe prefix setting. * In -p output, .RECIPEPREFIX settings are shown and all target-specific variables are output as if in a makefile, instead of as comments. * On MS-Windows, recipes that use ".." quoting will no longer force invocation of commands via temporary batch files and stock Windows shells, they will be short-circuited and invoked directly. (In other words, " is no longer a special character for stock Windows shells.) This avoids hitting shell limits for command length when quotes are used, but nothing else in the command requires the shell. This change could potentially mean some minor incompatibilities in behavior when the recipe uses quoted string on shell command lines.
Diffstat (limited to 'devel')
-rw-r--r--devel/gmake/Makefile5
-rw-r--r--devel/gmake/PLIST3
-rw-r--r--devel/gmake/PLIST.locale3
-rw-r--r--devel/gmake/distinfo15
-rw-r--r--devel/gmake/patches/patch-aa32
-rw-r--r--devel/gmake/patches/patch-ac20
-rw-r--r--devel/gmake/patches/patch-af4
-rw-r--r--devel/gmake/patches/patch-ah52
-rw-r--r--devel/gmake/patches/patch-remake.c18
-rw-r--r--devel/gmake/patches/patch-tests_scripts_features_parallelism31
10 files changed, 14 insertions, 169 deletions
diff --git a/devel/gmake/Makefile b/devel/gmake/Makefile
index e4608f80ede..ee0c7164935 100644
--- a/devel/gmake/Makefile
+++ b/devel/gmake/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.86 2013/05/31 12:39:59 wiz Exp $
+# $NetBSD: Makefile,v 1.87 2013/10/23 08:54:59 wiz Exp $
-DISTNAME= make-3.82
+DISTNAME= make-4.0
PKGNAME= g${DISTNAME}
-PKGREVISION= 7
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GNU:=make/}
EXTRACT_SUFX= .tar.bz2
diff --git a/devel/gmake/PLIST b/devel/gmake/PLIST
index e4f6f81112a..7d56ff9b344 100644
--- a/devel/gmake/PLIST
+++ b/devel/gmake/PLIST
@@ -1,6 +1,7 @@
-@comment $NetBSD: PLIST,v 1.11 2012/06/02 07:57:21 cheusov Exp $
+@comment $NetBSD: PLIST,v 1.12 2013/10/23 08:54:59 wiz Exp $
bin/gmake
gnu/bin/make
gnu/man/man1/make.1
+include/gnumake.h
info/make.info
man/man1/gmake.1
diff --git a/devel/gmake/PLIST.locale b/devel/gmake/PLIST.locale
index 8a7e9a97a06..cf224f7e89c 100644
--- a/devel/gmake/PLIST.locale
+++ b/devel/gmake/PLIST.locale
@@ -1,5 +1,6 @@
-@comment $NetBSD: PLIST.locale,v 1.4 2010/08/07 06:31:16 wiz Exp $
+@comment $NetBSD: PLIST.locale,v 1.5 2013/10/23 08:54:59 wiz Exp $
share/locale/be/LC_MESSAGES/make.mo
+share/locale/cs/LC_MESSAGES/make.mo
share/locale/da/LC_MESSAGES/make.mo
share/locale/de/LC_MESSAGES/make.mo
share/locale/es/LC_MESSAGES/make.mo
diff --git a/devel/gmake/distinfo b/devel/gmake/distinfo
index 83ccfe804d6..3f40650c9a7 100644
--- a/devel/gmake/distinfo
+++ b/devel/gmake/distinfo
@@ -1,12 +1,7 @@
-$NetBSD: distinfo,v 1.22 2013/05/12 05:47:24 richard Exp $
+$NetBSD: distinfo,v 1.23 2013/10/23 08:54:59 wiz Exp $
-SHA1 (make-3.82.tar.bz2) = b8a8a99e4cb636a213aad3816dda827a92b9bbed
-RMD160 (make-3.82.tar.bz2) = e3d1f7019549553b9fc7a88884c9b85d25a60d21
-Size (make-3.82.tar.bz2) = 1242186 bytes
-SHA1 (patch-aa) = 688c7469e8a71a06b89f5f953a6a052563d840c6
-SHA1 (patch-ac) = de18956fde66fa3fc61a991bb3e6724d9c5b1eac
-SHA1 (patch-af) = aafc56a38b07ad6dc1bebb602beeb8c31cbb8c49
-SHA1 (patch-ah) = 0805ae7b6001283d1cc04297b762322684c113a2
+SHA1 (make-4.0.tar.bz2) = c819622dc84e2290c351646b8a0ec4df0df12bb6
+RMD160 (make-4.0.tar.bz2) = 9a6198954e3c122adbe72f7358d897def498e565
+Size (make-4.0.tar.bz2) = 1341927 bytes
+SHA1 (patch-af) = b29956015c04d2a4b2b6855efbba884b93923c8b
SHA1 (patch-pa) = 2c0168db7afec3da98b30392290e5b9464ea7b5e
-SHA1 (patch-remake.c) = b116a6bb4bbcd8488bb241f75c08301f23c071ef
-SHA1 (patch-tests_scripts_features_parallelism) = ac6008d214144637bf73fcb68ba53f7ac732a4cc
diff --git a/devel/gmake/patches/patch-aa b/devel/gmake/patches/patch-aa
deleted file mode 100644
index 3f6c2586bdb..00000000000
--- a/devel/gmake/patches/patch-aa
+++ /dev/null
@@ -1,32 +0,0 @@
-$NetBSD: patch-aa,v 1.13 2011/02/06 12:09:50 obache Exp $
-
---- make.h.orig 2010-07-20 13:12:06.000000000 +0000
-+++ make.h
-@@ -36,7 +36,7 @@ this program. If not, see <http://www.g
- #pragma alloca
- # else
- # if !defined(__GNUC__) && !defined(WINDOWS32)
--# ifndef alloca /* predefined by HP cc +Olibcalls */
-+# if !defined (alloca) && !defined (__FreeBSD__) /* predefined by HP cc +Olibcalls, part of stdlib.h on FreeBSD */
- char *alloca ();
- # endif
- # endif
-@@ -249,6 +249,9 @@ char *strerror (int errnum);
- #if HAVE_INTTYPES_H
- # include <inttypes.h>
- #endif
-+#if HAVE_STDINT_H
-+# include <stdint.h>
-+#endif
- #define FILE_TIMESTAMP uintmax_t
-
- #if !defined(HAVE_STRSIGNAL)
-@@ -472,7 +475,7 @@ long int lseek ();
- #endif /* Not GNU C library or POSIX. */
-
- #ifdef HAVE_GETCWD
--# if !defined(VMS) && !defined(__DECC)
-+# if !defined(VMS) && !defined(__DECC) && !defined(HAVE_UNISTD_H)
- char *getcwd ();
- # endif
- #else
diff --git a/devel/gmake/patches/patch-ac b/devel/gmake/patches/patch-ac
deleted file mode 100644
index 0172fbb93e2..00000000000
--- a/devel/gmake/patches/patch-ac
+++ /dev/null
@@ -1,20 +0,0 @@
-$NetBSD: patch-ac,v 1.5 2006/04/02 20:10:51 wiz Exp $
-
---- glob/glob.c.orig 2006-03-10 02:20:45.000000000 +0000
-+++ glob/glob.c
-@@ -216,13 +216,13 @@ my_realloc (p, n)
- # ifdef HAVE_ALLOCA_H
- # include <alloca.h>
- # else /* Not HAVE_ALLOCA_H. */
--# ifndef _AIX
-+# if !defined (_AIX) && !defined (__FreeBSD__)
- # ifdef WINDOWS32
- # include <malloc.h>
- # else
- extern char *alloca ();
- # endif /* WINDOWS32 */
--# endif /* Not _AIX. */
-+# endif /* Not _AIX && not __FreeBSD__. */
- # endif /* sparc or HAVE_ALLOCA_H. */
- # endif /* GCC. */
-
diff --git a/devel/gmake/patches/patch-af b/devel/gmake/patches/patch-af
index 609ea889479..18d71e78546 100644
--- a/devel/gmake/patches/patch-af
+++ b/devel/gmake/patches/patch-af
@@ -1,4 +1,6 @@
-$NetBSD: patch-af,v 1.3 2010/08/07 06:31:16 wiz Exp $
+$NetBSD: patch-af,v 1.4 2013/10/23 08:54:59 wiz Exp $
+
+Make it clear that this is GNU make and not BSD make.
--- doc/make.info.orig 2010-07-28 05:42:13.000000000 +0000
+++ doc/make.info
diff --git a/devel/gmake/patches/patch-ah b/devel/gmake/patches/patch-ah
deleted file mode 100644
index e7c8e30a24f..00000000000
--- a/devel/gmake/patches/patch-ah
+++ /dev/null
@@ -1,52 +0,0 @@
-$NetBSD: patch-ah,v 1.1 2010/08/31 07:02:48 taca Exp $
-
-Add a fix for bug #30612 (http://savannah.gnu.org/bugs/index.php?30612)
-from GNU make's CVS repository (revision 1.194).
-
---- read.c.orig 2010-07-13 01:20:42.000000000 +0000
-+++ read.c
-@@ -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)
diff --git a/devel/gmake/patches/patch-remake.c b/devel/gmake/patches/patch-remake.c
deleted file mode 100644
index 447e4135af6..00000000000
--- a/devel/gmake/patches/patch-remake.c
+++ /dev/null
@@ -1,18 +0,0 @@
-$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
deleted file mode 100644
index f6e154e84d2..00000000000
--- a/devel/gmake/patches/patch-tests_scripts_features_parallelism
+++ /dev/null
@@ -1,31 +0,0 @@
-$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