GNU make 4.2 released

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From: Paul Smith
Subject: GNU Make 4.2 released!
Date: Sun, 22 May 2016 09:58:52 -0400

Hash: SHA1

    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:

The next stable release of GNU make, 4.2, is available now for download:

    85ad14d08766201ffe71efa866f4fb91  make-release/make-4.2.tar.bz2
    1141ca815c806a5bfedbbaa1551410f3  make-release/make-4.2.tar.gz

You can obtain a copy from: 
You can choose a nearby mirror:
A list of mirror sites is available:

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

A complete list of bugs fixed in this version is available here:

* New variable: $(.SHELLSTATUS) is set to the exit status of the last != or
  $(shell ...) function invoked in this instance of make.  This will be "0" if
  successful or not "0" if not successful.  The variable value is unset if no
  != or $(shell ...) function has been invoked.

* The $(file ...) function can now read from a file with $(file <FILE).
  The function is expanded to the contents of the file.  The contents are
  expanded verbatim except that the final newline, if any, is stripped.

* The makefile line numbers shown by GNU make now point directly to the
  specific line in the recipe where the failure or warning occurred.
  Sample changes suggested by Brian Vandenberg 
* The interface to GNU make's "jobserver" is stable as documented in the   manual, for tools which may want to access it.   WARNING: Backward-incompatibility! The internal-only command line option   --jobserver-fds has been renamed for publishing, to --jobserver-auth. * The amount of parallelism can be determined by querying MAKEFLAGS, even when   the job server is enabled (previously MAKEFLAGS would always contain only   "-j", with no number, when job server was enabled). * VMS-specific changes:   * Perl test harness now works.   * Full support for converting Unix exit status codes to VMS exit status     codes.  BACKWARD INCOMPATIBILITY Notice: On a child failure the VMS exit     code is now the encoded Unix exit status that Make usually generates, not     the VMS exit status of the child. - - Log ----------------------------------------------------------------- Benedikt Morbach (1):       * tests/scripts/features/archives: [SV 43405] override AR variable. Christian Boos (1):       Fix $(shell) on hosts with 64-bit pid_t. Duncan Moore (1):       * job.c [RISCOS]: Remove logic that is no longer required. Eli Zaretskii (7):       [SV 44348] Fix handling of shell widlcards on MS-Windows.       [SV 45515] Ignore Windows-specific build artifacts       [SV 45838] When invoking w32 programs, don't use free'd memory.       [SV 46304] Don't invoke C++ compiler on C sources on MS-Windows       Update README.W32.template       Fix the MS-Windows MinGW build       [SV 47942] Avoid random crashes in subordinate programs on MS-Windows Gisle Vanem (1):       Fix diagnostics on MS-Windows when environment is too large James Johnston (1):       [SVN 45515] Check exit status of sub-make in subproc.bat Joe Crayne (1):       [SV 44742] Fix double-colon rules plus parallel builds. John Malmberg (6):       Set up for running tests on VMS.       [SV 42447]: VMS simulate exporting symbols       [SV 41758]: Fix archive support for VMS.       Update README.VMS and move news to the NEWS file       Fix VMS implicit rules and UNIX paths.       Fix bs-nl handling, exit and Environment for VMS. Paul Eggert (1):       Fixes for enhanced GCC warnings. Paul Smith (55):       *, NEWS, README.git: Set up for the next release.       * main.c (main): [SV 43434] Handle NULL returns from ttyname().       * remake.c (update_file): [SV 44742] Keep double-colon rule status.       * strcache.c: [SV 45275] Handle very long strings.       * read.c (unescape_char): [SV 45050] Handle final backslashes.       [SV 45049] Check for '$' being the last character in a string.       * job.c: [SV 43936] Check sigaction for error return.       * tests/scripts/misc/fopen-fail: [SV 42390] Increase test timeout.       [SV 28092] Preserve the exit status of the $(shell...) function.       * implicit.c (pattern_search): [SV 43677] Mark files secondary.       * doc/make.texi: [SV 35455] Add more uses for Empty Recipes.       * doc/make.texi: [SV 47163] Fix typo in 'ifdef' documentation.       Update Copyright statements for the new year.       * tests/scripts/features/archives: Handle deterministic archives.       * main.c (define_makeflags): Add parens to avoid GCC warning.       [SV 47151] Exit with 1 when checking recursive make -q       * strcache.c (add_string): [SV 47071] Handle huge initial string.       * strcache.c (add_hugestring): [SV 46832] Support huge strings.       [SV 46261] Add more EINTRLOOP wrappers.       Extract jobserver implementation into OS-specific files.       Clean up some compiler warnings.       [SV 46261] Use pselect() for jobserver where supported.       * job.c (exec_command): [SV 47365] Show error on exec failure.       [SV 44555] Use vfork() instead of fork() where available.       [SV 46581] Pre-define .LOADED to avoid warnings.       * main.c(main): Disable output sync without parallel builds.       [SV 45728] Detect changes in .VARIABLES more accurately.       * variable.c: Align type of variable_changenum.       * job.c (child_error): Combine file info with error message.       * doc/make.texi (Setting Variables): Fix typo (add comma).       * function.c (func_file): Support reading from files.       [SV 46995] Strip leading/trailing space from variable names       * variable.c: Clean up some memory leaks.       * tests/ Preserve $make_command       Change --jobserver-fds to more generic --jobserver-auth.       * docs/make.texi: [SV 47392] Add "Integrating make" chapter.       * make.texi: Confirm that CURDIR contains an absolute path.       *, w32/ Fix *os.c for Windows builds.       * main.c (main): Restrict disabling debugging for MAKEFILES.       * job.c (child_execute_job): Fix $(shell...) under NO_OUTPUT_SYNC.       * maintMakefile: Fix logging of check-alt-config target.       * tests/ Add file/lineno info to .run file.       Preserve the real value of -jN in MAKEFLAGS using jobserver.       * job.c (child_error): Add filename length to output length.       [SV 102] Don't show unnecessary include file errors.       * maintMakefile: Add a rule for storing preprocessor output.       [SV 46433] Show recipe line offsets in line number messages.       * dep.h, makeint.h (show_goal_error): Move to makeint.h.       * NEWS: Update for pre-release       * tests/scripts/features/output-sync: increase test timeout.       Allow compiling with an ISO C 1989/1990 compiler.       Fix compile issues with Windows and VMS.       Separate the GNU make load ABI from internal types.       * read.c (eval): [SV 47960] Skip record waiting files when ignoring.       GNU Make release 4.2. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAldBufoACgkQlrBHFWM4ttRu9wCeLDcU5kgyt5ZMAl95at+T9b0z TycAnA41c4uxDoQwIuReY/NFvI+w/EGK =rYhl -----END PGP SIGNATURE-----

[Prev in Thread] Current Thread [Next in Thread]
  • GNU Make 4.2 released!,
    Paul Smith

Original URL:

Original article

Comments are closed.

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑

%d bloggers like this: