GNU make 4.2.91 release candidate available

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

GNU make 4.2.91 release candidate available

Paul Smith-20
    --------------------------------------------------------------------
    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:

    7f4b83d3cab5fcf94784f08eb055c1e8  make-4.2.91.tar.bz2
    aeac9b47022df1c3c25c94a0190b643e  make-4.2.91.tar.gz

You can obtain a copy from:  https://alpha.gnu.org/gnu/make/

- NEWS ----------------------------------------------------------------

Version 4.2.91 (16 Sep 2019)

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=108&set=custom

* WARNING: Backward-incompatibility!
  Number signs (#) appearing inside a macro reference or function invocation
  no longer introduce comments and should not be escaped with backslashes:
  thus a call such as:
    foo := $(shell echo '#')
  is legal.  Previously the number sign needed to be escaped, for example:
    foo := $(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 := \#
    foo := $(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 '+=' to an empty variable would result in a value
  starting with a space.  Now the initial space is only added if the variable
  already contains some value.  Similarly, appending an empty string does not
  add a trailing space.

* WARNING: Backward-incompatibility!
  On Linux, and any other systems that provide a /proc/loadavg with similar
  syntax, the -l/--load-average option will consult that file to determine how
  many CPUs are busy at that moment and compare that value to the load value
  requested.  This allows usage such as "-j -lN" for N-processor systems
  without fear of overload during initial startup.
  Patch provided by Sven C. Dack <[hidden email]>

* WARNING: Backward-incompatibility!
  Contrary to the documentation, suffix rules with prerequisites were being
  treated BOTH as simple targets AND as pattern rules.  Behavior now matches
  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 with
  a single invocation of the recipe.  It's now possible to declare that an
  explicit rule generates multiple targets with a single invocation.  To use
  this, replace the ":" token with "&:" in the rule.  To detect this feature
  search for 'grouped-target' in the .FEATURES special variable.
  Implementation contributed by Kaz Kylheku <[hidden email]>

* 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 <[hidden email]> provided the basic implementation.

* Error messages printed when invoking non-existent commands have been cleaned
  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 sort
  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 <[hidden email]>

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.

_______________________________________________
Bug-make mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-make

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: GNU make 4.2.91 release candidate available

Dagobert Michelsen-3
Hi Paul,

Am 16.09.2019 um 14:43 schrieb Paul Smith <[hidden email]>:

> Signierter PGP-Teil
>    --------------------------------------------------------------------
>    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:
>
>    7f4b83d3cab5fcf94784f08eb055c1e8  make-4.2.91.tar.bz2
>    aeac9b47022df1c3c25c94a0190b643e  make-4.2.91.tar.gz
I get an error on Solaris 10 Sparc:

cd tests && perl ./run_make_tests.pl -srcdir /home/dam/mgar/pkg/gmake/trunk/work/solaris10-i386/build-isa-pentium_pro-guile-yes/make-4.2.91 -make ../make
syntax error at ./run_make_tests.pl line 473, near "or continue"
Execution of ./run_make_tests.pl aborted due to compilation errors.

Replacing this with „cont“ instead of „continue“ fixed the issue for me.

Additionally, I have two failed tests on Solaris 10 borg Sparc x86:

dam@unstable10x [global]:/home/dam/mgar/pkg/gmake/trunk/work/solaris10-i386/build-isa-pentium_pro-guile-yes/make-4.2.91 > more ./tests/work/functions/shell.diff.7
*** work/functions/shell.base.7 Tue Sep 17 09:31:32 2019
--- work/functions/shell.log.7  Tue Sep 17 09:31:32 2019
***************
*** 1 ****
! SIG=130
--- 1 ----
! SIG=208
dam@unstable10x [global]:/home/dam/mgar/pkg/gmake/trunk/work/solaris10-i386/build-isa-pentium_pro-guile-yes/make-4.2.91 > more ./tests/work/functions/wildcard.diff.6
*** work/functions/wildcard.base.6      Tue Sep 17 09:31:33 2019
--- work/functions/wildcard.log.6       Tue Sep 17 09:31:33 2019
***************
*** 1,13 ****
  hellod hellof
! hellod/
  hellod/worldd hellod/worldf
! hellod/worldd/
  hellod hellof hellod/worldd hellod/worldf
! hellod/ hellod/worldd/
  hellod/worldd hellod/worldf
! hellod/worldd/
  hellod/worldd hellod/worldf
  hellod/worldd/
! hellod/worldd/kend1/ hellod/worldd/kend2/
  hellod/worldd/kend1 hellod/worldd/kend2 hellod/worldd/kenf1 hellod/worldd/kenf2
! hellod/worldd/kend1/ hellod/worldd/kend2/
--- 1,13 ----
  hellod hellof
! hellod/ hellof
  hellod/worldd hellod/worldf
! hellod/worldd/ hellod/worldf
  hellod hellof hellod/worldd hellod/worldf
! hellod/ hellof hellod/worldd/ hellod/worldf
  hellod/worldd hellod/worldf
! hellod/worldd/ hellod/worldf
  hellod/worldd hellod/worldf
  hellod/worldd/
! hellod/worldd/kend1/ hellod/worldd/kend2/ hellod/worldd/kenf1 hellod/worldd/kenf2
  hellod/worldd/kend1 hellod/worldd/kend2 hellod/worldd/kenf1 hellod/worldd/kenf2
! hellod/worldd/kend1/ hellod/worldd/kend2/ hellod/worldd/kenf1 hellod/worldd/kenf2
dam@unstable10x [global]:/home/dam/mgar/pkg/gmake/trunk/work/solaris10-i386/build-isa-pentium_pro-guile-yes/make-4.2.91 >

On Sparc only I get one more error:

dam@unstable10s [unstable10s]:/home/dam/mgar/pkg/gmake/trunk/work/solaris10-sparc/build-isa-sparcv8plus-guile-no/make-4.2.91 > more ./tests/work/features/vpathplus.diff.2
*** work/features/vpathplus.base.2      Tue Sep 17 09:36:39 2019
--- work/features/vpathplus.log.2       Tue Sep 17 09:36:39 2019
***************
*** 1,4 ****
  cat work/inter.d > inter.c
  cat inter.c > inter.b 2>/dev/null || exit 1
  cat inter.b > inter.a
! rm inter.b inter.c
--- 1,4 ----
  cat work/inter.d > inter.c
  cat inter.c > inter.b 2>/dev/null || exit 1
  cat inter.b > inter.a
! rm inter.c inter.b


Best regards

  — Dago


--
"You don't become great by trying to be great, you become great by wanting to do something,
and then doing it so hard that you become great in the process." - xkcd #896


_______________________________________________
Bug-make mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-make

signature.asc (890 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: GNU make 4.2.91 release candidate available

Eli Zaretskii
In reply to this post by Paul Smith-20
> From: Paul Smith <[hidden email]>
> Date: Mon, 16 Sep 2019 08:43:47 -0400
>
> A new release candidate for GNU make 4.3 is available now for download:
>
>     7f4b83d3cab5fcf94784f08eb055c1e8  make-4.2.91.tar.bz2
>     aeac9b47022df1c3c25c94a0190b643e  make-4.2.91.tar.gz

The MinGW port builds cleanly and passes the test suite as well as the
4.2.90 pretest did.

_______________________________________________
Bug-make mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-make
Reply | Threaded
Open this post in threaded view
|

Re: GNU make 4.2.91 release candidate available

Paul Smith-20
In reply to this post by Dagobert Michelsen-3
On Tue, 2019-09-17 at 09:40 +0200, Dagobert Michelsen wrote:
> cd tests && perl ./run_make_tests.pl -srcdir
> /home/dam/mgar/pkg/gmake/trunk/work/solaris10-i386/build-isa-
> pentium_pro-guile-yes/make-4.2.91 -make ../make
> syntax error at ./run_make_tests.pl line 473, near "or continue"
> Execution of ./run_make_tests.pl aborted due to compilation errors.
>
> Replacing this with „cont“ instead of „continue“ fixed the issue for
> me.

Actually the right replacement is "next" not "cont".

> Additionally, I have two failed tests on Solaris 10 borg Sparc x86:

I fixed the "next"/"continue" issue and the Sparc issue.  I made a stab
at fixing the SIG issue but we'll see if it worked.

The wildcard issue is due to the old glob.c implementation in GNU make.
I don't know if I can fix that before the next release.  It's not a
regression, however: this is just a new test that we didn't used to
run.  The behavior of GNU make is the same as it was in previous
releases.

Thanks for testing GNU make!


_______________________________________________
Bug-make mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-make
Reply | Threaded
Open this post in threaded view
|

Re: GNU make 4.2.91 release candidate available

Dagobert Michelsen-3
Hi Paul,

Am 22.09.2019 um 23:42 schrieb Paul Smith <[hidden email]>:
> On Tue, 2019-09-17 at 09:40 +0200, Dagobert Michelsen wrote:
>> Additionally, I have two failed tests on Solaris 10 borg Sparc x86:
>
> The wildcard issue is due to the old glob.c implementation in GNU make.
> I don't know if I can fix that before the next release.  It's not a
> regression, however: this is just a new test that we didn't used to
> run.  The behavior of GNU make is the same as it was in previous
> releases.

Maybe it should be then marked as XFAIL? Now the build process stops after
the testsuite because of the failures.


Best regards

  — Dago

--
"You don't become great by trying to be great, you become great by wanting to do something,
and then doing it so hard that you become great in the process." - xkcd #896


_______________________________________________
Bug-make mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-make
Reply | Threaded
Open this post in threaded view
|

Re: GNU make 4.2.91 release candidate available

Paul Smith-20
On Mon, 2019-09-23 at 07:48 +0200, Dagobert Michelsen wrote:

> Hi Paul,
>
> Am 22.09.2019 um 23:42 schrieb Paul Smith <[hidden email]>:
> > On Tue, 2019-09-17 at 09:40 +0200, Dagobert Michelsen wrote:
> > > Additionally, I have two failed tests on Solaris 10 borg Sparc
> > > x86:
> >
> > The wildcard issue is due to the old glob.c implementation in GNU
> > make.  I don't know if I can fix that before the next release.
> > It's not a regression, however: this is just a new test that we
> > didn't used to run.  The behavior of GNU make is the same as it was
> > in previous releases.
>
> Maybe it should be then marked as XFAIL? Now the build process stops
> after the testsuite because of the failures.

It won't fail on systems that provide GNU libc.  It only fails on
systems which need to use GNU make's built-in glob.

Unfortunately there's no such thing in the GNU make test suite as
XFAIL.  I could skip these tests if we are using the built-in glob,
that's all I can do.

I'm not sure what you mean by "the build process stops"... there's no
build process that involves running the tests as part a pipeline, at
least none provided by make itself.  Maybe this is an extra build
process that you are using locally?


_______________________________________________
Bug-make mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-make
Reply | Threaded
Open this post in threaded view
|

Re: GNU make 4.2.91 release candidate available

Dagobert Michelsen-3
Hi Paul,

Am 23.09.2019 um 14:13 schrieb Paul Smith <[hidden email]>:
> Unfortunately there's no such thing in the GNU make test suite as
> XFAIL.  I could skip these tests if we are using the built-in glob,
> that's all I can do.

That would be fine.

> I'm not sure what you mean by "the build process stops"... there's no
> build process that involves running the tests as part a pipeline, at
> least none provided by make itself.  Maybe this is an extra build
> process that you are using locally?

Well, if „make check“ does not finish cleanly with exit 0 at least my package build
stops and the only thing I can do is to skip the testsuite as a whole which seems
wrong as the test deliberately fails. Just skipping the test sounds like the best
solution.


Best regards

  — Dago

--
"You don't become great by trying to be great, you become great by wanting to do something,
and then doing it so hard that you become great in the process." - xkcd #896


_______________________________________________
Bug-make mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-make