Sorry for the slow reply--I've been away.

Michael G Schwern wrote:
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?

This change was not my idea. The dmake maintainers over at OpenOffice.org have done this. I just release binary builds of their sources with as few changes as possible.



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.

I hadn't considered that, and now that I do I think you're right.

So I've just written to the dmake guys suggesting that they either don't bother with the new warning at all, or else relegate it to the status of a "non-essential warning" which is only output when running in a verbose mode.

Hopefully they'll be happy with that and the EU::MM patch won't be needed.

--


------------------------------------------------
Radan Computational Ltd.

The information contained in this message and any files transmitted with it are 
confidential and intended for the addressee(s) only. If you have received this 
message in error or there are any problems, please notify the sender 
immediately. The unauthorized use, disclosure, copying or alteration of this 
message is strictly forbidden. Note that any views or opinions presented in 
this email are solely those of the author and do not necessarily represent 
those of Radan Computational Ltd. The recipient(s) of this message should check 
it and any attached files for viruses: Radan Computational will accept no 
liability for any damage caused by any virus transmitted by this email.

Reply via email to