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--