Subject: CVS commit: pkgsrc/devel/gmake
To: None <pkgsrc-changes@netbsd.org>
From: Dan McMahill <dmcmahill@netbsd.org>
List: pkgsrc-changes
Date: 10/16/2002 03:21:23
Module Name:	pkgsrc
Committed By:	dmcmahill
Date:		Wed Oct 16 00:21:23 UTC 2002

Modified Files:
	pkgsrc/devel/gmake: Makefile PLIST distinfo
	pkgsrc/devel/gmake/patches: patch-ab patch-ac patch-ad patch-ae
Removed Files:
	pkgsrc/devel/gmake/patches: patch-aa

Log Message:
update to gmake-3.80

Changes since 3.79.1 are:

Version 3.80

* A new feature exists: order-only prerequisites.  These prerequisites
  affect the order in which targets are built, but they do not impact
  the rebuild/no-rebuild decision of their dependents.  That is to say,
  they allow you to require target B be built before target A, without
  requiring that target A will always be rebuilt if target B is updated.
  Patch for this feature provided by Greg McGary <greg@mcgary.org>.

* For compatibility with SysV make, GNU make now supports the peculiar
  syntax $$@, $$(@D), and $$(@F) in the prerequisites list of a rule.
  This syntax is only valid within explicit and static pattern rules: it
  cannot be used in implicit (suffix or pattern) rules.  Edouard G. Parmelan
  <egp@free.fr> provided a patch implementing this feature; however, I
  decided to implement it in a different way.

* The argument to the "ifdef" conditional is now expanded before it's
  tested, so it can be a constructed variable name.

  Similarly, the arguments to "export" (when not used in a variable
  definition context) and "unexport" are also now expanded.

* A new function is defined: $(value ...).  The argument to this
  function is the _name_ of a variable.  The result of the function is
  the value of the variable, without having been expanded.

* A new function is defined: $(eval ...).  The arguments to this
  function should expand to makefile commands, which will then be
  evaluated as if they had appeared in the makefile.  In combination
  with define/endef multiline variable definitions this is an extremely
  powerful capability.  The $(value ...) function is also sometimes
  useful here.

* A new built-in variable is defined, $(MAKEFILE_LIST).  It contains a
  list of each makefile GNU make has read, or started to read, in the
  order in which they were encountered.  So, the last filename in the
  list when a makefile is just being read (before any includes) is the
  name of the current makefile.

* A new built-in variable is defined: $(.VARIABLES).  When it is
  expanded it returns a complete list of variable names defined by all
  makefiles at that moment.

* A new command-line option is defined, -B or --always-make.  If
  specified GNU make will consider all targets out-of-date even if they
  would otherwise not be.

* The arguments to $(call ...) functions were being stored in $1, $2,
  etc. as recursive variables, even though they are fully expanded
  before assignment.  This means that escaped dollar signs ($$ etc.)
  were not behaving properly.  Now the arguments are stored as simple
  variables.  This may mean that if you added extra escaping to your
  $(call ...) function arguments you will need to undo it now.

* The variable invoked by $(call ...) can now be recursive: unlike other
  variables it can reference itself and this will not produce an error
  when it is used as the first argument to $(call ...) (but only then).

* New pseudo-target .LOW_RESOLUTION_TIME, superseding the configure
  option --disable-nsec-timestamps.  You might need this if your build
  process depends on tools like "cp -p" preserving time stamps, since
  "cp -p" (right now) doesn't preserve the subsecond portion of a time
  stamp.

* Updated translations for French, Galician, German, Japanese, Korean,
  and Russian.  New translations for Croatian, Danish, Hebrew, and
  Turkish.

* Updated internationalization support to Gettext 0.11.5.
  GNU make now uses Gettext's "external" feature, and does not include
  any internationalization code itself.  Configure will search your
  system for an existing implementation of GNU Gettext (only GNU Gettext
  is acceptable) and use it if it exists.  If not, NLS will be disabled.
  See ABOUT-NLS for more information.

* Updated to autoconf 2.54 and automake 1.7.  Users should not be impacted.


To generate a diff of this commit:
cvs rdiff -r1.31 -r1.32 pkgsrc/devel/gmake/Makefile
cvs rdiff -r1.2 -r1.3 pkgsrc/devel/gmake/PLIST
cvs rdiff -r1.5 -r1.6 pkgsrc/devel/gmake/distinfo
cvs rdiff -r1.7 -r0 pkgsrc/devel/gmake/patches/patch-aa
cvs rdiff -r1.5 -r1.6 pkgsrc/devel/gmake/patches/patch-ab
cvs rdiff -r1.1 -r1.2 pkgsrc/devel/gmake/patches/patch-ac \
    pkgsrc/devel/gmake/patches/patch-ad
cvs rdiff -r1.3 -r1.4 pkgsrc/devel/gmake/patches/patch-ae

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.