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