GNU make 4.2.93 release candidate available
Paul Smith <[email protected]> Fri, 03 Jan 2020 02:42:00 -0500
| Newsgroups | gmane.comp.gnu.make.windows |
|---|---|
| Organization | GNU's Not UNIX! |
| Message-ID | <0167f10b25df377c3a95a3879f215cf55ad6f961.camel__49863.7093043484$1578037419$gmane$org@gnu.org> |
--=-3ojbTUxNMvoZ3tF/HfoF
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
--------------------------------------------------------------------
GNU make is a tool which controls the generation of executables and
other non-source files of a program from the program's source files.
You can learn more at: https://www.gnu.org/software/make/
--------------------------------------------------------------------
A new release candidate for GNU make 4.3 is available now for download:
6b252188079b36d13e96d5527f8ca033 make-4.2.93.tar.lz
929d4d3a216c02d0d86eb379356f4d1c make-4.2.93.tar.gz
You can obtain a copy from: https://alpha.gnu.org/gnu/make/
- NEWS ----------------------------------------------------------------
Version 4.2.93 (03 Jan 2020)
A complete list of bugs fixed in this version is available here:
http://sv.gnu.org/bugs/index.php?group=3Dmake&report_id=3D111&fix_release_i=
d=3D108&set=3Dcustom
* WARNING: Backward-incompatibility!
Number signs (#) appearing inside a macro reference or function invocatio=
n
no longer introduce comments and should not be escaped with backslashes:
thus a call such as:
foo :=3D $(shell echo '#')
is legal. Previously the number sign needed to be escaped, for example:
foo :=3D $(shell echo '\#')
Now this latter will resolve to "\#". If you want to write makefiles
portable to both versions, assign the number sign to a variable:
H :=3D \#
foo :=3D $(shell echo '$H')
This was claimed to be fixed in 3.81, but wasn't, for some reason.
To detect this change search for 'nocomment' in the .FEATURES variable.
* WARNING: Backward-incompatibility!
Previously appending using '+=3D' to an empty variable would result in a =
value
starting with a space. Now the initial space is only added if the variab=
le
already contains some value. Similarly, appending an empty string does n=
ot
add a trailing space.
* WARNING: Backward-incompatibility!
Contrary to the documentation, suffix rules with prerequisites were being
treated BOTH as simple targets AND as pattern rules. Behavior now matche=
s
the documentation, and pattern rules are no longer created in this case.
* New feature: Grouped explicit targets
Pattern rules have always had the ability to generate multiple targets wi=
th
a single invocation of the recipe. It's now possible to declare that an
explicit rule generates multiple targets with a single invocation. To us=
e
this, replace the ":" token with "&:" in the rule. To detect this featur=
e
search for 'grouped-target' in the .FEATURES special variable.
Implementation contributed by Kaz Kylheku <[email protected]>
* New feature: .EXTRA_PREREQS variable
Words in this variable are considered prerequisites of targets but they a=
re
not added to any of the automatic variable values when expanding the
recipe. This variable can either be global (applies to all targets) or
a target-specific variable. To detect this feature search for 'extra-pre=
reqs'
in the .FEATURES special variable.
* Makefiles can now specify the '-j' option in their MAKEFLAGS variable and
this will cause make to enable that parallelism mode.
* GNU make will now use posix_spawn() on systems where it is available.
If you prefer to use fork/exec even on systems where posix_spawn() is
present, you can use the --disable-posix-spawn option to configure. Aron
Barath <[email protected]> provided the basic implementation.
* Error messages printed when invoking non-existent commands have been clea=
ned
up and made consistent.
* The previous limit of 63 jobs under -jN on MS-Windows is now
increased to 4095. That limit includes the subprocess started by
the $(shell) function.
* A new option --no-silent has been added, that cancels the effect of the
-s/--silent/--quiet flag.
* A new option -E has been added as a short alias for --eval.
* All wildcard expansion within GNU make, including $(wildcard ...), will s=
ort
the results. See https://savannah.gnu.org/bugs/index.php?52076
* Interoperate with newer GNU libc and musl C runtime libraries.
* Performance improvements provided by Paolo Bonzini <[email protected]>
GNU make Developer News
* Import the GNU standard bootstrap script to replace the hand-rolled
"make update" method for building code from a GNU make Git repository.
* Rework the source distribution to move source files into the src/*
subdirectory. This aligns with modern best practices in GNU.
* Replace local portability code with Gnulib content. Unfortunately due to=
a
problem with Gnulib support for getloadavg, this forces a requirement on
Automake 1.16 or above in order to build from Git. See README.git.
--=-3ojbTUxNMvoZ3tF/HfoF
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEslCKkBAviuOxKgCQ3qzKrtt4E3oFAl4O8EkACgkQ3qzKrtt4
E3rcWQ/9Hky25aa29/yEK2vowBLXbUQ9stJDURSMEQpTohinGn2xHdPNKZCrov5d
Ac+qc73ZepfvMNr0FB8zg31fQzntNtkX1AgTTCmF2PDQHiol+HnEKlhBzZQs9kMV
c50Monwk76lsNGnVaQ1F6tHmROXTCJaw9pujFoYwnu7zaamosIvF5GUWKQv3nTOR
wnzPFfp/o1MNlkJkXvZufld67zhF52egW1xAiGcWDTMrskz8A6O/04BfSQx6ujfk
Ru+/NzzNMNz+zrnVy/pKxjdsQxzAZvgVJdbgNyMIAUlYya1PnLA/QEUcyVnEagCJ
dGdttJBwdQGwNor2bFxCE14ms4i8WpK+D/w8+gFge8n6lVGDGL5Tu2MrSGDxifCa
mRw2cFAzZNQyxeHHuvPlOHqE7X/2ugT6WVsR6tBOh3dsRutRT9JsG20m1nX1Nfmc
7PialWAmGuoD+q1UKNvj2aT17G23wD0lD+6+eD1WL3J6CR+2Zq+qvHekYI4jm99N
6jyMwByaN6xCFZ7Jro9QGj9mT6l/ASloBckgPy0d1fCyZNq+bMEV9ajeg95OcUaL
XWZHmCArUHYJEMIsys+rKWbKkN0Jf7GZsQKyHDM+lG1fiunAXOxfCdjwO/y09V+1
iVVjLafVswkZc317BRtes6+o/8S+RUK5TLugI8xqWd828rvnBCY=
=/hWJ
-----END PGP SIGNATURE-----
--=-3ojbTUxNMvoZ3tF/HfoF--