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

Re: [patch bug 20010103.019] Re: perl@8269: failure to build on NT4.0.1381 with MSVC (fwd)

Thread Previous
From:
Peter Prymmer
Date:
January 4, 2001 14:17
Subject:
Re: [patch bug 20010103.019] Re: perl@8269: failure to build on NT4.0.1381 with MSVC (fwd)
Message ID:
Pine.OSF.4.10.10101041406420.492782-100000@aspara.forte.com

On Thu, 4 Jan 2001 nick@ing-simmons.net wrote:

> Peter Prymmer <pvhp@forte.com> writes:
> >
> >Here is the fix to get the perl@8269 kit to build under MSVC 5 on NT 4
> >using nmake.  (I have not addressed the signed/unsigned warnings mentioned
> >in the original report of this problem.  In addition I now note a possible
> >problem with the nmake win32/Makefile may remain since it appeared that
> >the build expired after building Errno, but `nmake test` wound up building
> >the x2p stuff and did report "All tests successful". The Encode extension
> >is still not built by nmake as previously reported, hence additional work
> >on the win32/Makefile or a replacement is still warranted but not
> >included here).
> 
> Both this fix and Encode building have been in perforce for a while now.

That sounds good (I do not have p4 access, only .tgz kits).  

FWIW here is the diff I just tested to bring Makefile
more into line with makefile.mk.  I have explicitly adjusted some
whitespace characters to reduce the uni-diff between the two files by one
part in 45.  Which may not be a great deal but perhaps it'd help with
the common source for both files scheme of the future.  Note that I have
left as is the default settings for USE_MULTI, USE_ITHREADS, USE_IMP_SYS,
and DEBUG; which differ between the two makefiles.

With the win32/Makefile patched as indicated below the 8269 kit passes
more tests ("Files=277, Test=20304" vs. "Files=277, Tests=17611").  Note
that this is a diff against a DOS CRLF file and you ought to see ^M's at
the end of each line in the patched win32/Makefile:

--- perl.8269/win32/Makefile.orig	Thu Jan  4 12:50:39 2001
+++ perl.8269/win32/Makefile	Thu Jan  4 13:36:48 2001
@@ -1,5 +1,7 @@
 #
 # Makefile to build perl on Windows NT using Microsoft NMAKE.
+# Supported compilers:
+#	Visual C++ 5.x (possibly other versions)
 #
 # This is set up to build a perl.exe that runs off a shared library
 # (perl57.dll).  Also makes individual DLLs for the XS extensions.
@@ -76,7 +78,7 @@
 # USE_ITHREADS, and is only here for people who may have come to rely
 # on the experimental Thread support that was in 5.005.
 #
-#USE_5005THREADS= define
+#USE_5005THREADS	= define
 
 #
 # WARNING! This option is deprecated and will eventually go away (enable
@@ -614,7 +616,7 @@
 
 DYNAMIC_EXT	= Socket IO Fcntl Opcode SDBM_File POSIX attrs Thread B re \
 		Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \
-		Sys/Hostname Storable Filter/Util/Call
+		Sys/Hostname Storable Filter/Util/Call Encode
 STATIC_EXT	= DynaLoader
 NONXS_EXT	= Errno
 
@@ -638,6 +640,7 @@
 HOSTNAME	= $(EXTDIR)\Sys\Hostname\Hostname
 STORABLE	= $(EXTDIR)\Storable\Storable
 FILTER		= $(EXTDIR)\Filter\Util\Call\Call
+ENCODE		= $(EXTDIR)\Encode\Encode
 
 SOCKET_DLL	= $(AUTODIR)\Socket\Socket.dll
 FCNTL_DLL	= $(AUTODIR)\Fcntl\Fcntl.dll
@@ -656,7 +659,8 @@
 GLOB_DLL	= $(AUTODIR)\File\Glob\Glob.dll
 HOSTNAME_DLL	= $(AUTODIR)\Sys\Hostname\Hostname.dll
 STORABLE_DLL	= $(AUTODIR)\Storable\Storable.dll
-FILTER_DLL	= $(EXTDIR)\Filter\Util\Call\Call.dll
+FILTER_DLL	= $(AUTODIR)\Filter\Util\Call\Call.dll
+ENCODE_DLL	= $(AUTODIR)\Encode\Encode.dll
 
 ERRNO_PM	= $(LIBDIR)\Errno.pm
 
@@ -678,7 +682,8 @@
 		$(GLOB).c	\
 		$(HOSTNAME).c	\
 		$(STORABLE).c	\
-		$(FILTER).c
+		$(FILTER).c	\
+		$(ENCODE).c
 
 EXTENSION_DLL	= 		\
 		$(SOCKET_DLL)	\
@@ -698,7 +703,8 @@
 		$(GLOB_DLL)	\
 		$(HOSTNAME_DLL)	\
 		$(STORABLE_DLL)	\
-		$(FILTER_DLL)
+		$(FILTER_DLL)	\
+		$(ENCODE_DLL)
 
 EXTENSION_PM	=		\
 		$(ERRNO_PM)
@@ -765,7 +771,7 @@
 
 # this target is for when changes to the main config.sh happen
 # edit config.{b,v,g}c and make this target once for each supported
-# compiler (e.g. `dmake CCTYPE=BORLAND regen_config_h`)
+# compiler (e.g. `nmake CCTYPE=BORLAND regen_config_h`)
 regen_config_h:
 	perl config_sh.PL $(CFG_VARS) $(CFGSH_TMPL) > ..\config.sh
 	cd ..
@@ -856,7 +862,7 @@
 		$(LINK_FLAGS) $(LIBFILES) $(X2P_OBJ)
 <<
 
-perlmain.c : runperl.c 
+perlmain.c : runperl.c
 	copy runperl.c perlmain.c
 
 perlmain$(o) : perlmain.c
@@ -867,7 +873,7 @@
 	    $(LIBFILES) $(PERLEXE_OBJ) $(SETARGV_OBJ) $(PERLIMPLIB) $(PERLEXE_RES)
 	copy $(PERLEXE) $(WPERLEXE)
 	$(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS
-	copy splittree.pl .. 
+	copy splittree.pl ..
 	$(MINIPERL) -I..\lib ..\splittree.pl "../LIB" $(AUTODIR)
 
 $(DYNALOADER).c: $(MINIPERL) $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)
@@ -981,6 +987,12 @@
 	$(MAKE)
 	cd ..\..\win32
 
+$(ENCODE_DLL): $(PERLEXE) $(ENCODE).xs
+	cd $(EXTDIR)\$(*B)
+	..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl
+	$(MAKE)
+	cd ..\..\win32
+
 $(STORABLE_DLL): $(PERLEXE) $(STORABLE).xs
 	cd $(EXTDIR)\$(*B)
 	..\..\miniperl -I..\..\lib Makefile.PL INSTALLDIRS=perl
@@ -1147,7 +1159,7 @@
 	-@$(DEL) ..\x2p\*.exe ..\x2p\*.bat
 	-@$(DEL) *.ilk
 	-@$(DEL) *.pdb
- 
+
 # Handy way to run perlbug -ok without having to install and run the
 # installed perlbug. We don't re-run the tests here - we trust the user.
 # Please *don't* use this unless all tests pass.
@@ -1157,9 +1169,9 @@
 
 okfile: utils
 	$(PERLEXE) -I..\lib ..\utils\perlbug -ok -s "(UNINSTALLED)" -F perl.ok
- 
+
 nok: utils
 	$(PERLEXE) -I..\lib ..\utils\perlbug -nok -s "(UNINSTALLED)"
- 
+
 nokfile: utils
 	$(PERLEXE) -I..\lib ..\utils\perlbug -nok -s "(UNINSTALLED)" -F perl.nok
End of Patch.

Peter Prymmer



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