3.82
Fix make.h preprocessor directive to work better with Windows compilers. Fix some regression tests to (hopefully) work better on Windows.
* Added the test suite to the main distribution.
* Various fixes for problems in the 3.79.0.1 pretest.
- New code capability: a read-only string cache. Start of solution for Savannah bug #15182, but not much uses it yet. Coming shortly. - Added short-circuiting $(and ..) and $(or ...) functions.
Fix bug #2238: the read.c:eval() function was not entirely reentrant. Apply patch #1022: fix a memory corruption on very long target-specific variable definition lines.
Fix Savannah bug #106: keep separate track of which variable we are expanding, and use that info when generating error messages instead of the file info, where appropriate.
New special variable: .RECIPEPREFIX Allows the user to reset the prefix character for introducing recipe lines from the default (tab) to any other single character, and back again. Also, reworked the manual to consistently use the word "recipe" to describe the set of commands we use to update a target, instead of the various phrases used in the past: "commands", "command lines", "command scripts", etc.
Install Greg McGary's patches to port the id-utils hashing functions to GNU make. Also he provides some other performance fixups after doing some profiling of make on large makefiles.
Implemented the flavor function which returns the flavor of a variable ('simple', 'recursive', or 'undefined').
Numerous updates to tests for issues found on Cygwin and Windows. Revert a fix for $? including non-existent files as it shows a bug in the Linux kernel build. Give them a release to fix this. Add some changes from Eli Z. for Windows changes.
Fix bugs 5798 and 6195.
Release GNU make 3.81. Update NEWS docs. Enhance the manual to use automake version.texi, and use the canonical FSF copyright features and statement. Some $(realpath ...) tests won't work on Windows; leave them out The jobserver filedescriptor test might fail if some FDs are reserved, so for now comment out that check.
- Update manual description for pattern rule search algorithm - Add new "-all" flag to the test suite to run tests that don't pass yet - Add some non-passing tests - Fix from Andreas Buening for OS/2.
* Various bug fixes.
Fix some bugs in variable pattern substitution (e.g. $(VAR:A=B)), reported by Markus Mauhart <qwe123@chello.at>. One was a simple typo; to fix the other we call patsubst_expand() for all instances of variable substitution, even when there is no '%'. We used to call subst_expand() with a special flag set in the latter case, but it didn't work properly in all situations. Easier to just use patsubst_expand() since that's what it is.
Major updates in preparation for 3.80. New version of the manual, put into the doc subdir. Enhancements: $(eval ...) and $(value ...) functions, various bug fixes, etc. See the ChangeLog. More to come.
- Fix Savannah bug 17825 - Fix Savannah bug 21231