Changeset 503 for trunk/src/gmake/NEWS


Ignore:
Timestamp:
Sep 15, 2006, 7:09:38 AM (19 years ago)
Author:
bird
Message:

Untested merge with GNU Make v3.81 (vendor/gnumake/2005-05-16 -> vendor/gnumake/current).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gmake/NEWS

    r281 r503  
    11GNU make NEWS                                               -*-indented-text-*-
    22  History of user-visible changes.
    3   13 May 2005
    4 
    5 Copyright (C) 2002,2003,2004,2005  Free Software Foundation, Inc.
    6 See the end for copying conditions.
     3  1 April 2006
     4
     5See the end of this file for copyrights and conditions.
    76
    87All changes mentioned here are more fully described in the GNU make
     
    1211
    1312
    14 Version 3.81beta3
     13Version 3.81
    1514
    1615* GNU make is ported to OS/2.
    1716
    18 * GNU make is ported to MinGW.
     17* GNU make is ported to MinGW.  The MinGW build is only supported by
     18  the build_w32.bat batch file; see the file README.W32 for more
     19  details.
     20
     21* WARNING: Future backward-incompatibility!
     22  Up to and including this release, the '$?' variable does not contain
     23  any prerequisite that does not exist, even though that prerequisite
     24  might have caused the target to rebuild.  Starting with the _next_
     25  release of GNU make, '$?' will contain all prerequisites that caused
     26  the target to be considered out of date.  See this Savannah bug:
     27  http://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=16051
    1928
    2029* WARNING: Backward-incompatibility!
    2130  GNU make now implements a generic "second expansion" feature on the
    22   prerequisites of both explicit and implicit (pattern) rules.  After
    23   all rules have been parsed the prerequisites are expanded again, this
    24   time with all the automatic variables in scope.  This means that in
    25   addition to using standard SysV $$@ in prerequisites lists, you can
    26   also use complex functions such as $$(notdir $$@) etc.  This behavior
    27   applies to implicit rules, as well, where the second expansion occurs
    28   after the rule is matched.  However, this means that you need to
     31  prerequisites of both explicit and implicit (pattern) rules.  In order
     32  to enable this feature, the special target '.SECONDEXPANSION' must be
     33  defined before the first target which takes advantage of it.  If this
     34  feature is enabled then after all rules have been parsed the
     35  prerequisites are expanded again, this time with all the automatic
     36  variables in scope.  This means that in addition to using standard
     37  SysV $$@ in prerequisites lists, you can also use complex functions
     38  such as $$(notdir $$@) etc.  This behavior applies to implicit rules,
     39  as well, where the second expansion occurs when the rule is matched.
     40  However, this means that when '.SECONDEXPANSION' is enabled you must
    2941  double-quote any "$" in your filenames; instead of "foo: boo$$bar" you
    30   must write "foo: foo$$$$bar"
     42  now must write "foo: foo$$$$bar".  Note that the SysV $$@ etc. feature,
     43  which used to be available by default, is now ONLY available when the
     44  .SECONDEXPANSION target is defined.  If your makefiles take advantage
     45  of this SysV feature you will need to update them.
     46
     47* WARNING: Backward-incompatibility!
     48  In order to comply with POSIX, the way in which GNU make processes
     49  backslash-newline sequences in command strings has changed.  If your
     50  makefiles use backslash-newline sequences inside of single-quoted
     51  strings in command scripts you will be impacted by this change.  See
     52  the GNU make manual subsection "Splitting Command Lines" (node
     53  "Splitting Lines"), in section "Command Syntax", chapter "Writing the
     54  Commands in Rules", for details.
     55
     56* WARNING: Backward-incompatibility!
     57  Some previous versions of GNU make had a bug where "#" in a function
     58  invocation such as $(shell ...) was treated as a make comment.  A
     59  workaround was to escape these with backslashes.  This bug has been
     60  fixed: if your makefile uses "\#" in a function invocation the
     61  backslash is now preserved, so you'll need to remove it.
    3162
    3263* New command-line option: -L (--check-symlink-times).  On systems that
     
    3667  always has: use the modification time of the actual target file only.
    3768
    38 * The "else" conditional line can now be followed by any other legal
     69* The "else" conditional line can now be followed by any other valid
    3970  conditional on the same line: this does not increase the depth of the
    40   conditional nesting.
     71  conditional nesting, so only one "endif" is required to close the
     72  conditional.
    4173
    4274* All pattern-specific variables that match a given target are now used
     
    5688
    5789* New special variables available in this release:
     90   - .INCLUDE_DIRS: Expands to a list of directories that make searches
     91     for included makefiles.
    5892   - .FEATURES: Contains a list of special features available in this
    5993     version of GNU make.
    6094   - .DEFAULT_GOAL: Set the name of the default goal make will
    6195     use if no goals are provided on the command line.
     96   - MAKE_RESTARTS: If set, then this is the number of times this
     97     instance of make has been restarted (see "How Makefiles Are Remade"
     98     in the manual).
    6299   - New automatic variable: $| (added in 3.80, actually): contains all
    63100     the order-only prerequisites defined for the target.
     
    72109     provided.  The canonical pathname is the absolute pathname, with
    73110     all symbolic links resolved as well.
    74    - $(info ...) prints informative messages to stdout.  No makefile
    75      name or line number info, etc. is printed, just the message.
     111   - $(info ...) prints its arguments to stdout.  No makefile name or
     112     line number info, etc. is printed.
     113   - $(flavor ...) returns the flavor of a variable.
     114   - $(or ...) provides a short-circuiting OR conditional: each argument
     115     is expanded.  The first true (non-empty) argument is returned; no
     116     further arguments are expanded.  Expands to empty if there are no
     117     true arguments.
     118   - $(and ...) provides a short-circuiting AND conditional: each
     119     argument is expanded.  The first false (empty) argument is
     120     returned; no further arguments are expanded.  Expands to the last
     121     argument if all arguments are true.
    76122
    77123* Changes made for POSIX compatibility:
     
    82128     it will be set in the environment, just as before.
    83129
    84 * On DOS and MS Windows systems, explicitly setting SHELL to a pathname
    85   ending in "cmd" or "cmd.exe" (case-insensitive) will force GNU make to
    86   use the DOS command interpreter in batch mode even if a UNIX-like
    87   shell could be found on the system.
    88 
    89 * Updated to autoconf 2.59, automake 1.8.2, and gettext 0.14.1.  Users
     130* On MS Windows systems, explicitly setting SHELL to a pathname ending
     131  in "cmd" or "cmd.exe" (case-insensitive) will force GNU make to use
     132  the DOS command interpreter in batch mode even if a UNIX-like shell
     133  could be found on the system.
     134
     135* On VMS there is now support for case-sensitive filesystems such as ODS5.
     136  See the readme.vms file for information.
     137
     138* Parallel builds (-jN) no longer require a working Bourne shell on
     139  Windows platforms.  They work even with the stock Windows shells, such
     140  as cmd.exe and command.com.
     141
     142* Updated to autoconf 2.59, automake 1.9.5, and gettext 0.14.1.  Users
    90143  should not be impacted.
    91144
     
    93146  Belarusian, Finnish, Kinyarwandan, and Irish.  Many updated
    94147  translations.
     148
     149A complete list of bugs fixed in this version is available here:
     150
     151  http://savannah.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=103
    95152
    96153
     
    172229
    173230* Updated to autoconf 2.54 and automake 1.7.  Users should not be impacted.
     231
     232A complete list of bugs fixed in this version is available here:
     233
     234  http://savannah.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=102
     235
    174236
    175237
     
    9801042
    9811043
    982 ----------------------------------------------------------------------
    983 Copyright information:
    984 
    985    Permission is granted to anyone to make or distribute verbatim copies
    986    of this document as received, in any medium, provided that the
    987    copyright notice and this permission notice are preserved, thus
    988    giving the recipient permission to redistribute in turn.
    989 
    990    Permission is granted to distribute modified versions of this
    991    document, or of portions of it, under the above conditions, provided
    992    also that they carry prominent notices stating who last changed them.
     1044-------------------------------------------------------------------------------
     1045Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
     10461998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
     1047Foundation, Inc.
     1048This file is part of GNU Make.
     1049
     1050GNU Make is free software; you can redistribute it and/or modify it under the
     1051terms of the GNU General Public License as published by the Free Software
     1052Foundation; either version 2, or (at your option) any later version.
     1053
     1054GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
     1055WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
     1056A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
     1057
     1058You should have received a copy of the GNU General Public License along with
     1059GNU Make; see the file COPYING.  If not, write to the Free Software
     1060Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Note: See TracChangeset for help on using the changeset viewer.