Steve Hay wrote:
Why are you removing the .SUFFIXES target? Isn't it useful? Won't that break compatibility (as demonstrated here)?

The patch only removes .SUFFIXES for dmake (not for nmake). It does this because (a) dmake has never made any use of .SUFFIXES in living memory, and (b) the upcoming version of dmake has deprecated .SUFFIXES and now issues a warning about any use of it.

I just dug out Sarathy's old version of dmake ("version 4.1 PL1")--the version that was most used before I started putting newer versions onto CPAN (and which may well still be widely used)--and here are two snippets from its manpage:

  NOTE:   .SUFFIXES  is  ignored  by dmake it is used
  here simply as an example.

  dmake bases all of its inferences on the  inference  graph
  constructed  from the %-rules defined in the makefile.  It
  knows exactly which targets can be made from which prereq-
  uisites  by  making  queries  on the inference graph.  For
  this reason .SUFFIXES is  not  needed  and  is  completely
  ignored.

So you can see that even this old version made no use of .SUFFIXES and therefore shouldn't be affected by its removal.

Why not continue to silently ignore it?  It makes writing cross-make utilities 
a little easier.  One less exception to worry about.  Have you been getting 
complaints?

It also allows older versions of MakeMaker to work quietly with newer versions 
of dmake.  Its much more likely that someone will be using a new dmake against 
an old MakeMaker.  Few people upgrade MakeMaker but lots of Windows users grab 
a copy of dmake off CPAN to install Perl modules.

Reply via email to