develooper Front page | perl.perl5.porters | Postings from June 2004

Re: Smoke [5.9.2] 22881 FAIL(M) MSWin32 WinXP/.Net SP1 (x86/1 cpu)

Thread Previous | Thread Next
From:
Steve Hay
Date:
June 1, 2004 07:26
Subject:
Re: Smoke [5.9.2] 22881 FAIL(M) MSWin32 WinXP/.Net SP1 (x86/1 cpu)
Message ID:
40BC930D.90701@uk.radan.com
Nicholas Clark wrote:

>On Tue, Jun 01, 2004 at 01:00:00AM +0100, Steve Hay wrote:
>  
>
>>Automated smoke report for 5.9.2 patch 22881
>>TANGAROA.uk.radan.com:  Intel(R) Pentium(R) 4 CPU 2.00GHz(~1992 MHz) (x86/1 cpu)
>>    on        MSWin32 - WinXP/.Net SP1
>>    using     cl version 12.00.8804
>>    smoketime 1 hour 19 minutes (average 2 minutes 29.156 seconds)
>>
>>Summary: FAIL(M)
>>    
>>
>Oops. Looks like I didn't get the win32 Makefile correct in my utf8 changes.
>This isn't something that I'm able to fix myself. Sorry.
>
The attached patch fixes things under VC++/nmake, and gets things 
working under MinGW/dmake too, but the latter is not perfect...

win32/Makefile and win32/makefile.mk currently contain this:

$(UNIDATAFILES) : $(MINIPERL) $(CONFIGPM) ..\lib\unicore\mktables
    cd ..\lib\unicore
    ..\..\$(MINIPERL) -I..\..\lib mktables
    cd ..\..\win32

but $(MINIPERL) is ..\miniperl.exe, so in theory just changing the above to:

$(UNIDATAFILES) : $(MINIPERL) $(CONFIGPM) ..\lib\unicore\mktables
    cd ..\lib\unicore
    ..\$(MINIPERL) -I.. mktables
    cd ..\..\win32

should be fine.  This worked OK in Makefile using VC++/nmake, but when I 
did the same in makefile.mk and tried it using MinGW/dmake it didn't 
work.  It seems that with dmake, each line of the "recipe" for a given 
target is self-contained, so the initial "cd ..\lib\unicore" only has 
effect for the rest of that line (nothing else, in this case) and then 
you're back in the win32 directory.

The following alternative (a style used elsewhere) should therefore be fine:

$(UNIDATAFILES) : $(MINIPERL) $(CONFIGPM) ..\lib\unicore\mktables
    cd ..\lib\unicore && ..\$(MINIPERL) -I.. mktables

This is also fine with nmake, but causes dmake to run mktables 7 times!

Presumably it's doing it once for each of the $(UNIDATAFILES).  The 
following makefile seems to confirm this:

FILES = one.txt two.txt
all : $(FILES)
$(FILES) :
    echo One>one.txt
    echo Two>two.txt

Running that with dmake produces this output:

echo One>one.txt
echo Two>two.txt
echo One>one.txt
echo Two>two.txt

Running the same makefile with nmake just produces:

echo One>one.txt
echo Two>two.txt

Likewise with GNU make.

Running mktables 7 times is better than not running it at all, but there 
must be a way to fix it for dmake.  Anyone know how?

- Steve


------------------------------------------------
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.

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About