Peter Prymmer <pvhp@forte.com> writes: >Hi, > >I have been testing a way to generalize the new Makefile.PL for the >Encode module, primarily some tweaks for VMS along the lines of those >proposed in: > > http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/2000-12/msg00127.html > >I thought that I'd try that Makefile.PL out on a particularly >challenging perl build platform: namely nmake and MSVC on NT 4. > >The good news is that that patch (see above URL) to Encode's Makefile.PL >seems to allow for the build of the binary dll form of Encode on NT. >The bad news is that I am a bit bewildered by the extension handling in >the NT Makefiles and cannot offer a comprehensive patch to add Encode to >NT's list of dynamic_ext's at this time, although working with analogs >of the other ext/ modules ought to yield results. What is the "base" perl you are using for this - my copy has built Encode by default on NT for some time. >Other bad news is that >with MSVC I did seen these warnings whilst test building Encode and my >not yet ready for prime time Makefile.PL patch: > >----- > cl -c -nologo -Gf -W3 -Od -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT - >DPERL_MSVCRT_READFIX -Od -MD -DNDEBUG -DVERSION=\"0.01\" -DXS_VERSION=\"0.01 >\" -I..\..\lib\CORE Encode.c >Encode.c >Encode.xs(59) : warning C4013: 'PerlIOBuf_pushed' undefined; assuming extern ret >urning int >Encode.xs(274) : warning C4013: 'PerlIO_unread' undefined; assuming extern retur >ning int > cl -c -nologo -Gf -W3 -Od -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT - >DPERL_MSVCRT_READFIX -Od -MD -DNDEBUG -DVERSION=\"0.01\" -DXS_VERSION=\"0.01 >\" -I..\..\lib\CORE encengine.c >encengine.c >"Running Mkbootstrap for Encode ()" > ..\..\miniperl -I..\..\lib -I..\..\lib -MExtUtils::Command -e chmod 644 >Encode.bs >----- > >So that may portend a possible linking problem assuming that the dll form >of Encode gets built by nmake. Ah - I only added it to the dmake makefile :-( > >At any rate, at last I come to the reason for this message: Whilst doing >a vanilla nmake/MSVC build of the perl@8211 kit I noted this failure >toward the end of the nmake win32/Makefile: > >------ > Creating library ..\..\lib\auto\Storable\Storable.lib and object ..\..\lib\au >to\Storable\Storable.exp > ..\..\miniperl -I..\..\lib -I..\..\lib -MExtUtils::Command -e chmod 755 >..\..\lib\auto\Storable\Storable.dll > ..\..\miniperl -I..\..\lib -I..\..\lib -MExtUtils::Command -e cp Storabl >e.bs ..\..\lib\auto\Storable\Storable.bs > ..\..\miniperl -I..\..\lib -I..\..\lib -MExtUtils::Command -e chmod 644 >..\..\lib\auto\Storable\Storable.bs > cd ..\..\win32 > cd ..\ext\Filter\Util\Call > ..\..\..\miniperl -I..\..\..\lib Makefile.PL INSTALLDIRS=perl >The name specified is not recognized as an >internal or external command, operable program or batch file. >NMAKE : fatal error U1077: '..\..\..\miniperl' : return code '0x1' >Stop. >------ > >And it looks like there was a directory depth typo in the win32/Makefile >that was not present in the makefile.mk employed by dmake users, but >which this patch is intended to correct (warning uni diff with ^M >characters to be extracted and applied carefull to a DOS endl file): > >--- win32/Makefile.orig Wed Dec 20 10:52:47 2000 >+++ win32/Makefile Fri Dec 22 14:28:17 2000 >@@ -989,9 +989,9 @@ > > $(FILTER_DLL): $(PERLEXE) $(FILTER).xs > cd $(EXTDIR)\Filter\Util\Call >- ..\..\..\miniperl -I..\..\..\lib Makefile.PL INSTALLDIRS=perl >+ ..\..\..\..\miniperl -I..\..\..\..\lib Makefile.PL INSTALLDIRS=perl > $(MAKE) >- cd ..\..\..\win32 >+ cd ..\..\..\..\win32 > > $(ERRNO_PM): $(PERLEXE) $(ERRNO)_pm.PL > cd $(EXTDIR)\$(*B) >End of Patch. > > >With that perl builds but fails one test: > >io/utf8........FAILED test 19 > Failed 1/25 tests, 96.00% okay > >FWIW (if it even matters) the build and test were done on a FAT file >system not (NT|HP)FS. > >Peter Prymmer -- Nick Ing-SimmonsThread Previous