develooper Front page | perl.perl5.porters | Postings from January 2009

RE: Change 35079: Upgrade to Win32API-File 0.1101

Thread Previous
From:
Steve Hay
Date:
January 8, 2009 08:49
Subject:
RE: Change 35079: Upgrade to Win32API-File 0.1101
Message ID:
1B32FF956ABF414C9BCE5E487A1497E702CCF71B@ukmail02.planit.group
Steve Peters wrote:
> On Wed, Dec 17, 2008 at 9:03 AM, Jerry D. Hedden <jdhedden@cpan.org>
> wrote: 
>>> Change 35079 by steveh@maldoror on 2008/12/12 17:50:55
>>>        Upgrade to Win32API-File 0.1101
>>> 
>>>        (Causes a couple of "prerequisite not found" build warnings,
>>>        but all works okay otherwise)
>> 
>> I noted the warnings, too:
>> 
>>            Making Win32API::File (dynamic)
>>    Warning: prerequisite IO::File 0 not found.
>>    Warning: prerequisite Win32 0 not found.
>>    Writing Makefile for Win32API::File
>> 
>> Both IO::File (in lib) and Win32 (built in ext just prior to
>> Win32API::File) should be available.
>> 
>> Anyone have a clue as to what is causing this bug?
>> 
> 
> Although they would be built, the @INC path is probably not setup to
> include the lib/ directory when building.  This is just a guess though
> since I haven't built a Win32 in a couple of weeks.
> 

The lib/ directory is included in @INC. The Makefile.PLs are run like
this (see win32/buildext.pl):

$here\..\miniperl.exe -I$here\..\lib Makefile.PL INSTALLDIRS=perl
PERL_CORE=1

The problem is that we are using miniperl.exe to build the extensions,
and miniperl can't load DLL extensions since it doesn't have DynaLoader.
Changing the above to

$here\..\perl.exe -I$here\..\lib Makefile.PL INSTALLDIRS=perl
PERL_CORE=1

lets it work fine. I might do this later (after the current Win32 build
problems surrounding git_version.h have been sorted out):

diff --git a/win32/makefile.mk b/win32/makefile.mk
index 0122772..020764b 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -1395,13 +1395,13 @@ MakePPPort_clean:
 
#-----------------------------------------------------------------------
--------
 Extensions : buildext.pl $(PERLDEP) $(CONFIGPM)
 	$(XCOPY) ..\*.h $(COREDIR)\*.*
-	$(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR)
--dynamic
-	-if exist ext $(MINIPERL) -I..\lib buildext.pl $(MAKE)
$(PERLDEP) ext --dynamic
+	$(PERLEXE) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR)
--dynamic
+	-if exist ext $(PERLEXE) -I..\lib buildext.pl $(MAKE) $(PERLDEP)
ext --dynamic
 
 Extensions_reonly : buildext.pl $(PERLDEP) $(CONFIGPM)
 	$(XCOPY) ..\*.h $(COREDIR)\*.*
-	$(MINIPERL) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR)
--dynamic +re
-	-if exist ext $(MINIPERL) -I..\lib buildext.pl $(MAKE)
$(PERLDEP) ext --dynamic +re
+	$(PERLEXE) -I..\lib buildext.pl $(MAKE) $(PERLDEP) $(EXTDIR)
--dynamic +re
+	-if exist ext $(PERLEXE) -I..\lib buildext.pl $(MAKE) $(PERLDEP)
ext --dynamic +re
 
 Extensions_static : buildext.pl $(PERLDEP) $(CONFIGPM)
 	$(XCOPY) ..\*.h $(COREDIR)\*.*

Thread Previous


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