|
SA Bugzilla – Full Text Bug Listing |
Summary: | Makefile.PL problems block make under Win32 | ||
---|---|---|---|
Product: | Spamassassin | Reporter: | Sidney Markowitz <sidney> |
Component: | Building & Packaging | Assignee: | SpamAssassin Developer Mailing List <dev> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | bret.miller, mikebell90, p.alessandroni |
Priority: | P5 | ||
Version: | SVN Trunk (Latest Devel Version) | ||
Target Milestone: | 2.70 | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Whiteboard: | |||
Bug Depends on: | |||
Bug Blocks: | 2785 | ||
Attachments: | *OBSOLETE* patch against CVS Makefile.PL to define variables earlier |
Description
Sidney Markowitz
2003-12-04 05:36:53 UTC
Created attachment 1605 [details]
*OBSOLETE* patch against CVS Makefile.PL to define variables earlier
Here's why Makefile.PL works with GNU make and not with Windows nmake: Create a test Makefile containing testtarg: @echo foo1 $(FOO1) foo1 FOO1 = "This is foo1 text" Using GNU make, make testtarg outputs foo1 This is foo1 text foo1 Using nmake, nmake testtarg outputs foo1 foo1 To be portable to nmake, the definition of a variable has to come earlier in the makefile than the first target that refers to it. The problem with building under ActivePerl 5.6.1 is the following: Support for older versions of MakeMaker that do not define PM_FILTER was dropped from Makefile.PL in the revision 1.118 checkin. That had been documented as being MakeMaker versions less than 5.45, and the MakeMaker version 5.45 that was included with perl 5.6.0. The doc had said that MakeMaker 5.45 shipped with perl 5.6.1 did support PM_FILTER. The doc missed another version that does not have PM_FILTER: MakeMaker 5.45 that comes with perl 5.6.1, or at least ActivePerl 5.6.1 which is the only 5.6.1 I have handy, only supports PM_FILTER on Unix, not in the Win32 portion of the code. So Makefile.PL revision 1.118 by removing support for non-PM_FILTER versions of MakeMaker broke building under the as-shipped version 5.6.1 of ActivePerl. The workaround is installing a newer ExtUtils::MakeMaker plus implementing the patch for this bug report. I'll look at that stuff. (God, I *hate* EU::MM and Makefile-compatibility in general). *** Bug 2854 has been marked as a duplicate of this bug. *** Looks good to me. +1 Malte, any feedback? Comment on attachment 1605 [details] *OBSOLETE* patch against CVS Makefile.PL to define variables earlier This patch is obsoleted by the patch I submitted for bug #2862 *** This bug has been marked as a duplicate of 2862 *** |