summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorPerl 5 Porters <perl5-porters@africa.nicoh.com>1997-03-09 11:57:19 +1200
committerChip Salzenberg <chip@atlantic.net>1997-03-09 11:57:19 +1200
commit68dc074516a6859e3424b48d1647bcb08b1a1a7d (patch)
tree125011c6d8e4a04727ff97166dc19199809958e4 /win32
parent699e6cd4da8c333ef83554732e73ab6734463b5d (diff)
downloadperl-68dc074516a6859e3424b48d1647bcb08b1a1a7d.tar.gz
[inseparable changes from match from perl-5.003_93 to perl-5.003_94]
BUILD PROCESS Subject: Don't use db 2.x, we're not yet ready for it From: Paul Marquess <pmarquess@bfsec.bt.co.uk> Files: Configure Subject: Warn if #! command is longer than 32 chars From: Chip Salzenberg <chip@perl.com> Files: Configure Subject: patches re perl -wc install{perl,man} Date: Tue, 11 Mar 97 13:13:16 GMT From: Robin Barker <rmb1@cise.npl.co.uk> Files: installman installperl I got the new installhtml from CPAN (TOMC/scripts/pod2html-v2.0beta.shar.gz) I had problems getting the system call to splitpod at line 376 to work. 1. splitroot was not being found 2. splitroot was not finding its library 3. I changed htmlroot to podroot at line 175 to match the documentation. p5p-msgid: 3180.9703270906@tempest.cise.npl.co.uk private-msgid: 21544.9703111313@tempest.cise.npl.co.uk Subject: 3_93 doesn't install pods Date: Sun, 16 Mar 1997 02:21:35 -0500 From: Spider Boardman <spider@orb.nashua.nh.us> Files: installperl Msg-ID: 199703160721.CAA08339@Orb.Nashua.NH.US (applied based on p5p patch as commit 43506a616735d616e03d277d64fbae1e864024bf) Subject: When installing, use File::Copy instead of `cp` From: Chip Salzenberg <chip@perl.com> Files: installperl Subject: Make hint files' warnings more visible Date: Thu, 20 Mar 1997 23:18:03 +0100 (MET) From: Hallvard B Furuseth <h.b.furuseth@usit.uio.no> Files: hints/3b1.sh hints/apollo.sh hints/cxux.sh hints/dcosx.sh hints/dgux.sh hints/esix4.sh hints/freebsd.sh hints/hpux.sh hints/irix_4.sh hints/mips.sh hints/next_3_0.sh hints/os2.sh hints/qnx.sh hints/sco_2_3_3.sh hints/sco_2_3_4.sh hints/solaris_2.sh hints/ultrix_4.sh hints/utekv.sh private-msgid: 199703202218.XAA09041@bombur2.uio.no CORE LANGUAGE CHANGES Subject: Defer creation of array and hash elements as parameters From: Chip Salzenberg <chip@perl.com> Files: dump.c global.sym mg.c op.c op.h perl.h pp.c pp_hot.c proto.h sv.c Subject: New special literal: __PACKAGE__ From: Chip Salzenberg <chip@perl.com> Files: keywords.pl pod/perldata.pod toke.c Subject: Abort compilation at C<BEGIN{}> or C<use> after errors From: Chip Salzenberg <chip@perl.com> Files: op.c pod/perldiag.pod t/pragma/subs.t Subject: allow C<substr 'hello', -10> Date: Mon, 10 Mar 1997 15:55:44 -0800 From: David Dyck <dcd@tc.fluke.com> Files: pp.c Msg-ID: 97Mar10.155517pst.35716-2@gateway.fluke.com (applied based on p5p patch as commit 77f720bf92f3d0100352416caeedd57936807ff2) Subject: Regularize C<x % y>, esp. when y is negative From: Chip Salzenberg <chip@perl.com> Files: pp.c Subject: Flush before C<flock(FOO, LOCK_UN)> From: Chip Salzenberg <chip@perl.com> Files: pod/perldelta.pod pod/perlfunc.pod pp_sys.c Subject: Close loopholes in prototype mismatch warning From: Chip Salzenberg <chip@perl.com> Files: op.c sv.c toke.c Subject: Warn on C<while ($x = each %y) {}> From: Chip Salzenberg <chip@perl.com> Files: op.c pod/perldiag.pod Subject: Don't warn on C<print $fh func()> From: Chip Salzenberg <chip@perl.com> Files: toke.c CORE PORTABILITY Subject: Don't say 'static var = 1' Date: Sun, 9 Mar 1997 15:19:57 +0200 (EET) From: Jarkko Hietaniemi <jhi@iki.fi> Files: malloc.c private-msgid: 199703091319.PAA24714@alpha.hut.fi Subject: HP/UX hint comments Date: Fri, 21 Mar 1997 15:43:07 -0500 (EST) From: Andy Dougherty <doughera@fractal.phys.lafayette.edu> Files: hints/hpux.sh private-msgid: Pine.SOL.3.95q.970321153918.28770B-100000@fractal.lafayette. Subject: VMS update Date: Tue, 11 Mar 1997 22:00:55 -0500 (EST) From: Charles Bailey <bailey@hmivax.humgen.upenn.edu> Files: lib/ExtUtils/MM_VMS.pm lib/Test/Harness.pm t/op/taint.t utils/perlbug.PL vms/descrip.mms Msg-ID: 1997Mar11.220056.1873182@hmivax.humgen.upenn.edu (applied based on p5p patch as commit 2b5725676da60b49978f38b85bb7f8ee20b4cb55) Subject: vmsish.t and related patches Date: Fri, 21 Mar 1997 01:32:47 -0500 (EST) From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU> Files: MANIFEST perl.h vms/descrip.mms vms/ext/vmsish.t vms/vms.c private-msgid: 01IGQW3IP1KK005VFB@hmivax.humgen.upenn.edu Subject: Win32 update (four patches) From: Gurusamy Sarathy <gsar@engin.umich.edu> Files: MANIFEST README.win32 lib/AutoSplit.pm lib/Cwd.pm lib/ExtUtils/Command.pm lib/ExtUtils/Install.pm lib/ExtUtils/MM_OS2.pm lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_Win32.pm lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm lib/File/Basename.pm lib/File/Path.pm mg.c t/comp/cpp.t t/comp/script.t t/harness t/io/argv.t t/io/dup.t t/io/fs.t t/io/inplace.t t/lib/filehand.t t/lib/io_dup.t t/lib/io_sel.t t/lib/io_taint.t t/op/closure.t t/op/exec.t t/op/glob.t t/op/goto.t t/op/magic.t t/op/misc.t t/op/rand.t t/op/split.t t/op/stat.t t/op/sysio.t t/op/taint.t t/pragma/strict.t t/pragma/subs.t t/pragma/warning.t util.c win32/* DOCUMENTATION Subject: perlfaq.pod Date: Mon, 17 Mar 1997 16:01:40 -0700 From: Tom Christiansen <tchrist@jhereg.perl.com> Files: MANIFEST pod/Makefile pod/buildtoc pod/perl.pod pod/perlfaq*.pod pod/roffitall private-msgid: 199703172301.QAA12566@jhereg.perl.com Subject: *.pod changes based on the FAQ Date: Mon, 17 Mar 1997 09:50:14 -0700 (MST) From: Nat Torkington <gnat@frii.com> Files: pod/perldata.pod pod/perlfunc.pod pod/perlipc.pod pod/perlop.pod pod/perlre.pod pod/perlrun.pod pod/perlsec.pod pod/perlvar.pod Msg-ID: 199703171650.JAA02655@elara.frii.com (applied based on p5p patch as commit 3c10ad8e31f7d77e71c048b1746912f41cb540f0) Subject: Document that $. is not reset on implicit open From: Chip Salzenberg <chip@perl.com> Files: pod/perldelta.pod Subject: Re: Embedding success with _93 Date: Tue, 11 Mar 1997 17:55:05 -0500 From: Doug MacEachern <dougm@opengroup.org> Files: pod/perldelta.pod Msg-ID: 199703112255.RAA22775@postman.osf.org (applied based on p5p patch as commit 63a6ff3a1dc8d86edb4d8a7ec1548205e32a7114) Subject: Patch to document illegal characters Date: Fri, 14 Mar 1997 09:08:10 -0800 (PST) From: Tom Phoenix <rootbeer@teleport.com> Files: pod/perldiag.pod pod/perltrap.pod private-msgid: Pine.GSO.3.96.970314090558.15346J-100000@kelly.teleport.com Subject: Document trap with //o and closures Date: Mon, 10 Mar 1997 18:08:08 -0500 (EST) From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU> Files: pod/perltrap.pod Msg-ID: 01IGCHWRNSEU00661G@hmivax.humgen.upenn.edu (applied based on p5p patch as commit a54cb1465fdb400848f23705a6f130bb5c34ab70) Subject: Illegal character in input Date: Mon, 10 Mar 1997 15:21:21 -0800 (PST) From: Tom Phoenix <rootbeer@teleport.com> Files: pod/perldiag.pod private-msgid: Pine.GSO.3.95q.970310151512.22489a-100000@kelly.teleport.com Subject: Patch for docs Re: Lost backslash Date: Wed, 19 Mar 1997 07:28:57 -0800 (PST) From: Tom Phoenix <rootbeer@teleport.com> Files: pod/perlop.pod private-msgid: Pine.GSO.3.96.970319071438.24834G-100000@kelly.teleport.com Subject: XSUB's doc fix Date: Mon, 10 Mar 1997 11:42:06 -0500 From: Roderick Schertler <roderick@argon.org> Files: pod/perlcall.pod pod/perlguts.pod pod/perlxstut.pod Msg-ID: 28804.858012126@eeyore.ibcinc.com (applied based on p5p patch as commit 5f43237038ea7a4151d3bf65aeeecd56ceb78a6a) Subject: Document return from do FILE Date: Tue, 18 Mar 1997 14:50:10 +0000 From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> Files: pod/perlfunc.pod Msg-ID: E0w70DK-0001yJ-00@ursa.cus.cam.ac.uk (applied based on p5p patch as commit ba8d5fb439878113de8abc9b52d2af237d30fb3c) Subject: Document $^M in perlvar Date: Thu, 20 Mar 97 21:08:33 GMT From: Robin Barker <rmb1@cise.npl.co.uk> Files: pod/perlvar.pod private-msgid: 6153.9703202108@tempest.cise.npl.co.uk Subject: typos in pods of 5.003_93 Date: 19 Mar 1997 10:39:38 -0600 From: Jim Meyering <meyering@asic.sc.ti.com> Files: pod/perlfunc.pod pod/perlguts.pod pod/perlre.pod pod/perltoot.pod pod/perlxs.pod Msg-ID: wpgendbzvhx.fsf@asic.sc.ti.com (applied based on p5p patch as commit 76a9873e006cf8f48f57062b2a0dd40b5ed45a95) Subject: Re: Updates to pod punctuations Date: Fri, 14 Mar 1997 17:00:12 -0500 From: Larry W. Virden <lvirden@cas.org> Files: pod/*.pod private-msgid: 9703141700.AA22911@cas.org Subject: clarify example in perlfunc Date: Thu, 20 Mar 1997 19:46:01 +0200 (EET) From: Jarkko Hietaniemi <jhi@iki.fi> Files: pod/perlfunc.pod private-msgid: 199703201746.TAA25195@alpha.hut.fi Subject: Regularize headings in DB_File documentation From: Chip Salzenberg <chip@perl.com> Files: ext/DB_File/DB_File.pm LIBRARY AND EXTENSIONS Subject: New module: autouse.pm Date: Thu, 20 Mar 1997 19:34:30 -0500 (EST) From: Ilya Zakharevich <ilya@math.ohio-state.edu> Files: MANIFEST lib/autouse.pm Msg-ID: 199703210034.TAA13469@monk.mps.ohio-state.edu (applied based on p5p patch as commit 6757905eccb6dd0440ef65e8128a277a20f7d943) Subject: Refresh DB_File to 1.12 Date: Wed, 12 Mar 97 15:51:14 GMT From: Paul Marquess <pmarquess@bfsec.bt.co.uk> Files: ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs Msg-ID: 9703121551.AA07435@claudius.bfsec.bt.co.uk (applied based on p5p patch as commit b3deed9189f963e9994815307931f9084f60d1d9) Subject: In File::Path, some systems can't remove read-only files From: Chip Salzenberg <chip@perl.com> Files: lib/File/Path.pm Subject: Fix bugs revealed by prototype warnings From: Chip Salzenberg <chip@perl.com> Files: ext/Opcode/Opcode.pm lib/ExtUtils/MakeMaker.pm lib/Getopt/Long.pm Subject: Problems with SKIP in makemaker Date: Thu, 20 Mar 1997 23:13:31 -0500 (EST) From: Ilya Zakharevich <ilya@math.ohio-state.edu> Files: lib/ExtUtils/MM_Unix.pm Msg-ID: 199703210413.XAA21601@monk.mps.ohio-state.edu (applied based on p5p patch as commit 970322a2e8024294ada6e8d1a027cb98f1f48ee3) Subject: In Exporter, don't C<require Carp> at file scope From: Chip Salzenberg <chip@perl.com> Files: lib/Exporter.pm Subject: fix for Exporter's $SIG{__WARN__} handler Date: Thu, 13 Mar 1997 18:40:51 -0500 From: Roderick Schertler <roderick@argon.org> Files: lib/Exporter.pm Msg-ID: 2282.858296451@eeyore.ibcinc.com (applied based on p5p patch as commit 2768ea1aeef34f42d096f198fbe629c8374ca429) Subject: Don't try to substr() refs in Carp From: Chip Salzenberg <chip@perl.com> Files: lib/Carp.pm Subject: Re: NUL in die and other messages Date: Fri, 21 Mar 1997 09:58:17 +0000 From: "M.J.T. Guy" <mjtg@cus.cam.ac.uk> Files: lib/Carp.pm Msg-ID: E0w815V-0005xs-00@ursa.cus.cam.ac.uk (applied based on p5p patch as commit 52a267c574cb66c4bc35601dcf148a1d7a3bc557) OTHER CORE CHANGES Subject: Guard against buffer overflow in yyerror() and related funcs From: Chip Salzenberg <chip@perl.com> Files: toke.c Subject: For bin compat, rename calllist() and he_{,delay}free From: Chip Salzenberg <chip@perl.com> Files: global.sym hv.c op.c perl.c pod/perlguts.pod proto.h Subject: Fix C<print> on tied default handle From: Chip Salzenberg <chip@perl.com> Files: pp_hot.c Subject: Fix C<local($a, undef, $b) = (1,2,3)> From: Chip Salzenberg <chip@perl.com> Files: op.c Subject: Improve diagnostic on C<@a++>, C<--%a>, @a =~ s/a/b/ From: Chip Salzenberg <chip@perl.com> Files: pp.c pp_hot.c Subject: Don't warn on C<$x{y} .= "z"> when %x is tied From: Chip Salzenberg <chip@perl.com> Files: pp_hot.c Subject: Eliminate 'unreachable code' warnings From: Chip Salzenberg <chip@perl.com> Files: ext/POSIX/POSIX.xs mg.c pp_ctl.c toke.c Subject: printf format corrections for -DDEBUGGING Date: Wed, 19 Mar 1997 12:42:50 -0500 From: Roderick Schertler <roderick@argon.org> Files: doop.c malloc.c op.c pp_ctl.c regexec.c sv.c x2p/str.c x2p/util.c Msg-ID: 26592.858793370@eeyore.ibcinc.com (applied based on p5p patch as commit e125f273e351a19a92b69d6244af55abbbf0a26d) Subject: Warn about missing -DMULTIPLICITY if likely a problem Date: Wed, 19 Mar 1997 18:45:53 -0500 From: Doug MacEachern <dougm@opengroup.org> Files: perl.c Msg-ID: 199703192345.SAA15070@postman.osf.org (applied based on p5p patch as commit 71aeea1753924e6e19c2461e241e3f7d8a570e90)
Diffstat (limited to 'win32')
-rw-r--r--win32/Fcntl.mak12
-rw-r--r--win32/IO.mak12
-rw-r--r--win32/Makefile308
-rw-r--r--win32/Opcode.mak12
-rw-r--r--win32/SDBM_File.mak16
-rw-r--r--win32/Socket.mak12
-rw-r--r--win32/TEST4
-rw-r--r--win32/VC-2.0/SDBM_File.mak361
-rw-r--r--win32/VC-2.0/Socket.mak276
-rw-r--r--win32/VC-2.0/libperl.mak2217
-rw-r--r--win32/VC-2.0/miniperl.mak393
-rw-r--r--win32/VC-2.0/modules.mak828
-rw-r--r--win32/VC-2.0/perl.mak228
-rw-r--r--win32/VC-2.0/perldll.mak436
-rw-r--r--win32/VC-2.0/vc2.patch16
-rw-r--r--win32/config.H482
-rw-r--r--win32/config.w32340
-rw-r--r--win32/dl_win32.xs22
-rw-r--r--win32/dosish.h10
-rw-r--r--win32/libperl.mak12
-rw-r--r--win32/makedef.pl48
-rw-r--r--win32/miniperl.mak16
-rw-r--r--win32/modules.mak48
-rw-r--r--win32/perl.mak14
-rw-r--r--win32/perldll.mak16
-rw-r--r--win32/perlglob.c2
-rw-r--r--win32/perlglob.mak12
-rw-r--r--win32/perllib.c109
-rw-r--r--win32/splittree.pl2
-rw-r--r--win32/win32.c1314
-rw-r--r--win32/win32.h57
-rw-r--r--win32/win32aux.c40
-rw-r--r--win32/win32io.c238
-rw-r--r--win32/win32io.h60
-rw-r--r--win32/win32iop.h64
-rw-r--r--win32/win32sck.c864
36 files changed, 7202 insertions, 1699 deletions
diff --git a/win32/Fcntl.mak b/win32/Fcntl.mak
index 4e07efbb2a..accea9ece7 100644
--- a/win32/Fcntl.mak
+++ b/win32/Fcntl.mak
@@ -60,9 +60,9 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-CPP_PROJ=/nologo /MT /W3 /GX /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D\
+# ADD BASE CPP /nologo /MT /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+CPP_PROJ=/nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D\
"NDEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/Fcntl.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
CPP_SBRS=
@@ -123,9 +123,9 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\include" /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-CPP_PROJ=/nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\include" /I "." /I ".." /D\
+# ADD BASE CPP /nologo /MTd /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I ".\include" /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Gm /Zi /Od /I ".\include" /I "." /I ".." /D\
"WIN32" /D "_DEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/Fcntl.pch" /YX /Fo"$(INTDIR)/"\
/Fd"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
diff --git a/win32/IO.mak b/win32/IO.mak
index 7cd744ee07..304a4065cf 100644
--- a/win32/IO.mak
+++ b/win32/IO.mak
@@ -60,9 +60,9 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-CPP_PROJ=/nologo /MT /W3 /GX /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D\
+# ADD BASE CPP /nologo /MT /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+CPP_PROJ=/nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D\
"NDEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/IO.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
CPP_SBRS=
@@ -122,9 +122,9 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\include" /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-CPP_PROJ=/nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\include" /I "." /I ".." /D\
+# ADD BASE CPP /nologo /MTd /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I ".\include" /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Gm /Zi /Od /I ".\include" /I "." /I ".." /D\
"WIN32" /D "_DEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/IO.pch" /YX /Fo"$(INTDIR)/"\
/Fd"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
diff --git a/win32/Makefile b/win32/Makefile
index 07e781efb5..05c2c48b36 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -1,126 +1,274 @@
+#
+# Makefile to build perl on Windowns NT using Microsoft NMAKE.
+#
+#
+# This is set up to build a perl.exe that runs off a shared library
+# (perl.dll). Also makes individual DLLs for the XS extensions.
+#
+# There's no support for building an all-static perl yet.
+# Doesn't build any of the stuff in ..\utils yet.
+# No support for installing documentation, uh, yet.
+#
-LIBDIR=..\..\lib
+
+#
+# Set this to wherever you want "nmake install" to put your
+# newly built perl. If you change this, you better change
+# all occurrences of this prefix in $(INST_TOP)\lib\Config.pm
+# as well.
+
+INST_TOP=C:\perl
+
+#################### do not edit below this line ########################
+#
+INST_BIN=$(INST_TOP)\bin
+INST_LIB=$(INST_TOP)\lib
+INST_POD=$(INST_TOP)\pod
+INST_HTML=$(INST_POD)\html
+LIBDIR=..\lib
EXTDIR=..\ext
+PODDIR=..\pod
EXTUTILSDIR=$(LIBDIR)\extutils
-XSUBPP=..\..\miniperl $(EXTUTILSDIR)\xsubpp -C++ -prototypes
-AUTOSPLIT=..\..\miniperl ..\..\win32\autosplit.pl
-DEST=..\
+
+#
+# various targets
+PERLLIB=..\libperl.lib
+MINIPERL=..\miniperl.exe
+PERLDLL=..\perl.dll
+PERLEXE=..\perl.exe
+GLOBEXE=..\perlglob.exe
+
+PL2BAT=bin\PL2BAT.BAT
+MAKE=nmake /nologo
+XCOPY=xcopy /d /f /r
+NULL=
+
+#
+# filenames given to xsubpp must have forward slashes (since it puts
+# full pathnames in #line strings)
+XSUBPP=..\$(MINIPERL) ..\$(EXTUTILSDIR)\xsubpp -C++ -prototypes
+
+CORE_C= \
+ ..\av.c \
+ ..\deb.c \
+ ..\doio.c \
+ ..\doop.c \
+ ..\dump.c \
+ ..\globals.c \
+ ..\gv.c \
+ ..\hv.c \
+ ..\mg.c \
+ ..\op.c \
+ ..\perl.c \
+ ..\perlio.c \
+ ..\perly.c \
+ ..\pp.c \
+ ..\pp_ctl.c \
+ ..\pp_hot.c \
+ ..\pp_sys.c \
+ ..\regcomp.c \
+ ..\regexec.c \
+ ..\run.c \
+ ..\scope.c \
+ ..\sv.c \
+ ..\taint.c \
+ ..\toke.c \
+ ..\universal.c \
+ ..\util.c
EXTENSIONS=DynaLoader Socket IO Fcntl Opcode SDBM_File
-#STATICLINKMODUES=DynaLoader Socket Fcntl Opcode SDBM_File
-STATICLINKMODUES=
-#DYNALOADMODULES=IO.dll
-DYNALOADMODULES=Socket.dll Fcntl.dll Opcode.dll SDBM_File.dll IO.dll
-ALL: perl
+DYNALOADER=$(EXTDIR)\DynaLoader\DynaLoader
+SOCKET=$(EXTDIR)\Socket\Socket
+FCNTL=$(EXTDIR)\Fcntl\Fcntl
+OPCODE=$(EXTDIR)\Opcode\Opcode
+SDBM_FILE=$(EXTDIR)\SDBM_File\SDBM_File
+IO=$(EXTDIR)\IO\IO
+
+SOCKET_DLL=..\lib\auto\Socket\Socket.dll
+FCNTL_DLL=..\lib\auto\Fcntl\Fcntl.dll
+OPCODE_DLL=..\lib\auto\Opcode\Opcode.dll
+SDBM_FILE_DLL=..\lib\auto\SDBM_File\SDBM_File.dll
+IO_DLL=..\lib\auto\IO\IO.dll
+
+STATICLINKMODULES=DynaLoader
+DYNALOADMODULES= \
+ $(SOCKET_DLL) \
+ $(FCNTL_DLL) \
+ $(OPCODE_DLL) \
+ $(SDBM_FILE_DLL)\
+ $(IO_DLL)
+
+POD2HTML=$(PODDIR)\pod2html
+POD2MAN=$(PODDIR)\pod2man
+POD2LATEX=$(PODDIR)\pod2latex
+POD2TEXT=$(PODDIR)\pod2text
+
+ALL: $(PERLEXE) $(GLOBEXE) $(DYNALOADMODULES)
!IF "$(CFG)" ==""
CFG=Release
!ENDIF
-modules : $(EXTENSIONS)
- nmake -A -f modules.mak CFG="modules - Win32 $(CFG)"
+modules.lib : $(DYNALOADER).c
+ $(MAKE) -A -f modules.mak CFG="modules - Win32 $(CFG)"
-perlglob.exe:
- nmake -f perlglob.mak CFG="perlglob - Win32 Release"
+$(GLOBEXE):
+ $(MAKE) -f perlglob.mak CFG="perlglob - Win32 Release"
-libperl.lib:
+$(PERLLIB): $(CORE_C)
attrib -r ..\*.h
copy dosish.h ..
copy EXTERN.h ..
- nmake -f libperl.mak CFG="libperl - Win32 $(CFG)"
+ $(MAKE) -f libperl.mak CFG="libperl - Win32 $(CFG)"
-miniperl.exe: libperl.lib
- nmake -A -f miniperl.mak CFG="miniperl - Win32 $(CFG)"
+$(MINIPERL): $(PERLLIB)
+ $(MAKE) -A -f miniperl.mak CFG="miniperl - Win32 $(CFG)"
copy config.w32 ..\config.sh
cd ..
miniperl configpm
cd win32
- if exist lib\* xcopy lib\*.* ..\lib\ /s/e
+ if exist lib\* $(XCOPY) /e lib\*.* ..\lib\$(NULL)
copy bin\test.bat ..\t
-perldll: miniperl.exe libperl.lib
- ..\miniperl -w makedef.pl > perldll.def
- nmake -A -f perldll.mak CFG="perldll - Win32 $(CFG)"
+$(PERLDLL): $(MINIPERL) $(PERLLIB)
+ $(MINIPERL) -w makedef.pl > perldll.def
+ $(MAKE) -A -f perldll.mak CFG="perldll - Win32 $(CFG)"
-dynamodules: $(DYNALOADMODULES)
-
-perl: miniperl.exe modules perldll perlglob.exe dynamodules
- ..\miniperl makemain.pl $(STATICLINKMODUES) > perlmain.c
- ..\miniperl makeperldef.pl $(STATICLINKMODUES) > perl.def
+$(PERLEXE): $(MINIPERL) modules.lib $(PERLDLL)
+ attrib -r perlmain.c
+ attrib -r perl.def
+# $(MINIPERL) makemain.pl $(STATICLINKMODUES) > perlmain.c
+# $(MINIPERL) makeperldef.pl $(STATICLINKMODUES) > perl.def
+ $(MINIPERL) makeperldef.pl $(NULL) > perl.def
copy runperl.c perlmain.c
- nmake -A -f perl.mak CFG="perl - Win32 $(CFG)"
- copy ..\_perl.exe ..\perl.exe
+ $(MAKE) -A -f perl.mak CFG="perl - Win32 $(CFG)"
+ copy ..\_perl.exe $(PERLEXE)
del ..\_perl.exe
del ..\*.exp
copy splittree.pl ..
- ..\miniperl ..\splittree.pl "../LIB" "../LIB/auto"
+ $(MINIPERL) ..\splittree.pl "../LIB" "../LIB/auto"
attrib -r ..\t\*.*
copy test ..\t
- xcopy ..\perl.h ..\lib\CORE\*.*
-
-DynaLoader:
- md ..\lib\auto
- cd $(EXTDIR)\$*
- copy ..\..\win32\dl_win32.xs .
- copy $*.pm $(LIBDIR)
- $(XSUBPP) dl_win32.xs > $*.c
- cd ..\..\win32
+ $(XCOPY) ..\*.h ..\lib\CORE\*.*
+ $(XCOPY) ..\perl.lib ..\lib\CORE
+ $(XCOPY) $(PERLLIB) ..\lib\CORE
+ $(XCOPY) *.h ..\lib\CORE
+ $(XCOPY) /S include ..\lib\CORE
-Socket:
- md ..\lib\auto\$*
- ..\miniperl genxsdef.pl $* > $*.def
- cd $(EXTDIR)\$*
- copy $*.pm $(LIBDIR)
- $(XSUBPP) $*.xs > $*.c
+$(DYNALOADER).c: $(EXTDIR)\DynaLoader\dl_win32.xs
+ if not exist ..\lib\auto md ..\lib\auto
+ $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
+ cd $(EXTDIR)\$(*B)
+ $(XSUBPP) dl_win32.xs > $(*B).c
cd ..\..\win32
-Socket.dll:
- nmake -f $*.mak CFG="$* - Win32 $(CFG)"
+$(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
+ copy dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
-IO:
- md ..\lib\auto\$*
- ..\miniperl genxsdef.pl $* > $*.def
- cd $(EXTDIR)\$*
- copy $*.pm $(LIBDIR)
- xcopy lib\*.* $(LIBDIR) /s
- $(XSUBPP) $*.xs > $*.c
+$(SOCKET).c: $(SOCKET).xs
+ if not exist ..\lib\auto\$(*B) md ..\lib\auto\$(*B)
+ $(MINIPERL) genxsdef.pl $(*B) > $(*B).def
+ $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
+ cd $(EXTDIR)\$(*B)
+ $(XSUBPP) $(*B).xs > $(*B).c
cd ..\..\win32
-IO.dll:
- nmake -f $*.mak CFG="$* - Win32 $(CFG)"
+$(IO).c: $(IO).xs
+ if not exist ..\lib\auto\$(*B) md ..\lib\auto\$(*B)
+ $(MINIPERL) genxsdef.pl $(*B) > $(*B).def
+ $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
+ $(XCOPY) /s $(EXTDIR)\$(*B)\lib\*.* $(LIBDIR)
+ cd $(EXTDIR)\$(*B)
+ $(XSUBPP) $(*B).xs > $(*B).c
+ cd ..\..\win32
-SDBM_File:
- md ..\lib\auto\$*
- ..\miniperl genxsdef.pl $* > $*.def
- cd $(EXTDIR)\$*
- copy $*.pm $(LIBDIR)
- $(XSUBPP) -typemap ./typemap $*.xs > $*.c
+$(SDBM_FILE).c: $(SDBM_FILE).xs
+ if not exist ..\lib\auto\$(*B) md ..\lib\auto\$(*B)
+ $(MINIPERL) genxsdef.pl $(*B) > $(*B).def
+ $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
+ cd $(EXTDIR)\$(*B)
+ $(XSUBPP) -typemap ./typemap $(*B).xs > $(*B).c
cd ..\..\win32
-SDBM_File.dll:
- nmake -f $*.mak CFG="$* - Win32 $(CFG)"
+$(FCNTL).c: $(FCNTL).xs
+ if not exist ..\lib\auto\$(*B) md ..\lib\auto\$(*B)
+ $(MINIPERL) genxsdef.pl $(*B) > $(*B).def
+ $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
+ cd $(EXTDIR)\$(*B)
+ $(XSUBPP) $(*B).xs > $(*B).c
+ cd ..\..\win32
-Fcntl:
- md ..\lib\auto\$*
- ..\miniperl genxsdef.pl $* > $*.def
- cd $(EXTDIR)\$*
- copy $*.pm $(LIBDIR)
- $(XSUBPP) $*.xs > $*.c
+$(OPCODE).c: $(OPCODE).xs
+ if not exist ..\lib\auto\$(*B) md ..\lib\auto\$(*B)
+ $(MINIPERL) genxsdef.pl $(*B) > $(*B).def
+ $(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
+ $(XCOPY) $(EXTDIR)\$(*B)\*.pm $(LIBDIR)\$(NULL)
+ cd $(EXTDIR)\$(*B)
+ $(XSUBPP) $(*B).xs > $(*B).c
cd ..\..\win32
-Fcntl.dll:
- nmake -f $*.mak CFG="$* - Win32 $(CFG)"
+$(SOCKET_DLL): $(SOCKET).c $(PERLDLL)
+ $(MAKE) -f $(*B).mak CFG="$(*B) - Win32 $(CFG)"
-Opcode:
- md ..\lib\auto\$*
- ..\miniperl genxsdef.pl $* > $*.def
- cd $(EXTDIR)\$*
- xcopy *.pm $(LIBDIR)
- $(XSUBPP) $*.xs > $*.c
- cd ..\..\win32
+$(IO_DLL): $(IO).c $(PERLDLL)
+ $(MAKE) -f $(*B).mak CFG="$(*B) - Win32 $(CFG)"
+
+$(SDBM_FILE_DLL): $(SDBM_FILE).c $(PERLDLL)
+ $(MAKE) -f $(*B).mak CFG="$(*B) - Win32 $(CFG)"
-Opcode.dll:
- nmake -f $*.mak CFG="$* - Win32 $(CFG)"
+$(FCNTL_DLL): $(FCNTL).c $(PERLDLL)
+ $(MAKE) -f $(*B).mak CFG="$(*B) - Win32 $(CFG)"
+$(OPCODE_DLL): $(OPCODE).c $(PERLDLL)
+ $(MAKE) -f $(*B).mak CFG="$(*B) - Win32 $(CFG)"
+
+doc: $(PERLEXE)
+ $(PERLEXE) $(POD2HTML).PL
+ $(PERLEXE) $(POD2MAN).PL
+ $(PERLEXE) $(POD2LATEX).PL
+ $(PERLEXE) $(POD2TEXT).PL
+ $(PERLEXE) $(PL2BAT) $(POD2HTML)
+ $(PERLEXE) $(PL2BAT) $(POD2MAN)
+ $(PERLEXE) $(PL2BAT) $(POD2LATEX)
+ $(PERLEXE) $(PL2BAT) $(POD2TEXT)
+ cd $(PODDIR)
+ $(PERLEXE) pod2html.bat *.pod
+ cd ..\win32
+
+distclean:
+ -del /f $(MINIPERL) $(PERLEXE) $(PERLDLL) $(GLOBEXE) \
+ $(PERLLIB) modules.lib
+ -del /f *.def
+ -del /f $(SOCKET_DLL) $(IO_DLL) $(SDBM_FILE_DLL) \
+ $(FCNTL_DLL) $(OPCODE_DLL)
+ -del /f $(SOCKET).c $(IO).c $(SDBM_FILE).c $(FCNTL).c \
+ $(OPCODE).c $(DYNALOADER).c
+ -del /f $(PODDIR)\*.html
+ -del /f $(PODDIR)\*.bat
+ -rmdir /s /q release
+ -rmdir /s /q debug
+
+install : ALL doc
+ if not exist $(INST_TOP) mkdir $(INST_TOP)
+ echo I $(INST_TOP) L $(LIBDIR)
+ $(XCOPY) $(PERLEXE) $(INST_BIN)\*.*
+ $(XCOPY) $(GLOBEXE) $(INST_BIN)\*.*
+ $(XCOPY) $(PERLDLL) $(INST_BIN)\*.*
+ $(XCOPY) /e ..\lib $(INST_LIB)\*.*
+ $(XCOPY) ..\pod\*.bat $(INST_BIN)\*.*
+ $(XCOPY) ..\pod\*.pod $(INST_POD)\*.*
+ $(XCOPY) ..\pod\*.html $(INST_HTML)\*.*
+
+inst_lib :
+ copy splittree.pl ..
+ $(MINIPERL) ..\splittree.pl "../LIB" "../LIB/auto"
+ $(XCOPY) /e ..\lib $(INST_LIB)\*.*
+test : all
+ $(XCOPY) $(PERLEXE) ..\t\$(NULL)
+ $(XCOPY) $(PERLDLL) ..\t\$(NULL)
+ $(XCOPY) $(GLOBEXE) ..\t\$(NULL)
+ cd ..\t
+ $(PERLEXE) test
+ cd ..\win32
diff --git a/win32/Opcode.mak b/win32/Opcode.mak
index 6e40b32e7a..d4ff2070bb 100644
--- a/win32/Opcode.mak
+++ b/win32/Opcode.mak
@@ -60,9 +60,9 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-CPP_PROJ=/nologo /MT /W3 /GX /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D\
+# ADD BASE CPP /nologo /MT /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+CPP_PROJ=/nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D\
"NDEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/Opcode.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
CPP_SBRS=
@@ -123,9 +123,9 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\include" /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-CPP_PROJ=/nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\include" /I "." /I ".." /D\
+# ADD BASE CPP /nologo /MTd /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I ".\include" /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Gm /Zi /Od /I ".\include" /I "." /I ".." /D\
"WIN32" /D "_DEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/Opcode.pch" /YX /Fo"$(INTDIR)/"\
/Fd"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
diff --git a/win32/SDBM_File.mak b/win32/SDBM_File.mak
index 0bf5d1adf6..379ba26e2e 100644
--- a/win32/SDBM_File.mak
+++ b/win32/SDBM_File.mak
@@ -67,10 +67,10 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I ".\include" /I "." /I ".." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "MSDOS" /YX /c
-CPP_PROJ=/nologo /MT /W3 /GX /O2 /I ".\include" /I "." /I ".." /D "NDEBUG" /D\
- "WIN32" /D "_WINDOWS" /D "MSDOS" /Fp"$(INTDIR)/SDBM_File.pch" /YX\
+# ADD BASE CPP /nologo /MT /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /c
+# ADD CPP /nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "MSDOS" /c
+CPP_PROJ=/nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "NDEBUG" /D\
+ "WIN32" /D "_WINDOWS" /D "MSDOS" \
/Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
CPP_SBRS=
@@ -136,10 +136,10 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\include" /I "." /I ".." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "MSDOS" /YX /c
-CPP_PROJ=/nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\include" /I "." /I ".." /D\
- "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "MSDOS" /Fp"$(INTDIR)/SDBM_File.pch" /YX\
+# ADD BASE CPP /nologo /MTd /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /c
+# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I ".\include" /I "." /I ".." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "MSDOS" /c
+CPP_PROJ=/nologo /MTd /W3 /Gm /Zi /Od /I ".\include" /I "." /I ".." /D\
+ "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "MSDOS" \
/Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
CPP_SBRS=
diff --git a/win32/Socket.mak b/win32/Socket.mak
index f2a09dce95..fd26c99049 100644
--- a/win32/Socket.mak
+++ b/win32/Socket.mak
@@ -61,9 +61,9 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-CPP_PROJ=/nologo /MT /W3 /GX /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D\
+# ADD BASE CPP /nologo /MT /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+CPP_PROJ=/nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D\
"NDEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/Socket.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\release/
CPP_SBRS=
@@ -126,9 +126,9 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\include" /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-CPP_PROJ=/nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\include" /I "." /I ".." /D\
+# ADD BASE CPP /nologo /MTd /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I ".\include" /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Gm /Zi /Od /I ".\include" /I "." /I ".." /D\
"WIN32" /D "_DEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/Socket.pch" /YX /Fo"$(INTDIR)/"\
/Fd"$(INTDIR)/" /c
CPP_OBJS=.\debug/
diff --git a/win32/TEST b/win32/TEST
index bd9f7b7186..a7e074ed9c 100644
--- a/win32/TEST
+++ b/win32/TEST
@@ -25,8 +25,8 @@ if ($ARGV[0] eq '') {
push( @ARGV, `dir/s/b cmd` );
push( @ARGV, `dir/s/b io` );
push( @ARGV, `dir/s/b op` );
+ push( @ARGV, `dir/s/b pragma` );
push( @ARGV, `dir/s/b lib` );
- push( @ARGV, `dir/s/b nt` );
grep( chomp, @ARGV );
@ARGV = grep( /\.t$/, @ARGV );
@@ -35,7 +35,7 @@ if ($ARGV[0] eq '') {
# `echo base/*.t comp/*.t cmd/*.t io/*.t; echo op/*.t pragma/*.t lib/*.t`);
}
-if ($^O eq 'os2' || $^O eq 'qnx' || 1) {
+if ($^O eq 'os2' || $^O eq 'MSWin32' || $^O eq 'qnx' || 1) {
$sharpbang = 0;
}
else {
diff --git a/win32/VC-2.0/SDBM_File.mak b/win32/VC-2.0/SDBM_File.mak
new file mode 100644
index 0000000000..6ebaa15f2f
--- /dev/null
+++ b/win32/VC-2.0/SDBM_File.mak
@@ -0,0 +1,361 @@
+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+!IF "$(CFG)" == ""
+CFG=SDBM_File - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to SDBM_File - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "SDBM_File - Win32 Release" && "$(CFG)" !=\
+ "SDBM_File - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE on this makefile
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "SDBM_File.mak" CFG="SDBM_File - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "SDBM_File - Win32 Release" (based on\
+ "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "SDBM_File - Win32 Debug" (based on\
+ "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+################################################################################
+# Begin Project
+# PROP Target_Last_Scanned "SDBM_File - Win32 Debug"
+CPP=cl.exe
+RSC=rc.exe
+MTL=mktyplib.exe
+
+!IF "$(CFG)" == "SDBM_File - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "SDBM_Fil"
+# PROP BASE Intermediate_Dir "SDBM_Fil"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+OUTDIR=.\Release
+INTDIR=.\Release
+
+ALL : "$(OUTDIR)\SDBM_File.dll"
+
+CLEAN :
+ -@erase "..\lib\auto\SDBM_File\SDBM_File.dll"
+ -@erase ".\Release\sdbm.obj"
+ -@erase ".\Release\pair.obj"
+ -@erase ".\Release\hash.obj"
+ -@erase ".\Release\SDBM_File.obj"
+ -@erase ".\Release\SDBM_File.lib"
+ -@erase ".\Release\SDBM_File.exp"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+# ADD BASE CPP /nologo /MT /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /c
+# ADD CPP /nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "MSDOS" /c
+CPP_PROJ=/nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "NDEBUG" /D\
+ "WIN32" /D "_WINDOWS" /D "MSDOS" \
+ /Fo"$(INTDIR)/" /c
+CPP_OBJS=.\Release/
+CPP_SBRS=
+# ADD BASE MTL /nologo /D "NDEBUG" /win32
+# ADD MTL /nologo /D "NDEBUG" /win32
+MTL_PROJ=/nologo /D "NDEBUG" /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/SDBM_File.bsc"
+BSC32_SBRS=
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /pdb:none /machine:I386 /out:"../lib/auto/SDBM_File/SDBM_File.dll"
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
+ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo\
+ /subsystem:windows /dll /pdb:none /machine:I386 /def:".\SDBM_File.def"\
+ /out:"../lib/auto/SDBM_File/SDBM_File.dll" /implib:"$(OUTDIR)/SDBM_File.lib"
+DEF_FILE= \
+ ".\SDBM_File.def"
+LINK32_OBJS= \
+ "$(INTDIR)/sdbm.obj" \
+ "$(INTDIR)/pair.obj" \
+ "$(INTDIR)/hash.obj" \
+ "$(INTDIR)/SDBM_File.obj" \
+ "..\perl.lib"
+
+"$(OUTDIR)\SDBM_File.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "SDBM_File - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+OUTDIR=.\Debug
+INTDIR=.\Debug
+
+ALL : "$(OUTDIR)\SDBM_File.dll"
+
+CLEAN :
+ -@erase ".\Debug\vc40.pdb"
+ -@erase ".\Debug\vc40.idb"
+ -@erase "..\lib\auto\SDBM_File\SDBM_File.dll"
+ -@erase ".\Debug\hash.obj"
+ -@erase ".\Debug\pair.obj"
+ -@erase ".\Debug\SDBM_File.obj"
+ -@erase ".\Debug\sdbm.obj"
+ -@erase ".\Debug\SDBM_File.lib"
+ -@erase ".\Debug\SDBM_File.exp"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+# ADD BASE CPP /nologo /MTd /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /c
+# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I ".\include" /I "." /I ".." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "MSDOS" /c
+CPP_PROJ=/nologo /MTd /W3 /Gm /Zi /Od /I ".\include" /I "." /I ".." /D\
+ "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "MSDOS" \
+ /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c
+CPP_OBJS=.\Debug/
+CPP_SBRS=
+# ADD BASE MTL /nologo /D "_DEBUG" /win32
+# ADD MTL /nologo /D "_DEBUG" /win32
+MTL_PROJ=/nologo /D "_DEBUG" /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/SDBM_File.bsc"
+BSC32_SBRS=
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /debug /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /pdb:none /debug /machine:I386 /out:"../lib/auto/SDBM_File/SDBM_File.dll"
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
+ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo\
+ /subsystem:windows /dll /pdb:none /debug /machine:I386 /def:".\SDBM_File.def"\
+ /out:"../lib/auto/SDBM_File/SDBM_File.dll" /implib:"$(OUTDIR)/SDBM_File.lib"
+DEF_FILE= \
+ ".\SDBM_File.def"
+LINK32_OBJS= \
+ "$(INTDIR)/hash.obj" \
+ "$(INTDIR)/pair.obj" \
+ "$(INTDIR)/SDBM_File.obj" \
+ "$(INTDIR)/sdbm.obj" \
+ "..\perl.lib"
+
+"$(OUTDIR)\SDBM_File.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ENDIF
+
+.c{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.c{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+################################################################################
+# Begin Target
+
+# Name "SDBM_File - Win32 Release"
+# Name "SDBM_File - Win32 Debug"
+
+!IF "$(CFG)" == "SDBM_File - Win32 Release"
+
+!ELSEIF "$(CFG)" == "SDBM_File - Win32 Debug"
+
+!ENDIF
+
+################################################################################
+# Begin Source File
+
+SOURCE=..\ext\SDBM_File\SDBM_File.c
+DEP_CPP_SDBM_=\
+ ".\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\..\XSUB.h"\
+ ".\..\ext\SDBM_File\sdbm\sdbm.h"\
+ ".\..\embed.h"\
+ ".\config.h"\
+ "$(INCLUDE)\sys\Types.h"\
+ ".\..\perlio.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+ ".\include\dirent.h"\
+ ".\..\handy.h"\
+ ".\..\dosish.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\unixish.h"\
+ ".\..\regexp.h"\
+ ".\..\sv.h"\
+ ".\..\util.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\cv.h"\
+ ".\..\opcode.h"\
+ ".\..\op.h"\
+ ".\..\cop.h"\
+ ".\..\av.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\scope.h"\
+ ".\..\perly.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\win32.h"\
+ ".\include\sys/socket.h"\
+ ".\include\netdb.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\nostdio.h"\
+
+NODEP_CPP_SDBM_=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+!IF "$(CFG)" == "SDBM_File - Win32 Release"
+
+
+"$(INTDIR)\SDBM_File.obj" : $(SOURCE) $(DEP_CPP_SDBM_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "SDBM_File - Win32 Debug"
+
+
+"$(INTDIR)\SDBM_File.obj" : $(SOURCE) $(DEP_CPP_SDBM_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\ext\SDBM_File\sdbm\sdbm.c
+DEP_CPP_SDBM_C=\
+ ".\config.h"\
+ ".\..\ext\SDBM_File\sdbm\sdbm.h"\
+ ".\..\ext\SDBM_File\sdbm\tune.h"\
+ ".\win32.h"\
+ ".\include\dirent.h"\
+ ".\include\sys/socket.h"\
+ ".\include\netdb.h"\
+ "$(INCLUDE)\sys\Types.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+
+
+"$(INTDIR)\sdbm.obj" : $(SOURCE) $(DEP_CPP_SDBM_C) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\ext\SDBM_File\sdbm\pair.c
+DEP_CPP_PAIR_=\
+ ".\config.h"\
+ ".\..\ext\SDBM_File\sdbm\sdbm.h"\
+ ".\..\ext\SDBM_File\sdbm\tune.h"\
+ ".\win32.h"\
+ ".\include\dirent.h"\
+ ".\include\sys/socket.h"\
+ ".\include\netdb.h"\
+ "$(INCLUDE)\sys\Types.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+
+
+"$(INTDIR)\pair.obj" : $(SOURCE) $(DEP_CPP_PAIR_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\ext\SDBM_File\sdbm\hash.c
+DEP_CPP_HASH_=\
+ ".\config.h"\
+ ".\..\ext\SDBM_File\sdbm\sdbm.h"\
+ ".\win32.h"\
+ ".\include\dirent.h"\
+ ".\include\sys/socket.h"\
+ ".\include\netdb.h"\
+ "$(INCLUDE)\sys\Types.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+
+
+"$(INTDIR)\hash.obj" : $(SOURCE) $(DEP_CPP_HASH_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\SDBM_File.def
+
+!IF "$(CFG)" == "SDBM_File - Win32 Release"
+
+!ELSEIF "$(CFG)" == "SDBM_File - Win32 Debug"
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\perl.lib
+
+!IF "$(CFG)" == "SDBM_File - Win32 Release"
+
+!ELSEIF "$(CFG)" == "SDBM_File - Win32 Debug"
+
+!ENDIF
+
+# End Source File
+# End Target
+# End Project
+################################################################################
diff --git a/win32/VC-2.0/Socket.mak b/win32/VC-2.0/Socket.mak
new file mode 100644
index 0000000000..69a774c279
--- /dev/null
+++ b/win32/VC-2.0/Socket.mak
@@ -0,0 +1,276 @@
+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+!IF "$(CFG)" == ""
+CFG=Socket - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to Socket - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "Socket - Win32 Release" && "$(CFG)" != "Socket - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE on this makefile
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Socket.mak" CFG="Socket - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Socket - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "Socket - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+################################################################################
+# Begin Project
+# PROP Target_Last_Scanned "Socket - Win32 Debug"
+CPP=cl.exe
+RSC=rc.exe
+MTL=mktyplib.exe
+
+!IF "$(CFG)" == "Socket - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Socket__"
+# PROP BASE Intermediate_Dir "Socket__"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "release"
+# PROP Intermediate_Dir "release"
+# PROP Target_Dir ""
+OUTDIR=.\release
+INTDIR=.\release
+
+ALL : "$(OUTDIR)\Socket.dll"
+
+CLEAN :
+ -@erase "..\lib\auto\Socket\Socket.dll"
+ -@erase ".\release\Socket.obj"
+ -@erase ".\release\Socket.lib"
+ -@erase ".\release\Socket.exp"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+# ADD BASE CPP /nologo /MT /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+CPP_PROJ=/nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "WIN32" /D\
+ "NDEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/Socket.pch" /YX /Fo"$(INTDIR)/" /c
+CPP_OBJS=.\release/
+CPP_SBRS=
+# ADD BASE MTL /nologo /D "NDEBUG" /win32
+# ADD MTL /nologo /D "NDEBUG" /win32
+MTL_PROJ=/nologo /D "NDEBUG" /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/Socket.bsc"
+BSC32_SBRS=
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /machine:I386 /out:"..\lib\auto\Socket\Socket.dll"
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
+ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo\
+ /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)/Socket.pdb"\
+ /machine:I386 /def:".\Socket.def" /out:"..\lib\auto\Socket\Socket.dll"\
+ /implib:"$(OUTDIR)/Socket.lib"
+DEF_FILE= \
+ ".\Socket.def"
+LINK32_OBJS= \
+ "$(INTDIR)/Socket.obj" \
+ "..\perl.lib"
+
+"$(OUTDIR)\Socket.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "Socket - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Socket_0"
+# PROP BASE Intermediate_Dir "Socket_0"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "debug"
+# PROP Intermediate_Dir "debug"
+# PROP Target_Dir ""
+OUTDIR=.\debug
+INTDIR=.\debug
+
+ALL : "$(OUTDIR)\Socket.dll"
+
+CLEAN :
+ -@erase ".\debug\vc40.pdb"
+ -@erase ".\debug\vc40.idb"
+ -@erase ".\debug\Socket.dll"
+ -@erase ".\debug\Socket.obj"
+ -@erase ".\debug\Socket.ilk"
+ -@erase ".\debug\Socket.lib"
+ -@erase ".\debug\Socket.exp"
+ -@erase ".\debug\Socket.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+# ADD BASE CPP /nologo /MTd /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I ".\include" /I "." /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Gm /Zi /Od /I ".\include" /I "." /I ".." /D\
+ "WIN32" /D "_DEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/Socket.pch" /YX /Fo"$(INTDIR)/"\
+ /Fd"$(INTDIR)/" /c
+CPP_OBJS=.\debug/
+CPP_SBRS=
+# ADD BASE MTL /nologo /D "_DEBUG" /win32
+# ADD MTL /nologo /D "_DEBUG" /win32
+MTL_PROJ=/nologo /D "_DEBUG" /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/Socket.bsc"
+BSC32_SBRS=
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /debug /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /debug /machine:I386
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
+ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo\
+ /subsystem:windows /dll /incremental:yes /pdb:"$(OUTDIR)/Socket.pdb" /debug\
+ /machine:I386 /def:".\Socket.def" /out:"$(OUTDIR)/Socket.dll"\
+ /implib:"$(OUTDIR)/Socket.lib"
+DEF_FILE= \
+ ".\Socket.def"
+LINK32_OBJS= \
+ "$(INTDIR)/Socket.obj" \
+ "..\perl.lib"
+
+"$(OUTDIR)\Socket.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ENDIF
+
+.c{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.c{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+################################################################################
+# Begin Target
+
+# Name "Socket - Win32 Release"
+# Name "Socket - Win32 Debug"
+
+!IF "$(CFG)" == "Socket - Win32 Release"
+
+!ELSEIF "$(CFG)" == "Socket - Win32 Debug"
+
+!ENDIF
+
+################################################################################
+# Begin Source File
+
+SOURCE=..\ext\Socket\Socket.c
+DEP_CPP_SOCKE=\
+ ".\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\..\XSUB.h"\
+ "$(INCLUDE)\sys\Types.h"\
+ ".\include\sys/socket.h"\
+ ".\include\netdb.h"\
+ ".\include\arpa/inet.h"\
+ ".\..\embed.h"\
+ ".\config.h"\
+ ".\..\perlio.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+ ".\include\dirent.h"\
+ ".\..\handy.h"\
+ ".\..\dosish.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\unixish.h"\
+ ".\..\regexp.h"\
+ ".\..\sv.h"\
+ ".\..\util.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\cv.h"\
+ ".\..\opcode.h"\
+ ".\..\op.h"\
+ ".\..\cop.h"\
+ ".\..\av.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\scope.h"\
+ ".\..\perly.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\win32.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\nostdio.h"\
+
+NODEP_CPP_SOCKE=\
+ ".\..\ext\Socket\sockadapt.h"\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\Socket.obj" : $(SOURCE) $(DEP_CPP_SOCKE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\perl.lib
+
+!IF "$(CFG)" == "Socket - Win32 Release"
+
+!ELSEIF "$(CFG)" == "Socket - Win32 Debug"
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\Socket.def
+
+!IF "$(CFG)" == "Socket - Win32 Release"
+
+!ELSEIF "$(CFG)" == "Socket - Win32 Debug"
+
+!ENDIF
+
+# End Source File
+# End Target
+# End Project
+################################################################################
diff --git a/win32/VC-2.0/libperl.mak b/win32/VC-2.0/libperl.mak
new file mode 100644
index 0000000000..ab94be02e4
--- /dev/null
+++ b/win32/VC-2.0/libperl.mak
@@ -0,0 +1,2217 @@
+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+!IF "$(CFG)" == ""
+CFG=libperl - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to libperl - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "libperl - Win32 Release" && "$(CFG)" !=\
+ "libperl - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE on this makefile
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "libperl.mak" CFG="libperl - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "libperl - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "libperl - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+################################################################################
+# Begin Project
+# PROP Target_Last_Scanned "libperl - Win32 Debug"
+CPP=cl.exe
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "../"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+OUTDIR=.\..
+INTDIR=.\Release
+
+ALL : "$(OUTDIR)\libperl.lib"
+
+CLEAN :
+ -@erase "$(INTDIR)\av.obj"
+ -@erase "$(INTDIR)\deb.obj"
+ -@erase "$(INTDIR)\doio.obj"
+ -@erase "$(INTDIR)\doop.obj"
+ -@erase "$(INTDIR)\dump.obj"
+ -@erase "$(INTDIR)\globals.obj"
+ -@erase "$(INTDIR)\gv.obj"
+ -@erase "$(INTDIR)\hv.obj"
+ -@erase "$(INTDIR)\mg.obj"
+ -@erase "$(INTDIR)\op.obj"
+ -@erase "$(INTDIR)\perl.obj"
+ -@erase "$(INTDIR)\perlio.obj"
+ -@erase "$(INTDIR)\perly.obj"
+ -@erase "$(INTDIR)\pp.obj"
+ -@erase "$(INTDIR)\pp_ctl.obj"
+ -@erase "$(INTDIR)\pp_hot.obj"
+ -@erase "$(INTDIR)\pp_sys.obj"
+ -@erase "$(INTDIR)\regcomp.obj"
+ -@erase "$(INTDIR)\regexec.obj"
+ -@erase "$(INTDIR)\run.obj"
+ -@erase "$(INTDIR)\scope.obj"
+ -@erase "$(INTDIR)\sv.obj"
+ -@erase "$(INTDIR)\taint.obj"
+ -@erase "$(INTDIR)\toke.obj"
+ -@erase "$(INTDIR)\universal.obj"
+ -@erase "$(INTDIR)\util.obj"
+ -@erase "$(OUTDIR)\libperl.lib"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MT /W3 /Od /I ".\include" /I ".." /I "." /D "WIN32" /D "NDEBUG" /D "PERLDLL" /D "_WINDOWS" /YX /c
+CPP_PROJ=/nologo /MT /W3 /Od /I ".\include" /I ".." /I "." /D "WIN32" /D\
+ "NDEBUG" /D "PERLDLL" /D "_WINDOWS" /Fp"$(INTDIR)/libperl.pch" /YX\
+ /Fo"$(INTDIR)/" /c
+CPP_OBJS=.\Release/
+CPP_SBRS=.\.
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/libperl.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)/libperl.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\av.obj" \
+ "$(INTDIR)\deb.obj" \
+ "$(INTDIR)\doio.obj" \
+ "$(INTDIR)\doop.obj" \
+ "$(INTDIR)\dump.obj" \
+ "$(INTDIR)\globals.obj" \
+ "$(INTDIR)\gv.obj" \
+ "$(INTDIR)\hv.obj" \
+ "$(INTDIR)\mg.obj" \
+ "$(INTDIR)\op.obj" \
+ "$(INTDIR)\perl.obj" \
+ "$(INTDIR)\perlio.obj" \
+ "$(INTDIR)\perly.obj" \
+ "$(INTDIR)\pp.obj" \
+ "$(INTDIR)\pp_ctl.obj" \
+ "$(INTDIR)\pp_hot.obj" \
+ "$(INTDIR)\pp_sys.obj" \
+ "$(INTDIR)\regcomp.obj" \
+ "$(INTDIR)\regexec.obj" \
+ "$(INTDIR)\run.obj" \
+ "$(INTDIR)\scope.obj" \
+ "$(INTDIR)\sv.obj" \
+ "$(INTDIR)\taint.obj" \
+ "$(INTDIR)\toke.obj" \
+ "$(INTDIR)\universal.obj" \
+ "$(INTDIR)\util.obj"
+
+"$(OUTDIR)\libperl.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ".."
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+OUTDIR=.\..
+INTDIR=.\Debug
+
+ALL : "$(OUTDIR)\libperl.lib"
+
+CLEAN :
+ -@erase "$(INTDIR)\av.obj"
+ -@erase "$(INTDIR)\deb.obj"
+ -@erase "$(INTDIR)\doio.obj"
+ -@erase "$(INTDIR)\doop.obj"
+ -@erase "$(INTDIR)\dump.obj"
+ -@erase "$(INTDIR)\globals.obj"
+ -@erase "$(INTDIR)\gv.obj"
+ -@erase "$(INTDIR)\hv.obj"
+ -@erase "$(INTDIR)\mg.obj"
+ -@erase "$(INTDIR)\op.obj"
+ -@erase "$(INTDIR)\perl.obj"
+ -@erase "$(INTDIR)\perlio.obj"
+ -@erase "$(INTDIR)\perly.obj"
+ -@erase "$(INTDIR)\pp.obj"
+ -@erase "$(INTDIR)\pp_ctl.obj"
+ -@erase "$(INTDIR)\pp_hot.obj"
+ -@erase "$(INTDIR)\pp_sys.obj"
+ -@erase "$(INTDIR)\regcomp.obj"
+ -@erase "$(INTDIR)\regexec.obj"
+ -@erase "$(INTDIR)\run.obj"
+ -@erase "$(INTDIR)\scope.obj"
+ -@erase "$(INTDIR)\sv.obj"
+ -@erase "$(INTDIR)\taint.obj"
+ -@erase "$(INTDIR)\toke.obj"
+ -@erase "$(INTDIR)\universal.obj"
+ -@erase "$(INTDIR)\util.obj"
+ -@erase "$(OUTDIR)\libperl.lib"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+# ADD BASE CPP /nologo /W3 /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MTd /W3 /Z7 /Od /I ".\include" /I ".." /I "." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Z7 /Od /I ".\include" /I ".." /I "." /D "WIN32"\
+ /D "_DEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/libperl.pch" /YX /Fo"$(INTDIR)/" /c
+CPP_OBJS=.\Debug/
+CPP_SBRS=.\.
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/libperl.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)/libperl.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\av.obj" \
+ "$(INTDIR)\deb.obj" \
+ "$(INTDIR)\doio.obj" \
+ "$(INTDIR)\doop.obj" \
+ "$(INTDIR)\dump.obj" \
+ "$(INTDIR)\globals.obj" \
+ "$(INTDIR)\gv.obj" \
+ "$(INTDIR)\hv.obj" \
+ "$(INTDIR)\mg.obj" \
+ "$(INTDIR)\op.obj" \
+ "$(INTDIR)\perl.obj" \
+ "$(INTDIR)\perlio.obj" \
+ "$(INTDIR)\perly.obj" \
+ "$(INTDIR)\pp.obj" \
+ "$(INTDIR)\pp_ctl.obj" \
+ "$(INTDIR)\pp_hot.obj" \
+ "$(INTDIR)\pp_sys.obj" \
+ "$(INTDIR)\regcomp.obj" \
+ "$(INTDIR)\regexec.obj" \
+ "$(INTDIR)\run.obj" \
+ "$(INTDIR)\scope.obj" \
+ "$(INTDIR)\sv.obj" \
+ "$(INTDIR)\taint.obj" \
+ "$(INTDIR)\toke.obj" \
+ "$(INTDIR)\universal.obj" \
+ "$(INTDIR)\util.obj"
+
+"$(OUTDIR)\libperl.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ENDIF
+
+.c{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.c{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+################################################################################
+# Begin Target
+
+# Name "libperl - Win32 Release"
+# Name "libperl - Win32 Debug"
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+!ENDIF
+
+################################################################################
+# Begin Source File
+
+SOURCE=..\av.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_AV_C0=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\av.obj" : $(SOURCE) $(DEP_CPP_AV_C0) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_AV_C0=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_AV_C0=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\av.obj" : $(SOURCE) $(DEP_CPP_AV_C0) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\deb.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_DEB_C=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\deb.obj" : $(SOURCE) $(DEP_CPP_DEB_C) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_DEB_C=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_DEB_C=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\deb.obj" : $(SOURCE) $(DEP_CPP_DEB_C) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\doio.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_DOIO_=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\doio.obj" : $(SOURCE) $(DEP_CPP_DOIO_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_DOIO_=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_DOIO_=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\doio.obj" : $(SOURCE) $(DEP_CPP_DOIO_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\doop.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_DOOP_=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\doop.obj" : $(SOURCE) $(DEP_CPP_DOOP_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_DOOP_=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_DOOP_=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\doop.obj" : $(SOURCE) $(DEP_CPP_DOOP_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\dump.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_DUMP_=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\dump.obj" : $(SOURCE) $(DEP_CPP_DUMP_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_DUMP_=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_DUMP_=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\dump.obj" : $(SOURCE) $(DEP_CPP_DUMP_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\globals.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_GLOBA=\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\INTERN.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_GLOBA=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\globals.obj" : $(SOURCE) $(DEP_CPP_GLOBA) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_GLOBA=\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\INTERN.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_GLOBA=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\globals.obj" : $(SOURCE) $(DEP_CPP_GLOBA) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\gv.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_GV_Cc=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\gv.obj" : $(SOURCE) $(DEP_CPP_GV_Cc) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_GV_Cc=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_GV_Cc=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\gv.obj" : $(SOURCE) $(DEP_CPP_GV_Cc) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\hv.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_HV_Ce=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\hv.obj" : $(SOURCE) $(DEP_CPP_HV_Ce) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_HV_Ce=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_HV_Ce=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\hv.obj" : $(SOURCE) $(DEP_CPP_HV_Ce) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\mg.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_MG_C10=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\mg.obj" : $(SOURCE) $(DEP_CPP_MG_C10) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_MG_C10=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_MG_C10=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\mg.obj" : $(SOURCE) $(DEP_CPP_MG_C10) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\op.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_OP_C12=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\op.obj" : $(SOURCE) $(DEP_CPP_OP_C12) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_OP_C12=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_OP_C12=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\op.obj" : $(SOURCE) $(DEP_CPP_OP_C12) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\perl.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_PERL_=\
+ "..\EXTERN.h"\
+ ".\..\patchlevel.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\perl.obj" : $(SOURCE) $(DEP_CPP_PERL_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_PERL_=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\patchlevel.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_PERL_=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\perl.obj" : $(SOURCE) $(DEP_CPP_PERL_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\perlio.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_PERLI=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\perlio.obj" : $(SOURCE) $(DEP_CPP_PERLI) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_PERLI=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_PERLI=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\perlio.obj" : $(SOURCE) $(DEP_CPP_PERLI) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\perly.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_PERLY=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\perly.obj" : $(SOURCE) $(DEP_CPP_PERLY) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_PERLY=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_PERLY=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\perly.obj" : $(SOURCE) $(DEP_CPP_PERLY) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\pp.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_PP_C1a=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\pp.obj" : $(SOURCE) $(DEP_CPP_PP_C1a) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_PP_C1a=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_PP_C1a=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\pp.obj" : $(SOURCE) $(DEP_CPP_PP_C1a) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\pp_ctl.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_PP_CT=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\pp_ctl.obj" : $(SOURCE) $(DEP_CPP_PP_CT) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_PP_CT=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_PP_CT=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\pp_ctl.obj" : $(SOURCE) $(DEP_CPP_PP_CT) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\pp_hot.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_PP_HO=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\pp_hot.obj" : $(SOURCE) $(DEP_CPP_PP_HO) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_PP_HO=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_PP_HO=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\pp_hot.obj" : $(SOURCE) $(DEP_CPP_PP_HO) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\pp_sys.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_PP_SY=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\pp_sys.obj" : $(SOURCE) $(DEP_CPP_PP_SY) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_PP_SY=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_PP_SY=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\pp_sys.obj" : $(SOURCE) $(DEP_CPP_PP_SY) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\regcomp.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_REGCO=\
+ "..\EXTERN.h"\
+ ".\..\INTERN.h"\
+ ".\..\perl.h"\
+ ".\..\regcomp.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\regcomp.obj" : $(SOURCE) $(DEP_CPP_REGCO) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_REGCO=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\INTERN.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regcomp.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_REGCO=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\regcomp.obj" : $(SOURCE) $(DEP_CPP_REGCO) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\regexec.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_REGEX=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\..\regcomp.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\regexec.obj" : $(SOURCE) $(DEP_CPP_REGEX) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_REGEX=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regcomp.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_REGEX=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\regexec.obj" : $(SOURCE) $(DEP_CPP_REGEX) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\run.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_RUN_C=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\run.obj" : $(SOURCE) $(DEP_CPP_RUN_C) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_RUN_C=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_RUN_C=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\run.obj" : $(SOURCE) $(DEP_CPP_RUN_C) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\scope.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_SCOPE=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\scope.obj" : $(SOURCE) $(DEP_CPP_SCOPE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_SCOPE=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_SCOPE=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\scope.obj" : $(SOURCE) $(DEP_CPP_SCOPE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\sv.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_SV_C2a=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\sv.obj" : $(SOURCE) $(DEP_CPP_SV_C2a) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_SV_C2a=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_SV_C2a=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\sv.obj" : $(SOURCE) $(DEP_CPP_SV_C2a) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\taint.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_TAINT=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\taint.obj" : $(SOURCE) $(DEP_CPP_TAINT) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_TAINT=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_TAINT=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\taint.obj" : $(SOURCE) $(DEP_CPP_TAINT) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\toke.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_TOKE_=\
+ "..\EXTERN.h"\
+ ".\..\keywords.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\toke.obj" : $(SOURCE) $(DEP_CPP_TOKE_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_TOKE_=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\keywords.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_TOKE_=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\toke.obj" : $(SOURCE) $(DEP_CPP_TOKE_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\universal.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_UNIVE=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\..\XSUB.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\universal.obj" : $(SOURCE) $(DEP_CPP_UNIVE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_UNIVE=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\..\XSUB.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_UNIVE=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\universal.obj" : $(SOURCE) $(DEP_CPP_UNIVE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\util.c
+
+!IF "$(CFG)" == "libperl - Win32 Release"
+
+DEP_CPP_UTIL_=\
+ "..\EXTERN.h"\
+ ".\..\perl.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\util.obj" : $(SOURCE) $(DEP_CPP_UTIL_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "libperl - Win32 Debug"
+
+DEP_CPP_UTIL_=\
+ "..\EXTERN.h"\
+ ".\..\av.h"\
+ ".\..\cop.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\hv.h"\
+ ".\..\mg.h"\
+ ".\..\nostdio.h"\
+ ".\..\op.h"\
+ ".\..\opcode.h"\
+ ".\..\perl.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\perly.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\pp.h"\
+ ".\..\proto.h"\
+ ".\..\regexp.h"\
+ ".\..\scope.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_UTIL_=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\util.obj" : $(SOURCE) $(DEP_CPP_UTIL_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+# End Target
+# End Project
+################################################################################
diff --git a/win32/VC-2.0/miniperl.mak b/win32/VC-2.0/miniperl.mak
new file mode 100644
index 0000000000..3fce97fde1
--- /dev/null
+++ b/win32/VC-2.0/miniperl.mak
@@ -0,0 +1,393 @@
+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+!IF "$(CFG)" == ""
+CFG=miniperl - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to miniperl - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "miniperl - Win32 Release" && "$(CFG)" !=\
+ "miniperl - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE on this makefile
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "miniperl.mak" CFG="miniperl - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "miniperl - Win32 Release" (based on\
+ "Win32 (x86) Console Application")
+!MESSAGE "miniperl - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+################################################################################
+# Begin Project
+# PROP Target_Last_Scanned "miniperl - Win32 Debug"
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "miniperl - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "miniperl"
+# PROP BASE Intermediate_Dir "miniperl"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+OUTDIR=.\Release
+INTDIR=.\Release
+
+ALL : "..\miniperl.exe"
+
+CLEAN :
+ -@erase "$(INTDIR)\miniperlmain.obj"
+ -@erase "$(INTDIR)\win32.obj"
+ -@erase "$(INTDIR)\win32aux.obj"
+ -@erase "$(INTDIR)\win32io.obj"
+ -@erase "$(INTDIR)\win32sck.obj"
+ -@erase "..\miniperl.exe"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MT /W3 /Od /I "." /I ".\include" /I ".." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "PERLDLL" /YX /c
+CPP_PROJ=/nologo /MT /W3 /Od /I "." /I ".\include" /I ".." /D "NDEBUG" /D\
+ "WIN32" /D "_CONSOLE" /D "PERLDLL" /Fp"$(INTDIR)/miniperl.pch" /YX\
+ /Fo"$(INTDIR)/" /c
+CPP_OBJS=.\Release/
+CPP_SBRS=.\.
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/miniperl.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:console /machine:I386 /out:"../miniperl.exe"
+# SUBTRACT LINK32 /incremental:yes /debug
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
+ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo\
+ /subsystem:console /incremental:no /pdb:"$(OUTDIR)/miniperl.pdb" /machine:I386\
+ /out:"../miniperl.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\miniperlmain.obj" \
+ "$(INTDIR)\win32.obj" \
+ "$(INTDIR)\win32aux.obj" \
+ "$(INTDIR)\win32io.obj" \
+ "$(INTDIR)\win32sck.obj" \
+ "..\libperl.lib"
+
+"..\miniperl.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "miniperl - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "miniper0"
+# PROP BASE Intermediate_Dir "miniper0"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+OUTDIR=.\Debug
+INTDIR=.\Debug
+
+ALL : "..\miniperl.exe"
+
+CLEAN :
+ -@erase "$(INTDIR)\miniperlmain.obj"
+ -@erase "$(INTDIR)\vc40.idb"
+ -@erase "$(INTDIR)\vc40.pdb"
+ -@erase "$(INTDIR)\win32.obj"
+ -@erase "$(INTDIR)\win32aux.obj"
+ -@erase "$(INTDIR)\win32io.obj"
+ -@erase "$(INTDIR)\win32sck.obj"
+ -@erase "$(OUTDIR)\miniperl.pdb"
+ -@erase "..\miniperl.exe"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+# ADD BASE CPP /nologo /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".\include" /I ".." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "PERLDLL" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".\include" /I ".." /D\
+ "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "PERLDLL" /Fp"$(INTDIR)/miniperl.pch" /YX\
+ /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c
+CPP_OBJS=.\Debug/
+CPP_SBRS=.\.
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/miniperl.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:console /debug /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"../miniperl.exe"
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
+ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo\
+ /subsystem:console /incremental:no /pdb:"$(OUTDIR)/miniperl.pdb" /debug\
+ /machine:I386 /out:"../miniperl.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\miniperlmain.obj" \
+ "$(INTDIR)\win32.obj" \
+ "$(INTDIR)\win32aux.obj" \
+ "$(INTDIR)\win32io.obj" \
+ "$(INTDIR)\win32sck.obj" \
+ "..\libperl.lib"
+
+"..\miniperl.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ENDIF
+
+.c{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.c{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+################################################################################
+# Begin Target
+
+# Name "miniperl - Win32 Release"
+# Name "miniperl - Win32 Debug"
+
+!IF "$(CFG)" == "miniperl - Win32 Release"
+
+!ELSEIF "$(CFG)" == "miniperl - Win32 Debug"
+
+!ENDIF
+
+################################################################################
+# Begin Source File
+
+SOURCE=..\miniperlmain.c
+DEP_CPP_MINIP=\
+ "..\av.h"\
+ "..\cop.h"\
+ "..\hv.h"\
+ "..\mg.h"\
+ "..\op.h"\
+ "..\opcode.h"\
+ "..\perl.h"\
+ "..\perly.h"\
+ "..\pp.h"\
+ "..\proto.h"\
+ "..\scope.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\EXTERN.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\nostdio.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\regexp.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_MINIP=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\miniperlmain.obj" : $(SOURCE) $(DEP_CPP_MINIP) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\libperl.lib
+
+!IF "$(CFG)" == "miniperl - Win32 Release"
+
+!ELSEIF "$(CFG)" == "miniperl - Win32 Debug"
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\win32.c
+DEP_CPP_WIN32=\
+ "..\av.h"\
+ "..\cop.h"\
+ "..\hv.h"\
+ "..\mg.h"\
+ "..\op.h"\
+ "..\opcode.h"\
+ "..\perl.h"\
+ "..\perly.h"\
+ "..\pp.h"\
+ "..\proto.h"\
+ "..\scope.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\nostdio.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\regexp.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\EXTERN.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_WIN32=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\win32.obj" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
+
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\win32sck.c
+DEP_CPP_WIN32S=\
+ "..\av.h"\
+ "..\cop.h"\
+ "..\hv.h"\
+ "..\mg.h"\
+ "..\op.h"\
+ "..\opcode.h"\
+ "..\perl.h"\
+ "..\perly.h"\
+ "..\pp.h"\
+ "..\proto.h"\
+ "..\scope.h"\
+ ".\..\cv.h"\
+ ".\..\dosish.h"\
+ ".\..\embed.h"\
+ ".\..\form.h"\
+ ".\..\gv.h"\
+ ".\..\handy.h"\
+ ".\..\nostdio.h"\
+ ".\..\perlio.h"\
+ ".\..\perlsdio.h"\
+ ".\..\perlsfio.h"\
+ ".\..\plan9\plan9ish.h"\
+ ".\..\regexp.h"\
+ ".\..\sv.h"\
+ ".\..\unixish.h"\
+ ".\..\util.h"\
+ ".\config.h"\
+ ".\EXTERN.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+NODEP_CPP_WIN32S=\
+ ".\..\os2ish.h"\
+ ".\..\vmsish.h"\
+
+
+"$(INTDIR)\win32sck.obj" : $(SOURCE) $(DEP_CPP_WIN32S) "$(INTDIR)"
+
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\win32aux.c
+DEP_CPP_WIN32A=\
+ ".\include\sys/socket.h"\
+
+
+"$(INTDIR)\win32aux.obj" : $(SOURCE) $(DEP_CPP_WIN32A) "$(INTDIR)"
+
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\win32io.c
+DEP_CPP_WIN32I=\
+ ".\include\sys/socket.h"\
+ ".\win32io.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+
+"$(INTDIR)\win32io.obj" : $(SOURCE) $(DEP_CPP_WIN32I) "$(INTDIR)"
+
+
+# End Source File
+# End Target
+# End Project
+################################################################################
diff --git a/win32/VC-2.0/modules.mak b/win32/VC-2.0/modules.mak
new file mode 100644
index 0000000000..198ca3120f
--- /dev/null
+++ b/win32/VC-2.0/modules.mak
@@ -0,0 +1,828 @@
+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+!IF "$(CFG)" == ""
+CFG=modules - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to modules - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "modules - Win32 Release" && "$(CFG)" !=\
+ "modules - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE on this makefile
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "modules.mak" CFG="modules - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "modules - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "modules - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+################################################################################
+# Begin Project
+# PROP Target_Last_Scanned "modules - Win32 Debug"
+CPP=cl.exe
+
+!IF "$(CFG)" == "modules - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "modules_"
+# PROP BASE Intermediate_Dir "modules_"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+OUTDIR=.\Release
+INTDIR=.\Release
+
+ALL : ".\modules.lib"
+
+CLEAN :
+ -@erase "$(INTDIR)\Dynaloader.obj"
+ -@erase ".\modules.lib"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "MSDOS" /YX /c
+CPP_PROJ=/nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "NDEBUG" /D\
+ "WIN32" /D "_WINDOWS" /D "MSDOS" /Fp"$(INTDIR)/modules.pch" /YX /Fo"$(INTDIR)/"\
+ /c
+CPP_OBJS=.\Release/
+CPP_SBRS=.\.
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/modules.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"modules.lib"
+LIB32_FLAGS=/nologo /out:"modules.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\Dynaloader.obj"
+
+".\modules.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "modules - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "modules0"
+# PROP BASE Intermediate_Dir "modules0"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+OUTDIR=.\Debug
+INTDIR=.\Debug
+
+ALL : ".\modules.lib"
+
+CLEAN :
+ -@erase "$(INTDIR)\Dynaloader.obj"
+ -@erase ".\modules.lib"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+# ADD BASE CPP /nologo /W3 /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MTd /W3 /Z7 /Od /I ".\include" /I "." /I ".." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "MSDOS" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Z7 /Od /I ".\include" /I "." /I ".." /D "_DEBUG"\
+ /D "WIN32" /D "_WINDOWS" /D "MSDOS" /Fp"$(INTDIR)/modules.pch" /YX\
+ /Fo"$(INTDIR)/" /c
+CPP_OBJS=.\Debug/
+CPP_SBRS=.\.
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/modules.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"modules.lib"
+LIB32_FLAGS=/nologo /out:"modules.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\Dynaloader.obj"
+
+".\modules.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ENDIF
+
+.c{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.c{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+################################################################################
+# Begin Target
+
+# Name "modules - Win32 Release"
+# Name "modules - Win32 Debug"
+
+!IF "$(CFG)" == "modules - Win32 Release"
+
+!ELSEIF "$(CFG)" == "modules - Win32 Debug"
+
+!ENDIF
+
+################################################################################
+# Begin Source File
+
+SOURCE=..\ext\DynaLoader\Dynaloader.c
+
+!IF "$(CFG)" == "modules - Win32 Release"
+
+DEP_CPP_DYNAL=\
+ "..\av.h"\
+ "..\cop.h"\
+ "..\cv.h"\
+ "..\dosish.h"\
+ "..\embed.h"\
+ "..\form.h"\
+ "..\gv.h"\
+ "..\handy.h"\
+ "..\hv.h"\
+ "..\mg.h"\
+ "..\nostdio.h"\
+ "..\op.h"\
+ "..\opcode.h"\
+ "..\perl.h"\
+ "..\perlio.h"\
+ "..\perlsdio.h"\
+ "..\perlsfio.h"\
+ "..\perly.h"\
+ "..\plan9\plan9ish.h"\
+ "..\pp.h"\
+ "..\proto.h"\
+ "..\regexp.h"\
+ "..\scope.h"\
+ "..\sv.h"\
+ "..\unixish.h"\
+ "..\util.h"\
+ "..\XSUB.h"\
+ ".\..\ext\DynaLoader\dlutils.c"\
+ ".\config.h"\
+ ".\EXTERN.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+ "$(INCLUDE)\sys\Types.h"\
+
+NODEP_CPP_DYNAL=\
+ "..\os2ish.h"\
+ "..\vmsish.h"\
+
+
+"$(INTDIR)\Dynaloader.obj" : $(SOURCE) $(DEP_CPP_DYNAL) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "modules - Win32 Debug"
+
+DEP_CPP_DYNAL=\
+ "..\av.h"\
+ "..\cop.h"\
+ "..\cv.h"\
+ "..\dosish.h"\
+ "..\embed.h"\
+ "..\form.h"\
+ "..\gv.h"\
+ "..\handy.h"\
+ "..\hv.h"\
+ "..\mg.h"\
+ "..\nostdio.h"\
+ "..\op.h"\
+ "..\opcode.h"\
+ "..\perl.h"\
+ "..\perlio.h"\
+ "..\perlsdio.h"\
+ "..\perlsfio.h"\
+ "..\perly.h"\
+ "..\plan9\plan9ish.h"\
+ "..\pp.h"\
+ "..\proto.h"\
+ "..\regexp.h"\
+ "..\scope.h"\
+ "..\sv.h"\
+ "..\unixish.h"\
+ "..\util.h"\
+ "..\XSUB.h"\
+ ".\..\ext\DynaLoader\dlutils.c"\
+ ".\config.h"\
+ ".\EXTERN.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+ "$(INCLUDE)\sys\Types.h"\
+
+NODEP_CPP_DYNAL=\
+ "..\os2ish.h"\
+ "..\vmsish.h"\
+
+
+"$(INTDIR)\Dynaloader.obj" : $(SOURCE) $(DEP_CPP_DYNAL) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\ext\Fcntl\Fcntl.c
+
+!IF "$(CFG)" == "modules - Win32 Release"
+
+DEP_CPP_FCNTL=\
+ "..\av.h"\
+ "..\cop.h"\
+ "..\cv.h"\
+ "..\dosish.h"\
+ "..\embed.h"\
+ "..\form.h"\
+ "..\gv.h"\
+ "..\handy.h"\
+ "..\hv.h"\
+ "..\mg.h"\
+ "..\nostdio.h"\
+ "..\op.h"\
+ "..\opcode.h"\
+ "..\perl.h"\
+ "..\perlio.h"\
+ "..\perlsdio.h"\
+ "..\perlsfio.h"\
+ "..\perly.h"\
+ "..\plan9\plan9ish.h"\
+ "..\pp.h"\
+ "..\proto.h"\
+ "..\regexp.h"\
+ "..\scope.h"\
+ "..\sv.h"\
+ "..\unixish.h"\
+ "..\util.h"\
+ "..\XSUB.h"\
+ ".\config.h"\
+ ".\EXTERN.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+ "$(INCLUDE)\sys\Types.h"\
+
+NODEP_CPP_FCNTL=\
+ "..\os2ish.h"\
+ "..\vmsish.h"\
+
+
+"$(INTDIR)\Fcntl.obj" : $(SOURCE) $(DEP_CPP_FCNTL) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "modules - Win32 Debug"
+
+DEP_CPP_FCNTL=\
+ "..\av.h"\
+ "..\cop.h"\
+ "..\cv.h"\
+ "..\dosish.h"\
+ "..\embed.h"\
+ "..\form.h"\
+ "..\gv.h"\
+ "..\handy.h"\
+ "..\hv.h"\
+ "..\mg.h"\
+ "..\nostdio.h"\
+ "..\op.h"\
+ "..\opcode.h"\
+ "..\perl.h"\
+ "..\perlio.h"\
+ "..\perlsdio.h"\
+ "..\perlsfio.h"\
+ "..\perly.h"\
+ "..\plan9\plan9ish.h"\
+ "..\pp.h"\
+ "..\proto.h"\
+ "..\regexp.h"\
+ "..\scope.h"\
+ "..\sv.h"\
+ "..\unixish.h"\
+ "..\util.h"\
+ "..\XSUB.h"\
+ ".\config.h"\
+ ".\EXTERN.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+ "$(INCLUDE)\sys\Types.h"\
+
+NODEP_CPP_FCNTL=\
+ "..\os2ish.h"\
+ "..\vmsish.h"\
+
+
+"$(INTDIR)\Fcntl.obj" : $(SOURCE) $(DEP_CPP_FCNTL) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\ext\Io\IO.c
+
+!IF "$(CFG)" == "modules - Win32 Release"
+
+DEP_CPP_IO_C4=\
+ "..\av.h"\
+ "..\cop.h"\
+ "..\cv.h"\
+ "..\dosish.h"\
+ "..\embed.h"\
+ "..\form.h"\
+ "..\gv.h"\
+ "..\handy.h"\
+ "..\hv.h"\
+ "..\mg.h"\
+ "..\nostdio.h"\
+ "..\op.h"\
+ "..\opcode.h"\
+ "..\perl.h"\
+ "..\perlio.h"\
+ "..\perlsdio.h"\
+ "..\perlsfio.h"\
+ "..\perly.h"\
+ "..\plan9\plan9ish.h"\
+ "..\pp.h"\
+ "..\proto.h"\
+ "..\regexp.h"\
+ "..\scope.h"\
+ "..\sv.h"\
+ "..\unixish.h"\
+ "..\util.h"\
+ "..\XSUB.h"\
+ ".\config.h"\
+ ".\EXTERN.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+ "$(INCLUDE)\sys\Types.h"\
+
+NODEP_CPP_IO_C4=\
+ "..\os2ish.h"\
+ "..\vmsish.h"\
+
+
+"$(INTDIR)\IO.obj" : $(SOURCE) $(DEP_CPP_IO_C4) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "modules - Win32 Debug"
+
+DEP_CPP_IO_C4=\
+ "..\av.h"\
+ "..\cop.h"\
+ "..\cv.h"\
+ "..\dosish.h"\
+ "..\embed.h"\
+ "..\form.h"\
+ "..\gv.h"\
+ "..\handy.h"\
+ "..\hv.h"\
+ "..\mg.h"\
+ "..\nostdio.h"\
+ "..\op.h"\
+ "..\opcode.h"\
+ "..\perl.h"\
+ "..\perlio.h"\
+ "..\perlsdio.h"\
+ "..\perlsfio.h"\
+ "..\perly.h"\
+ "..\plan9\plan9ish.h"\
+ "..\pp.h"\
+ "..\proto.h"\
+ "..\regexp.h"\
+ "..\scope.h"\
+ "..\sv.h"\
+ "..\unixish.h"\
+ "..\util.h"\
+ "..\XSUB.h"\
+ ".\config.h"\
+ ".\EXTERN.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+ "$(INCLUDE)\sys\Types.h"\
+
+NODEP_CPP_IO_C4=\
+ "..\os2ish.h"\
+ "..\vmsish.h"\
+
+
+"$(INTDIR)\IO.obj" : $(SOURCE) $(DEP_CPP_IO_C4) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\ext\Opcode\Opcode.c
+
+!IF "$(CFG)" == "modules - Win32 Release"
+
+DEP_CPP_OPCOD=\
+ "..\av.h"\
+ "..\cop.h"\
+ "..\cv.h"\
+ "..\dosish.h"\
+ "..\embed.h"\
+ "..\form.h"\
+ "..\gv.h"\
+ "..\handy.h"\
+ "..\hv.h"\
+ "..\mg.h"\
+ "..\nostdio.h"\
+ "..\op.h"\
+ "..\opcode.h"\
+ "..\perl.h"\
+ "..\perlio.h"\
+ "..\perlsdio.h"\
+ "..\perlsfio.h"\
+ "..\perly.h"\
+ "..\plan9\plan9ish.h"\
+ "..\pp.h"\
+ "..\proto.h"\
+ "..\regexp.h"\
+ "..\scope.h"\
+ "..\sv.h"\
+ "..\unixish.h"\
+ "..\util.h"\
+ "..\XSUB.h"\
+ ".\config.h"\
+ ".\EXTERN.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+ "$(INCLUDE)\sys\Types.h"\
+
+NODEP_CPP_OPCOD=\
+ "..\os2ish.h"\
+ "..\vmsish.h"\
+
+
+"$(INTDIR)\Opcode.obj" : $(SOURCE) $(DEP_CPP_OPCOD) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "modules - Win32 Debug"
+
+DEP_CPP_OPCOD=\
+ "..\av.h"\
+ "..\cop.h"\
+ "..\cv.h"\
+ "..\dosish.h"\
+ "..\embed.h"\
+ "..\form.h"\
+ "..\gv.h"\
+ "..\handy.h"\
+ "..\hv.h"\
+ "..\mg.h"\
+ "..\nostdio.h"\
+ "..\op.h"\
+ "..\opcode.h"\
+ "..\perl.h"\
+ "..\perlio.h"\
+ "..\perlsdio.h"\
+ "..\perlsfio.h"\
+ "..\perly.h"\
+ "..\plan9\plan9ish.h"\
+ "..\pp.h"\
+ "..\proto.h"\
+ "..\regexp.h"\
+ "..\scope.h"\
+ "..\sv.h"\
+ "..\unixish.h"\
+ "..\util.h"\
+ "..\XSUB.h"\
+ ".\config.h"\
+ ".\EXTERN.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+ "$(INCLUDE)\sys\Types.h"\
+
+NODEP_CPP_OPCOD=\
+ "..\os2ish.h"\
+ "..\vmsish.h"\
+
+
+"$(INTDIR)\Opcode.obj" : $(SOURCE) $(DEP_CPP_OPCOD) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\ext\SDBM_File\SDBM_File.c
+DEP_CPP_SDBM_=\
+ "..\av.h"\
+ "..\cop.h"\
+ "..\cv.h"\
+ "..\dosish.h"\
+ "..\embed.h"\
+ "..\form.h"\
+ "..\gv.h"\
+ "..\handy.h"\
+ "..\hv.h"\
+ "..\mg.h"\
+ "..\nostdio.h"\
+ "..\op.h"\
+ "..\opcode.h"\
+ "..\perl.h"\
+ "..\perlio.h"\
+ "..\perlsdio.h"\
+ "..\perlsfio.h"\
+ "..\perly.h"\
+ "..\plan9\plan9ish.h"\
+ "..\pp.h"\
+ "..\proto.h"\
+ "..\regexp.h"\
+ "..\scope.h"\
+ "..\sv.h"\
+ "..\unixish.h"\
+ "..\util.h"\
+ "..\XSUB.h"\
+ ".\..\ext\SDBM_File\sdbm\sdbm.h"\
+ ".\config.h"\
+ ".\EXTERN.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+ "$(INCLUDE)\sys\Types.h"\
+
+NODEP_CPP_SDBM_=\
+ "..\os2ish.h"\
+ "..\vmsish.h"\
+
+
+"$(INTDIR)\SDBM_File.obj" : $(SOURCE) $(DEP_CPP_SDBM_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\ext\Socket\Socket.c
+DEP_CPP_SOCKE=\
+ "..\av.h"\
+ "..\cop.h"\
+ "..\cv.h"\
+ "..\dosish.h"\
+ "..\embed.h"\
+ "..\form.h"\
+ "..\gv.h"\
+ "..\handy.h"\
+ "..\hv.h"\
+ "..\mg.h"\
+ "..\nostdio.h"\
+ "..\op.h"\
+ "..\opcode.h"\
+ "..\perl.h"\
+ "..\perlio.h"\
+ "..\perlsdio.h"\
+ "..\perlsfio.h"\
+ "..\perly.h"\
+ "..\plan9\plan9ish.h"\
+ "..\pp.h"\
+ "..\proto.h"\
+ "..\regexp.h"\
+ "..\scope.h"\
+ "..\sv.h"\
+ "..\unixish.h"\
+ "..\util.h"\
+ "..\XSUB.h"\
+ ".\config.h"\
+ ".\EXTERN.h"\
+ ".\include\arpa/inet.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+ "$(INCLUDE)\sys\Types.h"\
+
+NODEP_CPP_SOCKE=\
+ "..\os2ish.h"\
+ "..\vmsish.h"\
+ ".\..\ext\Socket\sockadapt.h"\
+
+
+"$(INTDIR)\Socket.obj" : $(SOURCE) $(DEP_CPP_SOCKE) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\ext\SDBM_File\sdbm\sdbm.c
+
+!IF "$(CFG)" == "modules - Win32 Release"
+
+DEP_CPP_SDBM_C=\
+ "..\ext\SDBM_File\sdbm\pair.h"\
+ ".\..\ext\SDBM_File\sdbm\sdbm.h"\
+ ".\..\ext\SDBM_File\sdbm\tune.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+ "$(INCLUDE)\sys\Types.h"\
+
+
+"$(INTDIR)\sdbm.obj" : $(SOURCE) $(DEP_CPP_SDBM_C) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "modules - Win32 Debug"
+
+DEP_CPP_SDBM_C=\
+ "..\ext\SDBM_File\sdbm\pair.h"\
+ ".\..\ext\SDBM_File\sdbm\sdbm.h"\
+ ".\..\ext\SDBM_File\sdbm\tune.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\sdbm.obj" : $(SOURCE) $(DEP_CPP_SDBM_C) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\ext\SDBM_File\sdbm\pair.c
+
+!IF "$(CFG)" == "modules - Win32 Release"
+
+DEP_CPP_PAIR_=\
+ "..\ext\SDBM_File\sdbm\pair.h"\
+ ".\..\ext\SDBM_File\sdbm\sdbm.h"\
+ ".\..\ext\SDBM_File\sdbm\tune.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+ "$(INCLUDE)\sys\Types.h"\
+
+
+"$(INTDIR)\pair.obj" : $(SOURCE) $(DEP_CPP_PAIR_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "modules - Win32 Debug"
+
+DEP_CPP_PAIR_=\
+ "..\ext\SDBM_File\sdbm\pair.h"\
+ ".\..\ext\SDBM_File\sdbm\sdbm.h"\
+ ".\..\ext\SDBM_File\sdbm\tune.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\pair.obj" : $(SOURCE) $(DEP_CPP_PAIR_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\ext\SDBM_File\sdbm\hash.c
+
+!IF "$(CFG)" == "modules - Win32 Release"
+
+DEP_CPP_HASH_=\
+ ".\..\ext\SDBM_File\sdbm\sdbm.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ "$(INCLUDE)\sys\Stat.h"\
+ "$(INCLUDE)\sys\Types.h"\
+
+
+"$(INTDIR)\hash.obj" : $(SOURCE) $(DEP_CPP_HASH_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ELSEIF "$(CFG)" == "modules - Win32 Debug"
+
+DEP_CPP_HASH_=\
+ ".\..\ext\SDBM_File\sdbm\sdbm.h"\
+ ".\config.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+
+
+"$(INTDIR)\hash.obj" : $(SOURCE) $(DEP_CPP_HASH_) "$(INTDIR)"
+ $(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+!ENDIF
+
+# End Source File
+# End Target
+# End Project
+################################################################################
diff --git a/win32/VC-2.0/perl.mak b/win32/VC-2.0/perl.mak
new file mode 100644
index 0000000000..bee99fda0e
--- /dev/null
+++ b/win32/VC-2.0/perl.mak
@@ -0,0 +1,228 @@
+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+!IF "$(CFG)" == ""
+CFG=perl - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to perl - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "perl - Win32 Release" && "$(CFG)" != "perl - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE on this makefile
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "perl.mak" CFG="perl - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "perl - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "perl - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+################################################################################
+# Begin Project
+# PROP Target_Last_Scanned "perl - Win32 Debug"
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "perl - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "perl"
+# PROP BASE Intermediate_Dir "perl"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+OUTDIR=.\Release
+INTDIR=.\Release
+
+ALL : "..\_perl.exe"
+
+CLEAN :
+ -@erase "$(INTDIR)\perlmain.obj"
+ -@erase "$(INTDIR)\win32io.obj"
+ -@erase "..\_perl.exe"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".\include" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+CPP_PROJ=/nologo /MT /W3 /O2 /I "." /I ".\include" /I ".." /D "WIN32" /D\
+ "NDEBUG" /D "_CONSOLE" /Fp"$(INTDIR)/perl.pch" /YX /Fo"$(INTDIR)/" /c
+CPP_OBJS=.\Release/
+CPP_SBRS=.\.
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/perl.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib setargv.obj /nologo /subsystem:console /machine:I386 /out:"../_perl.exe"
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
+ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib setargv.obj /nologo\
+ /subsystem:console /incremental:no /pdb:"$(OUTDIR)/_perl.pdb" /machine:I386\
+ /out:"../_perl.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\perlmain.obj" \
+ "$(INTDIR)\win32io.obj" \
+ "..\perl.lib"
+
+"..\_perl.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "perl - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "dynaper0"
+# PROP BASE Intermediate_Dir "dynaper0"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+OUTDIR=.\Debug
+INTDIR=.\Debug
+
+ALL : "..\_perl.exe"
+
+CLEAN :
+ -@erase "$(INTDIR)\perlmain.obj"
+ -@erase "$(INTDIR)\vc40.idb"
+ -@erase "$(INTDIR)\vc40.pdb"
+ -@erase "$(INTDIR)\win32io.obj"
+ -@erase "$(OUTDIR)\_perl.pdb"
+ -@erase "..\_perl.exe"
+ -@erase "..\_perl.ilk"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+# ADD BASE CPP /nologo /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".\include" /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".\include" /I ".." /D\
+ "WIN32" /D "_DEBUG" /D "_CONSOLE" /Fp"$(INTDIR)/perl.pch" /YX /Fo"$(INTDIR)/"\
+ /Fd"$(INTDIR)/" /c
+CPP_OBJS=.\Debug/
+CPP_SBRS=.\.
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/perl.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:console /debug /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib setargv.obj /nologo /subsystem:console /debug /machine:I386 /out:"../_perl.exe"
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
+ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib setargv.obj /nologo\
+ /subsystem:console /incremental:yes /pdb:"$(OUTDIR)/_perl.pdb" /debug\
+ /machine:I386 /out:"../_perl.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\perlmain.obj" \
+ "$(INTDIR)\win32io.obj" \
+ "..\perl.lib"
+
+"..\_perl.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ENDIF
+
+.c{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.c{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+################################################################################
+# Begin Target
+
+# Name "perl - Win32 Release"
+# Name "perl - Win32 Debug"
+
+!IF "$(CFG)" == "perl - Win32 Release"
+
+!ELSEIF "$(CFG)" == "perl - Win32 Debug"
+
+!ENDIF
+
+################################################################################
+# Begin Source File
+
+SOURCE=.\perlmain.c
+DEP_CPP_PERLM=\
+ ".\win32io.h"\
+
+
+"$(INTDIR)\perlmain.obj" : $(SOURCE) $(DEP_CPP_PERLM) "$(INTDIR)"
+
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\perl.lib
+
+!IF "$(CFG)" == "perl - Win32 Release"
+
+!ELSEIF "$(CFG)" == "perl - Win32 Debug"
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\win32io.c
+DEP_CPP_WIN32=\
+ ".\include\sys/socket.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\Sys\Stat.h"\
+ "$(INCLUDE)\Sys\Types.h"\
+
+
+"$(INTDIR)\win32io.obj" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
+
+
+# End Source File
+# End Target
+# End Project
+################################################################################
diff --git a/win32/VC-2.0/perldll.mak b/win32/VC-2.0/perldll.mak
new file mode 100644
index 0000000000..ab9460e2c8
--- /dev/null
+++ b/win32/VC-2.0/perldll.mak
@@ -0,0 +1,436 @@
+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+!IF "$(CFG)" == ""
+CFG=perldll - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to perldll - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "perldll - Win32 Release" && "$(CFG)" !=\
+ "perldll - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE on this makefile
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "perldll.mak" CFG="perldll - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "perldll - Win32 Release" (based on\
+ "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "perldll - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+################################################################################
+# Begin Project
+# PROP Target_Last_Scanned "perldll - Win32 Debug"
+CPP=cl.exe
+RSC=rc.exe
+MTL=mktyplib.exe
+
+!IF "$(CFG)" == "perldll - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "perldll_"
+# PROP BASE Intermediate_Dir "perldll_"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "../"
+# PROP Intermediate_Dir "release"
+# PROP Target_Dir ""
+OUTDIR=.\..
+INTDIR=.\release
+
+ALL : "$(OUTDIR)\perl.dll"
+
+CLEAN :
+ -@erase "$(INTDIR)\perllib.obj"
+ -@erase "$(INTDIR)\win32.obj"
+ -@erase "$(INTDIR)\win32aux.obj"
+ -@erase "$(INTDIR)\win32io.obj"
+ -@erase "$(INTDIR)\win32sck.obj"
+ -@erase "$(OUTDIR)\perl.dll"
+ -@erase "$(OUTDIR)\perl.exp"
+ -@erase "$(OUTDIR)\perl.lib"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+ if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+# ADD BASE CPP /nologo /MT /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".\include" /I ".." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PERLDLL" /YX /c
+CPP_PROJ=/nologo /MT /W3 /O2 /I "." /I ".\include" /I ".." /D "NDEBUG" /D\
+ "WIN32" /D "_WINDOWS" /D "PERLDLL" /Fp"$(INTDIR)/perldll.pch" /YX\
+ /Fo"$(INTDIR)/" /c
+CPP_OBJS=.\release/
+CPP_SBRS=.\.
+# ADD BASE MTL /nologo /D "NDEBUG" /win32
+# ADD MTL /nologo /D "NDEBUG" /win32
+MTL_PROJ=/nologo /D "NDEBUG" /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/perldll.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /pdb:none /machine:I386 /out:"../perl.dll"
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
+ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo\
+ /subsystem:windows /dll /pdb:none /machine:I386 /def:".\perldll.def"\
+ /out:"$(OUTDIR)/perl.dll" /implib:"$(OUTDIR)/perl.lib"
+DEF_FILE= \
+ ".\perldll.def"
+LINK32_OBJS= \
+ "$(INTDIR)\perllib.obj" \
+ "$(INTDIR)\win32.obj" \
+ "$(INTDIR)\win32aux.obj" \
+ "$(INTDIR)\win32io.obj" \
+ "$(INTDIR)\win32sck.obj" \
+ "..\libperl.lib" \
+ ".\modules.lib"
+
+"$(OUTDIR)\perl.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "perldll - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "perldll0"
+# PROP BASE Intermediate_Dir "perldll0"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "debug"
+# PROP Intermediate_Dir "debug"
+# PROP Target_Dir ""
+OUTDIR=.\debug
+INTDIR=.\debug
+
+ALL : "..\perl.dll"
+
+CLEAN :
+ -@erase "$(INTDIR)\perllib.obj"
+ -@erase "$(INTDIR)\vc40.idb"
+ -@erase "$(INTDIR)\vc40.pdb"
+ -@erase "$(INTDIR)\win32.obj"
+ -@erase "$(INTDIR)\win32aux.obj"
+ -@erase "$(INTDIR)\win32io.obj"
+ -@erase "$(INTDIR)\win32sck.obj"
+ -@erase "$(OUTDIR)\perl.exp"
+ -@erase "$(OUTDIR)\perl.lib"
+ -@erase "$(OUTDIR)\perl.pdb"
+ -@erase "..\perl.dll"
+ -@erase "..\perl.ilk"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+# ADD BASE CPP /nologo /MTd /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".\include" /I ".." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "PERLDLL" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".\include" /I ".." /D\
+ "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "PERLDLL" /Fp"$(INTDIR)/perldll.pch" /YX\
+ /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c
+CPP_OBJS=.\debug/
+CPP_SBRS=.\.
+# ADD BASE MTL /nologo /D "_DEBUG" /win32
+# ADD MTL /nologo /D "_DEBUG" /win32
+MTL_PROJ=/nologo /D "_DEBUG" /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/perldll.bsc"
+BSC32_SBRS= \
+
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /debug /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"../perl.dll"
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
+ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo\
+ /subsystem:windows /dll /incremental:yes /pdb:"$(OUTDIR)/perl.pdb" /debug\
+ /machine:I386 /def:".\perldll.def" /out:"../perl.dll"\
+ /implib:"$(OUTDIR)/perl.lib"
+DEF_FILE= \
+ ".\perldll.def"
+LINK32_OBJS= \
+ "$(INTDIR)\perllib.obj" \
+ "$(INTDIR)\win32.obj" \
+ "$(INTDIR)\win32aux.obj" \
+ "$(INTDIR)\win32io.obj" \
+ "$(INTDIR)\win32sck.obj" \
+ "..\libperl.lib" \
+ ".\modules.lib"
+
+"..\perl.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ENDIF
+
+.c{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.c{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+################################################################################
+# Begin Target
+
+# Name "perldll - Win32 Release"
+# Name "perldll - Win32 Debug"
+
+!IF "$(CFG)" == "perldll - Win32 Release"
+
+!ELSEIF "$(CFG)" == "perldll - Win32 Debug"
+
+!ENDIF
+
+################################################################################
+# Begin Source File
+
+SOURCE=.\perllib.c
+DEP_CPP_PERLL=\
+ "..\av.h"\
+ "..\cop.h"\
+ "..\cv.h"\
+ "..\dosish.h"\
+ "..\embed.h"\
+ "..\form.h"\
+ "..\gv.h"\
+ "..\handy.h"\
+ "..\hv.h"\
+ "..\mg.h"\
+ "..\nostdio.h"\
+ "..\op.h"\
+ "..\opcode.h"\
+ "..\perl.h"\
+ "..\perlio.h"\
+ "..\perlsdio.h"\
+ "..\perlsfio.h"\
+ "..\perly.h"\
+ "..\plan9\plan9ish.h"\
+ "..\pp.h"\
+ "..\proto.h"\
+ "..\regexp.h"\
+ "..\scope.h"\
+ "..\sv.h"\
+ "..\unixish.h"\
+ "..\util.h"\
+ ".\config.h"\
+ ".\EXTERN.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\sys\stat.h"\
+ "$(INCLUDE)\sys\types.h"\
+
+NODEP_CPP_PERLL=\
+ "..\os2ish.h"\
+ "..\vmsish.h"\
+
+
+"$(INTDIR)\perllib.obj" : $(SOURCE) $(DEP_CPP_PERLL) "$(INTDIR)"
+
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\perldll.def
+
+!IF "$(CFG)" == "perldll - Win32 Release"
+
+!ELSEIF "$(CFG)" == "perldll - Win32 Debug"
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=..\libperl.lib
+
+!IF "$(CFG)" == "perldll - Win32 Release"
+
+!ELSEIF "$(CFG)" == "perldll - Win32 Debug"
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\win32sck.c
+DEP_CPP_WIN32=\
+ "..\av.h"\
+ "..\cop.h"\
+ "..\cv.h"\
+ "..\dosish.h"\
+ "..\embed.h"\
+ "..\form.h"\
+ "..\gv.h"\
+ "..\handy.h"\
+ "..\hv.h"\
+ "..\mg.h"\
+ "..\nostdio.h"\
+ "..\op.h"\
+ "..\opcode.h"\
+ "..\perl.h"\
+ "..\perlio.h"\
+ "..\perlsdio.h"\
+ "..\perlsfio.h"\
+ "..\perly.h"\
+ "..\plan9\plan9ish.h"\
+ "..\pp.h"\
+ "..\proto.h"\
+ "..\regexp.h"\
+ "..\scope.h"\
+ "..\sv.h"\
+ "..\unixish.h"\
+ "..\util.h"\
+ ".\config.h"\
+ ".\EXTERN.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\sys\stat.h"\
+ "$(INCLUDE)\sys\types.h"\
+
+NODEP_CPP_WIN32=\
+ "..\os2ish.h"\
+ "..\vmsish.h"\
+
+
+"$(INTDIR)\win32sck.obj" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
+
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\win32.c
+
+!IF "$(CFG)" == "perldll - Win32 Release"
+
+DEP_CPP_WIN32_=\
+ "..\embed.h"\
+ "..\nostdio.h"\
+ "..\perl.h"\
+ "..\perlio.h"\
+ "..\perlsdio.h"\
+ "..\perlsfio.h"\
+ ".\config.h"\
+ ".\EXTERN.h"\
+ ".\include\dirent.h"\
+ ".\include\netdb.h"\
+ ".\include\sys/socket.h"\
+ ".\win32.h"\
+ "$(INCLUDE)\sys\stat.h"\
+ "$(INCLUDE)\sys\types.h"\
+
+
+"$(INTDIR)\win32.obj" : $(SOURCE) $(DEP_CPP_WIN32_) "$(INTDIR)"
+
+
+!ELSEIF "$(CFG)" == "perldll - Win32 Debug"
+
+DEP_CPP_WIN32_=\
+ "..\perl.h"\
+ ".\EXTERN.h"\
+ "$(INCLUDE)\sys\stat.h"\
+ "$(INCLUDE)\sys\types.h"\
+
+
+"$(INTDIR)\win32.obj" : $(SOURCE) $(DEP_CPP_WIN32_) "$(INTDIR)"
+
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\win32aux.c
+DEP_CPP_WIN32A=\
+ ".\include\sys/socket.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\sys\stat.h"\
+ "$(INCLUDE)\sys\types.h"\
+
+
+"$(INTDIR)\win32aux.obj" : $(SOURCE) $(DEP_CPP_WIN32A) "$(INTDIR)"
+
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\modules.lib
+
+!IF "$(CFG)" == "perldll - Win32 Release"
+
+!ELSEIF "$(CFG)" == "perldll - Win32 Debug"
+
+!ENDIF
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\win32io.c
+DEP_CPP_WIN32I=\
+ ".\include\sys/socket.h"\
+ ".\win32io.h"\
+ ".\win32iop.h"\
+ "$(INCLUDE)\sys\stat.h"\
+ "$(INCLUDE)\sys\types.h"\
+
+
+"$(INTDIR)\win32io.obj" : $(SOURCE) $(DEP_CPP_WIN32I) "$(INTDIR)"
+
+
+# End Source File
+# End Target
+# End Project
+################################################################################
diff --git a/win32/VC-2.0/vc2.patch b/win32/VC-2.0/vc2.patch
new file mode 100644
index 0000000000..ea7031b3c8
--- /dev/null
+++ b/win32/VC-2.0/vc2.patch
@@ -0,0 +1,16 @@
+You will need this patch to win32.c when compiling with VC++ ver. 2.0.
+
+
+diff -ur /y/src/perl5.003_93/win32/win32.c perl5.003_93-w32/win32/win32.c
+--- /y/src/perl5.003_93/win32/win32.c Fri Jan 31 21:38:10 1997
++++ perl5.003_93-w32/win32/win32.c Tue Mar 11 01:51:08 1997
+@@ -41,7 +41,8 @@
+ char szPerlLibRoot[MAX_PATH+1];
+ HANDLE PerlDllHandle = INVALID_HANDLE_VALUE;
+
+-#define IsWin95() (Win32System == VER_PLATFORM_WIN32_WINDOWS)
++/* #define IsWin95() (Win32System == VER_PLATFORM_WIN32_WINDOWS) */
++#define IsWin95() (0)
+ #define IsWinNT() (Win32System == VER_PLATFORM_WIN32_NT)
+
+ void *
diff --git a/win32/config.H b/win32/config.H
index 62fa2f18db..f71ddc8151 100644
--- a/win32/config.H
+++ b/win32/config.H
@@ -1,11 +1,6 @@
-/* This file (config_H) is a sample config.h file. If you are unable
- to successfully run Configure, copy this file to config.h and
- edit it to suit your system.
-*/
/*
- * This file was produced by running the config_h.SH script, which
- * gets its values from config.sh, which is generally produced by
- * running Configure.
+ * This file was produced by running the config_h.SH script, on a UNIX machine
+ * with config.sh set to conif.w32 from this directory
*
* Feel free to modify any of this as the need arises. Note, however,
* that running config_h.SH again will wipe out any changes you've made.
@@ -14,9 +9,9 @@
* $Id: Config_h.U,v 3.0.1.4 1995/09/25 09:10:49 ram Exp $
*/
-/* Configuration time: Thu Feb 8 17:15:11 EST 1996
- * Configured by: doughera
- * Target system: sunos fractal 5.4 generic_101946-29 i86pc i386
+/* Configuration time: Thu Apr 11 06:20:49 PDT 1996
+ * Configured by: garyng
+ * Target system:
*/
#ifndef _config_h_
@@ -29,9 +24,12 @@
#define MEM_ALIGNBYTES 8 /**/
/* ARCHNAME:
- * This symbol archtechure name, not used in win32
+ * This symbol holds a string representing the architecture name.
+ * It may be used to construct an architecture-dependant pathname
+ * where library files may be held under a private library, for
+ * instance.
*/
-#define ARCHNAME "win32"
+#define ARCHNAME "MSWin32" /**/
/* BIN:
* This symbol holds the path of the bin directory where the package will
@@ -41,12 +39,15 @@
* This symbol is the filename expanded version of the BIN symbol, for
* programs that do not want to deal with that at run-time.
*/
-#define BIN "/usr/local/bin" /**/
-#define BIN_EXP "/usr/local/bin" /**/
+#define BIN "C:\\perl\\bin" /**/
+#define BIN_EXP "C:\\perl\\bin" /**/
/* CAT2:
* This macro catenates 2 tokens together.
*/
+/* STRINGIFY:
+ * This macro surrounds its token with double quotes.
+ */
#if 42 == 1
#define CAT2(a,b)a/**/b
#define CAT3(a,b,c)a/**/b/**/c
@@ -144,13 +145,13 @@
* This symbol, if defined, indicates that the chown routine is
* available.
*/
-/* #define HAS_CHOWN /**/
+/*#define HAS_CHOWN /**/
/* HAS_CHROOT:
* This symbol, if defined, indicates that the chroot routine is
* available.
*/
-/* #define HAS_CHROOT /**/
+/*#define HAS_CHROOT /**/
/* HAS_CHSIZE:
* This symbol, if defined, indicates that the chsize routine is available
@@ -179,13 +180,13 @@
* This symbol, if defined, indicates that the crypt routine is available
* to encrypt passwords and the like.
*/
-/* #define HAS_CRYPT /**/
+/*#define HAS_CRYPT /**/
/* HAS_CUSERID:
* This symbol, if defined, indicates that the cuserid routine is
* available to get character login names.
*/
-/* #define HAS_CUSERID /**/
+/*#define HAS_CUSERID /**/
/* HAS_DBL_DIG:
* This symbol, if defined, indicates that this system's <float.h>
@@ -193,7 +194,7 @@
* of significant digits in a double precision number. If this
* symbol is not defined, a guess of 15 is usually pretty good.
*/
-#define HAS_DBL_DIG /* */
+#define HAS_DBL_DIG /**/
/* HAS_DIFFTIME:
* This symbol, if defined, indicates that the difftime routine is
@@ -262,6 +263,17 @@
*/
#define HAS_FSETPOS /**/
+/* HAS_GETTIMEOFDAY:
+ * This symbol, if defined, indicates that the gettimeofday() system
+ * call is available for a sub-second accuracy clock. Usually, the file
+ * <sys/resource.h> needs to be included (see I_SYS_RESOURCE).
+ * The type "Timeval" should be used to refer to "struct timeval".
+ */
+/*#define HAS_GETTIMEOFDAY /**/
+#ifdef HAS_GETTIMEOFDAY
+#define Timeval struct timeval /* Structure used by gettimeofday() */
+#endif
+
/* HAS_GETGROUPS:
* This symbol, if defined, indicates that the getgroups() routine is
* available to get the list of process groups. If unavailable, multiple
@@ -288,12 +300,6 @@
*/
/*#define HAS_GETLOGIN /**/
-/* HAS_GETPGRP:
- * This symbol, if defined, indicates that the getpgrp routine is
- * available to get the current process group.
- */
-/*#define HAS_GETPGRP /**/
-
/* HAS_GETPGRP2:
* This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
* routine is available to get the current process group.
@@ -467,8 +473,8 @@
* to determine file-system related limits and options associated
* with a given open file descriptor.
*/
-/* #define HAS_PATHCONF /**/
-/* #define HAS_FPATHCONF /**/
+/*#define HAS_PATHCONF /**/
+/*#define HAS_FPATHCONF /**/
/* HAS_PAUSE:
* This symbol, if defined, indicates that the pause routine is
@@ -486,7 +492,7 @@
* This symbol, if defined, indicates that the poll routine is
* available to poll active file descriptors.
*/
-/* #define HAS_POLL /**/
+/*#define HAS_POLL /**/
/* HAS_READDIR:
* This symbol, if defined, indicates that the readdir routine is
@@ -517,7 +523,7 @@
* This symbol, if defined, indicates that the readlink routine is
* available to read the value of a symbolic link.
*/
-/* #define HAS_READLINK /**/
+/*#define HAS_READLINK /**/
/* HAS_RENAME:
* This symbol, if defined, indicates that the rename routine is available
@@ -549,6 +555,13 @@
*/
/*#define HAS_SAFE_MEMCPY /**/
+/* HAS_SANE_MEMCMP:
+ * This symbol, if defined, indicates that the memcmp routine is available
+ * and can be used to compare relative magnitudes of chars with their high
+ * bits set. If it is not defined, roll your own version.
+ */
+#define HAS_SANE_MEMCMP /**/
+
/* HAS_SELECT:
* This symbol, if defined, indicates that the select routine is
* available to select active file descriptors. If the timeout field
@@ -560,19 +573,19 @@
* This symbol, if defined, indicates that the entire sem*(2) library is
* supported.
*/
-/* #define HAS_SEM /**/
+/*#define HAS_SEM /**/
/* HAS_SETEGID:
* This symbol, if defined, indicates that the setegid routine is available
* to change the effective gid of the current program.
*/
-/* #define HAS_SETEGID /**/
+/*#define HAS_SETEGID /**/
/* HAS_SETEUID:
* This symbol, if defined, indicates that the seteuid routine is available
* to change the effective uid of the current program.
*/
-/* #define HAS_SETEUID /**/
+/*#define HAS_SETEUID /**/
/* HAS_SETLINEBUF:
* This symbol, if defined, indicates that the setlinebuf routine is
@@ -587,24 +600,6 @@
*/
#define HAS_SETLOCALE /**/
-/* HAS_SETPGID:
- * This symbol, if defined, indicates that the setpgid routine is
- * available to set process group ID.
- */
-/* #define HAS_SETPGID /**/
-
-/* HAS_SETPGRP:
- * This symbol, if defined, indicates that the setpgrp routine is
- * available to set the current process group.
- */
-/* USE_BSDPGRP:
- * This symbol, if defined, indicates that the BSD notion of process
- * group is to be used. For instance, you have to say setpgrp(pid, pgrp)
- * instead of the USG setpgrp().
- */
-/* #define HAS_SETPGRP /**/
-/*#define USE_BSDPGRP /**/
-
/* HAS_SETPGRP2:
* This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
* routine is available to set the current process group.
@@ -659,13 +654,13 @@
* This symbol, if defined, indicates that the setsid routine is
* available to set the process group ID.
*/
-/* #define HAS_SETSID /**/
+/*#define HAS_SETSID /**/
/* HAS_SHM:
* This symbol, if defined, indicates that the entire shm*(2) library is
* supported.
*/
-/* #define HAS_SHM /**/
+/*#define HAS_SHM /**/
/* Shmat_t:
* This symbol holds the return type of the shmat() system call.
@@ -678,14 +673,14 @@
* but not always right so it should be emitted by the program only
* when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
*/
-/* #define Shmat_t void * /**/
-/* #define HAS_SHMAT_PROTOTYPE /**/
+#define Shmat_t void * /**/
+/*#define HAS_SHMAT_PROTOTYPE /**/
/* HAS_SIGACTION:
* This symbol, if defined, indicates that Vr4's sigaction() routine
* is available.
*/
-/* #define HAS_SIGACTION /**/
+/*#define HAS_SIGACTION /**/
/* HAS_SOCKET:
* This symbol, if defined, indicates that the BSD socket interface is
@@ -696,13 +691,13 @@
* supported.
*/
#define HAS_SOCKET /**/
-/* #define HAS_SOCKETPAIR /**/
+/*#define HAS_SOCKETPAIR /**/
/* USE_STAT_BLOCKS:
* This symbol is defined if this system has a stat structure declaring
* st_blksize and st_blocks.
*/
-/* #define USE_STAT_BLOCKS /**/
+/*#define USE_STAT_BLOCKS /**/
/* USE_STDIO_PTR:
* This symbol is defined if the _ptr and _cnt fields (or similar)
@@ -711,18 +706,6 @@
* and FILE_cnt(fp) macros will also be defined and should be used
* to access these fields.
*/
-/* USE_STDIO_BASE:
- * This symbol is defined if the _base field (or similar) of the
- * stdio FILE structure can be used to access the stdio buffer for
- * a file handle. If this is defined, then the FILE_base(fp) macro
- * will also be defined and should be used to access this field.
- * Also, the FILE_bufsiz(fp) macro will be defined and should be used
- * to determine the number of bytes in the buffer. USE_STDIO_BASE
- * will never be defined unless USE_STDIO_PTR is.
- */
-#define USE_STDIO_PTR /**/
-#define USE_STDIO_BASE /**/
-
/* FILE_ptr:
* This macro is used to access the _ptr field (or equivalent) of the
* FILE structure pointed to by its argument. This macro will always be
@@ -741,6 +724,7 @@
* This symbol is defined if the FILE_cnt macro can be used as an
* lvalue.
*/
+#define USE_STDIO_PTR /**/
#ifdef USE_STDIO_PTR
#define FILE_ptr(fp) ((fp)->_ptr)
#define STDIO_PTR_LVALUE /**/
@@ -748,6 +732,15 @@
#define STDIO_CNT_LVALUE /**/
#endif
+/* USE_STDIO_BASE:
+ * This symbol is defined if the _base field (or similar) of the
+ * stdio FILE structure can be used to access the stdio buffer for
+ * a file handle. If this is defined, then the FILE_base(fp) macro
+ * will also be defined and should be used to access this field.
+ * Also, the FILE_bufsiz(fp) macro will be defined and should be used
+ * to determine the number of bytes in the buffer. USE_STDIO_BASE
+ * will never be defined unless USE_STDIO_PTR is.
+ */
/* FILE_base:
* This macro is used to access the _base field (or equivalent) of the
* FILE structure pointed to by its argument. This macro will always be
@@ -759,6 +752,7 @@
* structure pointed to its argument. This macro will always be defined
* if USE_STDIO_BASE is defined.
*/
+#define USE_STDIO_BASE /**/
#ifdef USE_STDIO_BASE
#define FILE_base(fp) ((fp)->_base)
#define FILE_bufsiz(fp) ((fp)->_cnt + (fp)->_ptr - (fp)->_base)
@@ -808,6 +802,24 @@
#define HAS_SYS_ERRLIST /**/
#define Strerror(e) strerror(e)
+/* HAS_STRTOD:
+ * This symbol, if defined, indicates that the strtod routine is
+ * available to provide better numeric string conversion than atof().
+ */
+#define HAS_STRTOD /**/
+
+/* HAS_STRTOL:
+ * This symbol, if defined, indicates that the strtol routine is available
+ * to provide better numeric string conversion than atoi() and friends.
+ */
+#define HAS_STRTOL /**/
+
+/* HAS_STRTOUL:
+ * This symbol, if defined, indicates that the strtoul routine is
+ * available to provide conversion of strings to unsigned long.
+ */
+#define HAS_STRTOUL /**/
+
/* HAS_STRXFRM:
* This symbol, if defined, indicates that the strxfrm() routine is
* available to transform strings.
@@ -818,19 +830,19 @@
* This symbol, if defined, indicates that the symlink routine is available
* to create symbolic links.
*/
-/* #define HAS_SYMLINK /**/
+/*#define HAS_SYMLINK /**/
/* HAS_SYSCALL:
* This symbol, if defined, indicates that the syscall routine is
* available to call arbitrary system calls. If undefined, that's tough.
*/
-/* #define HAS_SYSCALL /**/
+/*#define HAS_SYSCALL /**/
/* HAS_SYSCONF:
* This symbol, if defined, indicates that sysconf() is available
* to determine system related limits and options.
*/
-/* #define HAS_SYSCONF /**/
+/*#define HAS_SYSCONF /**/
/* HAS_SYSTEM:
* This symbol, if defined, indicates that the system routine is
@@ -842,13 +854,13 @@
* This symbol, if defined, indicates that the tcgetpgrp routine is
* available to get foreground process group ID.
*/
-/* #define HAS_TCGETPGRP /**/
+/*#define HAS_TCGETPGRP /**/
/* HAS_TCSETPGRP:
* This symbol, if defined, indicates that the tcsetpgrp routine is
* available to set foreground process group ID.
*/
-/* #define HAS_TCSETPGRP /**/
+/*#define HAS_TCSETPGRP /**/
/* Time_t:
* This symbol holds the type returned by time(). It can be long,
@@ -868,7 +880,7 @@
* This symbol, if defined, indicates that the truncate routine is
* available to truncate files.
*/
-/* #define HAS_TRUNCATE /**/
+/*#define HAS_TRUNCATE /**/
/* HAS_TZNAME:
* This symbol, if defined, indicates that the tzname[] array is
@@ -927,7 +939,7 @@
* This symbol, if defined, indicates that the waitpid routine is
* available to wait for child process.
*/
-/* #define HAS_WAITPID /**/
+/*#define HAS_WAITPID /**/
/* HAS_WCSTOMBS:
* This symbol, if defined, indicates that the wcstombs routine is
@@ -1147,11 +1159,17 @@
*/
/*#define I_SYS_PARAM /**/
+/* I_SYS_RESOURCE:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/resource.h>.
+ */
+/*#define I_SYS_RESOURCE /**/
+
/* I_SYS_SELECT:
* This symbol, if defined, indicates to the C program that it should
* include <sys/select.h> in order to get definition of struct timeval.
*/
-/* #define I_SYS_SELECT /**/
+/*#define I_SYS_SELECT /**/
/* I_SYS_TIMES:
* This symbol, if defined, indicates to the C program that it should
@@ -1171,6 +1189,12 @@
*/
/*#define I_SYS_UN /**/
+/* I_SYS_WAIT:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/wait.h>.
+ */
+/*#define I_SYS_WAIT /**/
+
/* I_TERMIO:
* This symbol, if defined, indicates that the program should include
* <termio.h> rather than <sgtty.h>. There are also differences in
@@ -1219,12 +1243,39 @@
*/
/*#define I_UTIME /**/
+/* I_STDARG:
+ * This symbol, if defined, indicates that <stdarg.h> exists and should
+ * be included.
+ */
+/* I_VARARGS:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <varargs.h>.
+ */
+#define I_STDARG /**/
+/*#define I_VARARGS /**/
+
/* I_VFORK:
* This symbol, if defined, indicates to the C program that it should
* include vfork.h.
*/
/*#define I_VFORK /**/
+/* INTSIZE:
+ * This symbol contains the value of sizeof(int) so that the C
+ * preprocessor can make decisions based on it.
+ */
+/* LONGSIZE:
+ * This symbol contains the value of sizeof(long) so that the C
+ * preprocessor can make decisions based on it.
+ */
+/* SHORTSIZE:
+ * This symbol contains the value of sizeof(short) so that the C
+ * preprocessor can make decisions based on it.
+ */
+#define INTSIZE 4 /**/
+#define LONGSIZE 4 /**/
+#define SHORTSIZE 2 /**/
+
/* Off_t:
* This symbol holds the type used to declare offsets in the kernel.
* It can be int, long, off_t, etc... It may be necessary to include
@@ -1240,6 +1291,33 @@
*/
#define Mode_t mode_t /* file mode parameter for system calls */
+/* VAL_O_NONBLOCK:
+ * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
+ * non-blocking I/O for the file descriptor. Note that there is no way
+ * back, i.e. you cannot turn it blocking again this way. If you wish to
+ * alternatively switch between blocking and non-blocking, use the
+ * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
+ */
+/* VAL_EAGAIN:
+ * This symbol holds the errno error code set by read() when no data was
+ * present on the non-blocking file descriptor.
+ */
+/* RD_NODATA:
+ * This symbol holds the return code from read() when no data is present
+ * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
+ * not defined, then you can't distinguish between no data and EOF by
+ * issuing a read(). You'll have to find another way to tell for sure!
+ */
+/* EOF_NONBLOCK:
+ * This symbol, if defined, indicates to the C program that a read() on
+ * a non-blocking file descriptor will return 0 on EOF, and not the value
+ * held in RD_NODATA (-1 usually, in that case!).
+ */
+#define VAL_O_NONBLOCK O_NONBLOCK
+#define VAL_EAGAIN EAGAIN
+#define RD_NODATA -1
+#define EOF_NONBLOCK
+
/* CAN_PROTOTYPE:
* If defined, this macro indicates that the C compiler can handle
* function prototypes.
@@ -1270,7 +1348,6 @@
* is defined, and 'int *' otherwise. This is only useful if you
* have select(), of course.
*/
-//#define Select_fd_set_t fd_set * /**/
#define Select_fd_set_t int * /**/
/* Size_t:
@@ -1304,40 +1381,71 @@
*/
#define Uid_t uid_t /* UID type */
-/* VMS:
- * This symbol, if defined, indicates that the program is running under
- * VMS. It is currently only set in conjunction with the EUNICE symbol.
- */
-/*#define VMS /**/
-
/* LOC_SED:
* This symbol holds the complete pathname to the sed program.
*/
-#define LOC_SED "/bin/sed" /**/
+#define LOC_SED "" /**/
+
+/* OSNAME:
+ * This symbol contains the name of the operating system, as determined
+ * by Configure. You shouldn't rely on it too much; the specific
+ * feature tests from Configure are generally more reliable.
+ */
+#define OSNAME "MSWin32" /**/
+/* ARCHLIB:
+ * This variable, if defined, holds the name of the directory in
+ * which the user wants to put architecture-dependent public
+ * library files for perl5. It is most often a local directory
+ * such as /usr/local/lib. Programs using this variable must be
+ * prepared to deal with filename expansion. If ARCHLIB is the
+ * same as PRIVLIB, it is not defined, since presumably the
+ * program already searches PRIVLIB.
+ */
/* ARCHLIB_EXP:
* This symbol contains the ~name expanded version of ARCHLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define ARCHLIB_EXP "/usr/local/lib/perl5/i86pc-solaris/5.002" /**/
+/* This added by hand */
+#define APPLLIB_EXP (win32PerlLibPath())
+
+#define ARCHLIB "C:\\perl\\lib" /**/
+/* #define ARCHLIB_EXP "C:\\perl\\lib" /**/
-/* OSNAME
- * This symbol defined the name of the OS. in our case WIN32
- * (we don't distinguish between NT or 95)
+/* BINCOMPAT3:
+ * This symbol, if defined, indicates that Perl 5.004 should be
+ * binary-compatible with Perl 5.003.
*/
-#define OSNAME "MSWin32"
+/*#define BINCOMPAT3 /**/
/* BYTEORDER:
- * This symbol hold the hexadecimal constant defined in byteorder,
+ * This symbol holds the hexadecimal constant defined in byteorder,
* i.e. 0x1234 or 0x4321, etc...
- */
+ * On NeXT 4 (and greater), you can build "Fat" Multiple Architecture
+ * Binaries (MAB) on either big endian or little endian machines.
+ * The endian-ness is available at compile-time. This only matters
+ * for perl, where the config.h can be generated and installed on
+ * one system, and used by a different architecture to build an
+ * extension. Older versions of NeXT that might not have
+ * defined either *_ENDIAN__ were all on Motorola 680x0 series,
+ * so the default case (for NeXT) is big endian to catch them.
+ * This might matter for NeXT 3.0.
+ */
+#ifndef NeXT
#define BYTEORDER 0x1234 /* large digits for MSB */
+#else /* NeXT */
+#ifdef __LITTLE_ENDIAN__
+#define BYTEORDER 0x1234
+#else /* __BIG_ENDIAN__ */
+#define BYTEORDER 0x4321
+#endif /* ENDIAN CHECK */
+#endif /* NeXT */
/* CSH:
* This symbol, if defined, indicates that the C-shell exists.
* If defined, contains the full pathname of csh.
*/
-#define CSH "/bin/csh" /**/
+/*#define CSH "" /**/
/* DLSYM_NEEDS_UNDERSCORE:
* This symbol, if defined, indicates that we need to prepend an
@@ -1345,7 +1453,7 @@
* makes sense if you *have* dlsym, which we will presume is the
* case if you're using dl_dlopen.xs.
*/
-/*#define DLSYM_NEEDS_UNDERSCORE /* */
+/*#define DLSYM_NEEDS_UNDERSCORE /**/
/* SETUID_SCRIPTS_ARE_SECURE_NOW:
* This symbol, if defined, indicates that the bug that prevents
@@ -1364,7 +1472,7 @@
* subprocesses to which it must pass the filename rather than the
* file descriptor of the script to be executed.
*/
-#define SETUID_SCRIPTS_ARE_SECURE_NOW /**/
+/*#define SETUID_SCRIPTS_ARE_SECURE_NOW /**/
/*#define DOSUID /**/
/* Gconvert:
@@ -1382,30 +1490,87 @@
* d_Gconvert='sprintf((b),"%.*g",(n),(x))'
* The last two assume trailing zeros should not be kept.
*/
-/* WIN32 ?? */
#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
+/* HAS_GETPGID:
+ * This symbol, if defined, indicates to the C program that
+ * the getpgid(pid) function is available to get the
+ * process group id.
+ */
+/*#define HAS_GETPGID /**/
+
+/* HAS_GETPGRP:
+ * This symbol, if defined, indicates that the getpgrp routine is
+ * available to get the current process group.
+ */
+/* USE_BSD_GETPGRP:
+ * This symbol, if defined, indicates that getpgrp needs one
+ * arguments whereas USG one needs none.
+ */
+/*#define HAS_GETPGRP /**/
+/*#define USE_BSD_GETPGRP /**/
+
+/* HAS_INET_ATON:
+ * This symbol, if defined, indicates to the C program that the
+ * inet_aton() function is available to parse IP address "dotted-quad"
+ * strings.
+ */
+/*#define HAS_INET_ATON /**/
+
+/* HAS_SETPGID:
+ * This symbol, if defined, indicates to the C program that
+ * the setpgid(pid, gpid) function is available to set the
+ * process group id.
+ */
+/*#define HAS_SETPGID /**/
+
+/* HAS_SETPGRP:
+ * This symbol, if defined, indicates that the setpgrp routine is
+ * available to set the current process group.
+ */
+/* USE_BSD_SETPGRP:
+ * This symbol, if defined, indicates that setpgrp needs two
+ * arguments whereas USG one needs none. See also HAS_SETPGID
+ * for a POSIX interface.
+ */
+/* USE_BSDPGRP:
+ * This symbol, if defined, indicates that the BSD notion of process
+ * group is to be used. For instance, you have to say setpgrp(pid, pgrp)
+ * instead of the USG setpgrp(). This should be obsolete since
+ * there are systems which have BSD-ish setpgrp but USG-ish getpgrp.
+ */
+/*#define HAS_SETPGRP /**/
+/*#define USE_BSD_SETPGRP /**/
+/*#define USE_BSDPGRP /**/
+
+/* USE_SFIO:
+ * This symbol, if defined, indicates that sfio should
+ * be used.
+ */
+/*#define USE_SFIO /**/
+
/* Sigjmp_buf:
- * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
+ * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
*/
/* Sigsetjmp:
- * This macro is used in the same way as sigsetjmp(), but will invoke
- * traditional setjmp() if sigsetjmp isn't available.
+ * This macro is used in the same way as sigsetjmp(), but will invoke
+ * traditional setjmp() if sigsetjmp isn't available.
+ * See HAS_SIGSETJMP.
*/
/* Siglongjmp:
- * This macro is used in the same way as siglongjmp(), but will invoke
- * traditional longjmp() if siglongjmp isn't available.
+ * This macro is used in the same way as siglongjmp(), but will invoke
+ * traditional longjmp() if siglongjmp isn't available.
+ * See HAS_SIGSETJMP.
*/
-/* #define HAS_SIGSETJMP /**/
-
+/*#define HAS_SIGSETJMP /**/
#ifdef HAS_SIGSETJMP
#define Sigjmp_buf sigjmp_buf
-#define Sigsetjmp(buf,save_mask) sigsetjmp(buf,save_mask)
-#define Siglongjmp(buf,retval) siglongjmp(buf,retval)
+#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
+#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
#else
#define Sigjmp_buf jmp_buf
-#define Sigsetjmp(buf,save_mask) setjmp(buf)
-#define Siglongjmp(buf,retval) longjmp(buf,retval)
+#define Sigsetjmp(buf,save_mask) setjmp((buf))
+#define Siglongjmp(buf,retval) longjmp((buf),(retval))
#endif
/* USE_DYNAMIC_LOADING:
@@ -1431,28 +1596,25 @@
*/
#define I_LOCALE /**/
+/* I_SFIO:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sfio.h>.
+ */
+/*#define I_SFIO /**/
+
/* I_SYS_STAT:
* This symbol, if defined, indicates to the C program that it should
* include <sys/stat.h>.
*/
#define I_SYS_STAT /**/
-/* I_STDARG:
- * This symbol, if defined, indicates that <stdarg.h> exists and should
- * be included.
- */
-/* I_VARARGS:
+/* I_VALUES:
* This symbol, if defined, indicates to the C program that it should
- * include <varargs.h>.
+ * include <values.h> to get definition of symbols like MINFLOAT or
+ * MAXLONG, i.e. machine dependant limitations. Probably, you
+ * should use <limits.h> instead, if it is available.
*/
-#define I_STDARG /**/
-/*#define I_VARARGS /**/
-
-/* INTSIZE:
- * This symbol contains the size of an int, so that the C preprocessor
- * can make decisions based on it.
- */
-#define INTSIZE 4 /**/
+/*#define I_VALUES /**/
/* Free_t:
* This variable contains the return type of free(). It is usually
@@ -1469,51 +1631,40 @@
*/
/*#define MYMALLOC /**/
-/* VAL_O_NONBLOCK:
- * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- * non-blocking I/O for the file descriptor. Note that there is no way
- * back, i.e. you cannot turn it blocking again this way. If you wish to
- * alternatively switch between blocking and non-blocking, use the
- * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
- */
-/* VAL_EAGAIN:
- * This symbol holds the errno error code set by read() when no data was
- * present on the non-blocking file descriptor.
- */
-/* RD_NODATA:
- * This symbol holds the return code from read() when no data is present
- * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- * not defined, then you can't distinguish between no data and EOF by
- * issuing a read(). You'll have to find another way to tell for sure!
+/* OLDARCHLIB:
+ * This variable, if defined, holds the name of the directory in
+ * which the user has perl5.000 or perl5.001 architecture-dependent
+ * public library files for perl5. For the most part, these
+ * files will work with 5.002 (and later), but that is not
+ * guaranteed.
*/
-/* EOF_NONBLOCK:
- * This symbol, if defined, indicates to the C program that a read() on
- * a non-blocking file descriptor will return 0 on EOF, and not the value
- * held in RD_NODATA (-1 usually, in that case!).
- */
-#define VAL_O_NONBLOCK O_NONBLOCK
-#define VAL_EAGAIN EAGAIN
-#define RD_NODATA -1
-#define EOF_NONBLOCK
-
/* OLDARCHLIB_EXP:
* This symbol contains the ~name expanded version of OLDARCHLIB, to be
* used in programs that are not prepared to deal with ~ expansion at
* run-time.
*/
+/*#define OLDARCHLIB "" /**/
/*#define OLDARCHLIB_EXP "" /**/
+/* PRIVLIB:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ */
/* PRIVLIB_EXP:
* This symbol contains the ~name expanded version of PRIVLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define PRIVLIB_EXP (win32PerlLibPath()) /**/
+#define PRIVLIB "C:\\perl\\lib" /**/
+#define PRIVLIB_EXP "C:\\perl\\lib" /**/
/* SH_PATH:
* This symbol contains the full pathname to the shell used on this
* on this system to execute Bourne shell scripts. Usually, this will be
* /bin/sh, though it's possible that some systems will have /bin/ksh,
- * /bin/pdksh, /bin/ash, /bin/bash, or even something such as D:/bin/sh.
+ * /bin/pdksh, /bin/ash, /bin/bash, or even something such as
+ * D:/bin/sh.exe.
*/
#define SH_PATH "/bin/sh" /**/
@@ -1548,24 +1699,51 @@
#define SIG_NAME "ZERO","HUP","INT","QUIT","ILL","TRAP","ABRT","EMT","FPE","KILL","BUS","SEGV","SYS","PIPE","ALRM","TERM","USR1","USR2","CHLD","PWR","WINCH","URG","IO","STOP","TSTP","CONT","TTIN","TTOU","VTALRM","PROF","XCPU","XFSZ","WAITING","LWP","FREEZE","THAW","RTMIN","NUM37","NUM38","NUM39","NUM40","NUM41","NUM42","RTMAX","IOT","CLD","POLL",0 /**/
#define SIG_NUM 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,6,18,22,0 /**/
+/* SITEARCH:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ * The standard distribution will put nothing in this directory.
+ * Individual sites may place their own extensions and modules in
+ * this directory.
+ */
/* SITEARCH_EXP:
* This symbol contains the ~name expanded version of SITEARCH, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define SITEARCH_EXP "/usr/local/lib/perl5/site_perl/i86pc-solaris" /**/
+#define SITEARCH "C:\\perl\\lib\\site" /**/
+/* #define SITEARCH_EXP "C:\\perl\\lib\\site" /**/
+/* SITELIB:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ * The standard distribution will put nothing in this directory.
+ * Individual sites may place their own extensions and modules in
+ * this directory.
+ */
/* SITELIB_EXP:
* This symbol contains the ~name expanded version of SITELIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define SITELIB_EXP "/usr/local/lib/perl5/site_perl" /**/
+#define SITELIB "C:\\perl\\lib\\site" /**/
+#define SITELIB_EXP "C:\\perl\\lib\\site" /**/
/* STARTPERL:
* This variable contains the string to put in front of a perl
* script to make sure (one hopes) that it runs with perl and not
* some shell.
*/
-#define STARTPERL "#!/usr/local/bin/perl" /**/
+#define STARTPERL "#perl" /**/
+
+/* USE_PERLIO:
+ * This symbol, if defined, indicates that the PerlIO abstraction should
+ * be used throughout. If not defined, stdio should be
+ * used in a fully backward compatible manner.
+ */
+/*#define USE_PERLIO /**/
/* VOIDFLAGS:
* This symbol indicates how much support of the void type is given by this
diff --git a/win32/config.w32 b/win32/config.w32
index 7525eeb252..116762202e 100644
--- a/win32/config.w32
+++ b/win32/config.w32
@@ -5,25 +5,25 @@
## Target system: WIN32
#
-archlibexp='d:/temp/b/perl5.002/lib'
+archlibexp='C:\perl\lib'
archname='MSWin32'
cc='cl'
-ccflags='-Id:/msdev/include -Id:/temp'
-cppflags='-I/usr/local/include'
+ccflags=''
+cppflags=''
dlsrc='dl_win32.xs'
dynamic_ext='Fcntl IO Opcode SDBM_File Socket'
extensions='Fcntl IO Opcode SDBM_File Socket'
-installarchlib='/u1/garyng/tmp/lib/5.002'
-installprivlib='/u1/garyng/tmp/lib/perl5'
-libpth='/usr/local/lib /lib /usr/lib /usr/ucblib'
-libs='-lgdbm -ldbm -ldl -lm -lc -lposix'
+installarchlib='C:\perl\lib'
+installprivlib='C:\perl\lib'
+libpth=''
+libs=''
osname='MSWin32'
osvers='4.0'
-prefix='~garyng/tmp'
-privlibexp='/u1/garyng/tmp/lib/perl5'
+prefix='C:'
+privlibexp='C:\perl\lib'
sharpbang='#!'
shsharp='true'
-sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH LOST USR1 USR2 IOT CLD POLL '
+sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CHLD PWR WINCH URG IO STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ WAITING LWP FREEZE THAW RTMIN NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 RTMAX IOT CLD POLL'
so='dll'
startsh='#!/bin/sh'
static_ext=' '
@@ -35,7 +35,7 @@ Id='$Id'
Locker=''
Log='$Log'
Mcc='Mcc'
-PATCHLEVEL='2'
+PATCHLEVEL='3'
POSIX_cflags='ccflags="$ccflags -DSTRUCT_TM_HASZONE"'
RCSfile='$RCSfile'
Revision='$Revision'
@@ -46,20 +46,20 @@ afs='false'
alignbytes='8'
aphostname=''
ar='ar'
-archlib='~garyng/tmp/lib/perl5/sun4-sunos/5.002'
+archlib='C:\perl\lib'
archobjs=''
awk='awk'
baserev='5.0'
bash=''
-bin='~garyng/tmp/bin'
-binexp='/u1/garyng/tmp/bin'
+bin='C:\perl\bin'
+binexp='C:\perl\bin'
bison=''
byacc='byacc'
byteorder='1234'
c=''
castflags='0'
cat='cat'
-cccdlflags='-pic'
+cccdlflags=''
ccdlflags=' '
cf_by='garyng'
cf_email='71564.1743@compuserve.com'
@@ -74,36 +74,39 @@ contains='grep'
cp='cp'
cpio=''
cpp='cpp'
-cpp_stuff='1'
+cpp_stuff='42'
cpplast=''
cppminus=''
-cpprun='/usr/lib/cpp'
-cppstdin='cppstdin'
+cpprun='cl -E'
+cppstdin='cl -E'
cryptlib=''
-csh='csh'
-d_Gconvert='gconvert((x),(n),(t),(b))'
+csh='undef'
+d_Gconvert='sprintf((b),"%.*g",(n),(x))'
d_access='define'
d_alarm='define'
d_archlib='define'
d_attribut='undef'
-d_bcmp='define'
-d_bcopy='define'
+d_bcmp='undef'
+d_bcopy='undef'
+d_bincompat3='undef'
d_bsd='define'
-d_bsdpgrp='define'
-d_bzero='define'
+d_bsdgetpgrp='undef'
+d_bsdpgrp='undef'
+d_bsdsetpgrp='undef'
+d_bzero='undef'
d_casti32='define'
d_castneg='define'
-d_charvspr='define'
-d_chown='define'
-d_chroot='define'
-d_chsize='undef'
+d_charvspr='undef'
+d_chown='undef'
+d_chroot='undef'
+d_chsize='define'
d_closedir='define'
-d_const='undef'
-d_crypt='define'
-d_csh='define'
-d_cuserid='define'
-d_dbl_dig='undef'
-d_difftime='undef'
+d_const='define'
+d_crypt='undef'
+d_csh='undef'
+d_cuserid='undef'
+d_dbl_dig='define'
+d_difftime='define'
d_dirnamlen='define'
d_dlerror='define'
d_dlopen='define'
@@ -112,109 +115,114 @@ d_dosuid='undef'
d_dup2='define'
d_eofnblk='define'
d_eunice='undef'
-d_fchmod='define'
-d_fchown='define'
-d_fcntl='define'
+d_fchmod='undef'
+d_fchown='undef'
+d_fcntl='undef'
d_fd_macros='define'
d_fd_set='define'
d_fds_bits='define'
-d_fgetpos='undef'
+d_fgetpos='define'
d_flexfnam='define'
-d_flock='define'
-d_fork='define'
-d_fpathconf='define'
-d_fsetpos='undef'
-d_getgrps='define'
+d_flock='undef'
+d_fork='undef'
+d_fpathconf='undef'
+d_fsetpos='define'
+d_getgrps='undef'
d_gethent='undef'
d_gethname='undef'
-d_getlogin='define'
+d_getlogin='undef'
d_getpgrp2='undef'
-d_getpgrp='define'
-d_getppid='define'
-d_getprior='define'
+d_getpgrp='undef'
+d_getpgid='undef'
+d_getppid='undef'
+d_getprior='undef'
+d_gettimeod='undef'
d_htonl='define'
d_index='undef'
+d_inetaton='undef'
d_isascii='define'
-d_killpg='define'
-d_link='define'
+d_killpg='undef'
+d_link='undef'
d_locconv='define'
-d_lockf='define'
-d_lstat='define'
+d_lockf='undef'
+d_lstat='undef'
d_mblen='define'
d_mbstowcs='define'
d_mbtowc='define'
d_memcmp='define'
d_memcpy='define'
-d_memmove='undef'
+d_memmove='define'
d_memset='define'
d_mkdir='define'
-d_mkfifo='define'
+d_mkfifo='undef'
d_mktime='define'
-d_msg='define'
+d_msg='undef'
d_msgctl='define'
d_msgget='define'
d_msgrcv='define'
d_msgsnd='define'
-d_mymalloc='define'
-d_nice='define'
+d_mymalloc='undef'
+d_nice='undef'
d_oldarchlib='undef'
d_oldsock='undef'
-d_open3='define'
-d_pathconf='define'
+d_open3='undef'
+d_pathconf='undef'
d_pause='define'
d_phostname='undef'
d_pipe='define'
-d_poll='define'
+d_poll='undef'
d_portable='define'
-d_pwage='define'
+d_pwage='undef'
d_pwchange='undef'
d_pwclass='undef'
-d_pwcomment='define'
+d_pwcomment='undef'
d_pwexpire='undef'
d_pwquota='undef'
d_readdir='define'
-d_readlink='define'
+d_readlink='undef'
d_rename='define'
d_rewinddir='define'
d_rmdir='define'
-d_safebcpy='define'
+d_safebcpy='undef'
d_safemcpy='undef'
+d_sanemcmp='define'
d_seekdir='define'
d_select='define'
-d_sem='define'
+d_sem='undef'
d_semctl='define'
d_semget='define'
d_semop='define'
-d_setegid='define'
-d_seteuid='define'
-d_setlinebuf='define'
+d_setegid='undef'
+d_seteuid='undef'
+d_setlinebuf='undef'
d_setlocale='define'
-d_setpgid='define'
+d_setpgid='undef'
d_setpgrp2='undef'
-d_setpgrp='define'
-d_setprior='define'
-d_setregid='define'
+d_setpgrp='undef'
+d_setprior='undef'
+d_setregid='undef'
d_setresgid='undef'
d_setresuid='undef'
-d_setreuid='define'
-d_setrgid='define'
-d_setruid='define'
-d_setsid='define'
-d_shm='define'
-d_shmat='define'
+d_setreuid='undef'
+d_setrgid='undef'
+d_setruid='undef'
+d_setsid='undef'
+d_sfio='undef';
+d_shm='undef'
+d_shmat='undef'
d_shmatprototype='undef'
d_shmctl='define'
d_shmdt='define'
d_shmget='define'
d_shrplib='undef'
-d_sigaction='define'
+d_sigaction='undef'
d_sigintrp=''
-d_sigsetjmp='define'
+d_sigsetjmp='undef'
d_sigvec='define'
d_sigvectr='undef'
d_socket='define'
-d_sockpair='define'
-d_statblks='define'
+d_sockpair='undef'
+d_statblks='undef'
d_stdio_cnt_lval='define'
d_stdio_ptr_lval='define'
d_stdiobase='define'
@@ -222,33 +230,36 @@ d_stdstdio='define'
d_strchr='define'
d_strcoll='define'
d_strctcpy='define'
-d_strerrm='((e)<0||(e)>=sys_nerr?"unknown":sys_errlist[e])'
-d_strerror='undef'
+d_strerrm='strerror(e)'
+d_strerror='define'
+d_strtod='define'
+d_strtol='define'
+d_strtoul='define'
d_strxfrm='define'
d_suidsafe='undef'
-d_symlink='define'
-d_syscall='define'
-d_sysconf='define'
+d_symlink='undef'
+d_syscall='undef'
+d_sysconf='undef'
d_sysernlst=''
d_syserrlst='define'
d_system='define'
-d_tcgetpgrp='define'
-d_tcsetpgrp='define'
+d_tcgetpgrp='undef'
+d_tcsetpgrp='undef'
d_telldir='define'
d_time='define'
d_times='define'
-d_truncate='define'
-d_tzname='undef'
+d_truncate='undef'
+d_tzname='define'
d_umask='define'
-d_uname='define'
-d_vfork='define'
+d_uname='undef'
+d_vfork='undef'
d_void_closedir='undef'
d_voidsig='define'
d_voidtty=''
-d_volatile='undef'
+d_volatile='define'
d_vprintf='define'
-d_wait4='define'
-d_waitpid='define'
+d_wait4='undef'
+d_waitpid='undef'
d_wcstombs='define'
d_wctomb='define'
d_xenix='undef'
@@ -256,29 +267,29 @@ date='date'
db_hashtype='int'
db_prefixtype='int'
defvoidused='15'
-direntrytype='struct dirent'
-dlext='so'
+direntrytype='struct direct'
+dlext='dll'
eagain='EAGAIN'
echo='echo'
egrep='egrep'
emacs=''
eunicefix=':'
-exe_ext=''
+exe_ext='.exe'
expr='expr'
find='find'
firstmakefile='makefile'
flex=''
-fpostype='long'
-freetype='int'
-full_csh='/usr/bin/csh'
-full_sed='/usr/bin/sed'
+fpostype='fpos_t'
+freetype='void'
+full_csh=''
+full_sed=''
gcc=''
gccversion=''
gidtype='gid_t'
glibpth='/usr/shlib /lib/pa1.1 /usr/lib/large /lib /usr/lib /usr/lib/386 /lib/386 /lib/large /usr/lib/small /lib/small /usr/ccs/lib /usr/ucblib /usr/shlib '
grep='grep'
groupcat=''
-groupstype='int'
+groupstype='gid_t'
h_fcntl='false'
h_sysfile='true'
hint='recommended'
@@ -286,76 +297,80 @@ hostcat='ypcat hosts'
huge=''
i_bsdioctl=''
i_db='undef'
-i_dbm='define'
+i_dbm='undef'
i_dirent='define'
i_dld='undef'
i_dlfcn='define'
-i_fcntl='undef'
-i_float='undef'
+i_fcntl='define'
+i_float='define'
i_gdbm='define'
i_grp='define'
i_limits='define'
i_locale='define'
i_malloc='define'
i_math='define'
-i_memory='define'
+i_memory='undef'
i_ndbm='define'
i_neterrno='undef'
-i_niin='define'
-i_pwd='define'
-i_rpcsvcdbm='undef'
+i_niin='undef'
+i_pwd='undef'
+i_rpcsvcdbm='define'
+i_sfio='undef'
i_sgtty='undef'
-i_stdarg='undef'
+i_stdarg='define'
i_stddef='define'
i_stdlib='define'
i_string='define'
-i_sysdir='define'
-i_sysfile='define'
+i_sysdir='undef'
+i_sysfile='undef'
i_sysfilio='define'
i_sysin='undef'
-i_sysioctl='define'
+i_sysioctl='undef'
i_sysndir='undef'
-i_sysparam='define'
+i_sysparam='undef'
+i_sysresrc='undef'
i_sysselct='undef'
i_syssockio=''
i_sysstat='define'
-i_systime='define'
+i_systime='undef'
i_systimek='undef'
-i_systimes='define'
+i_systimes='undef'
i_systypes='define'
-i_sysun='define'
+i_sysun='undef'
+i_syswait='undef'
i_termio='undef'
-i_termios='define'
-i_time='undef'
-i_unistd='define'
-i_utime='define'
-i_varargs='define'
+i_termios='undef'
+i_time='define'
+i_unistd='undef'
+i_utime='undef'
+i_values='undef'
+i_varargs='undef'
i_varhdr='varargs.h'
-i_vfork='define'
+i_vfork='undef'
incpath=''
inews=''
-installbin='/u1/garyng/tmp/bin'
-installman1dir='/u1/garyng/tmp/man/man1'
-installman3dir='/u1/garyng/tmp/lib/perl5/man/man3'
-installscript='/u1/garyng/tmp/bin'
-installsitearch='/u1/garyng/tmp/lib/perl5/site_perl/sun4-sunos'
-installsitelib='/u1/garyng/tmp/lib/perl5/site_perl'
+installbin='C:\perl\bin'
+installman1dir='C:\perl\man\man1'
+installman3dir='C:\perl\lib\perl5\man\man3'
+installscript='C:\perl\bin'
+installsitearch='C:\perl\lib\site'
+installsitelib='C:\perl\lib\site'
intsize='4'
known_extensions='DB_File Fcntl GDBM_File NDBM_File ODBM_File Opcode POSIX SDBM_File Socket'
ksh=''
large=''
-ld='ld'
-lddlflags='-assert nodefinitions -L/usr/local/lib'
-ldflags=' -L/usr/local/lib'
+ld='link'
+lddlflags='-dll'
+ldflags='-nologo -subsystem:windows'
less='less'
-lib_ext='.a'
+lib_ext='.lib'
libc='/lib/libc.so.1.9.2'
libswanted='net socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m c cposix posix ndir dir crypt ucb bsd BSD PW x'
line='line'
lint=''
lkflags=''
-ln='ln'
-lns='/usr/bin/ln -s'
+ln=''
+lns=''
locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
longsize='4'
@@ -365,15 +380,15 @@ ls='ls'
lseektype='off_t'
mail=''
mailx=''
-make=''
+make='nmake'
mallocobj='malloc.o'
mallocsrc='malloc.c'
-malloctype='char *'
-man1dir='~garyng/tmp/man/man1'
-man1direxp='/u1/garyng/tmp/man/man1'
+malloctype='void *'
+man1dir='C:\perl\man\man1'
+man1direxp='C:\perl\man\man1'
man1ext='1'
-man3dir='~garyng/tmp/lib/perl5/man/man3'
-man3direxp='/u1/garyng/tmp/lib/perl5/man/man3'
+man3dir='C:\perl\lib\perl5\man\man3'
+man3direxp='C:\perl\lib\perl5\man\man3'
man3ext='3'
medium=''
mips=''
@@ -383,7 +398,7 @@ models='none'
modetype='mode_t'
more='more'
mv=''
-myarchname='sun4-sunos'
+myarchname='MSWin32'
mydomain=''
myhostname=''
myuname=''
@@ -398,43 +413,43 @@ oldarchlibexp=''
optimize='-O'
orderlib='false'
package='perl5'
-pager='/usr/local/bin/less'
+pager='cmd /c more'
passcat=''
patchlevel='2'
-path_sep=':'
+path_sep=';'
perl='perl'
perladmin=''
-perlpath='/u1/garyng/tmp/bin/perl'
+perlpath='C:\perl\bin\perl.exe'
pg='pg'
phostname='hostname'
plibpth=''
pmake=''
pr=''
-prefixexp='/u1/garyng/tmp'
-privlib='~garyng/tmp/lib/perl5'
-prototype='undef'
-randbits='31'
-ranlib='/usr/bin/ranlib'
+prefixexp='C:'
+privlib='C:\perl\lib'
+prototype='define'
+randbits='15'
+ranlib=''
rd_nodata='-1'
rm='rm'
rmail=''
runnm='true'
-scriptdir='~garyng/tmp/bin'
-scriptdirexp='/u1/garyng/tmp/bin'
+scriptdir='C:\perl\bin'
+scriptdirexp='C:\perl\bin'
sed='sed'
-selecttype='fd_set *'
+selecttype='int *'
sendmail='blat'
-sh=''
+sh='cmd /c'
shar=''
-shmattype='char *'
+shmattype='void *'
shortsize='2'
shrpdir='none'
-sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 6 20 23 '
+sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 6 18 22'
signal_t='void'
-sitearch='~garyng/tmp/lib/perl5/site_perl/sun4-sunos'
-sitearchexp='/u1/garyng/tmp/lib/perl5/site_perl/sun4-sunos'
-sitelib='~garyng/tmp/lib/perl5/site_perl'
-sitelibexp='/u1/garyng/tmp/lib/perl5/site_perl'
+sitearch='C:\perl\lib\site'
+sitearchexp='C:\perl\lib\site'
+sitelib='C:\perl\lib\site'
+sitelibexp='C:\perl\lib\site'
sizetype='size_t'
sleep=''
smail=''
@@ -446,7 +461,7 @@ spackage='Perl5'
spitshell='cat'
split=''
ssizetype='int'
-startperl='#!/u1/garyng/tmp/bin/perl'
+startperl='#perl'
stdchar='unsigned char'
stdio_base='((fp)->_base)'
stdio_bufsiz='((fp)->_cnt + (fp)->_ptr - (fp)->_base)'
@@ -470,6 +485,7 @@ uniq='uniq'
usedl='define'
usemymalloc='y'
usenm='true'
+useperlio='undef'
useposix='true'
usesafe='true'
usevfork='true'
diff --git a/win32/dl_win32.xs b/win32/dl_win32.xs
index 47d06c080e..7b227e299c 100644
--- a/win32/dl_win32.xs
+++ b/win32/dl_win32.xs
@@ -36,11 +36,11 @@ dl_private_init()
static int
dl_static_linked(char *filename)
{
- char **p;
+ char **p;
for (p = staticlinkmodules; *p;p++) {
- if (strstr(filename, *p)) return 1;
- };
- return 0;
+ if (strstr(filename, *p)) return 1;
+ };
+ return 0;
}
MODULE = DynaLoader PACKAGE = DynaLoader
@@ -55,10 +55,10 @@ dl_load_file(filename,flags=0)
PREINIT:
CODE:
DLDEBUG(1,fprintf(stderr,"dl_load_file(%s):\n", filename));
- if (dl_static_linked(filename) == 0)
- RETVAL = (void*) LoadLibraryEx(filename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH ) ;
- else
- RETVAL = (void*) GetModuleHandle(NULL);
+ if (dl_static_linked(filename) == 0)
+ RETVAL = (void*) LoadLibraryEx(filename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH ) ;
+ else
+ RETVAL = (void*) GetModuleHandle(NULL);
DLDEBUG(2,fprintf(stderr," libref=%x\n", RETVAL));
ST(0) = sv_newmortal() ;
if (RETVAL == NULL)
@@ -73,7 +73,7 @@ dl_find_symbol(libhandle, symbolname)
char * symbolname
CODE:
DLDEBUG(2,fprintf(stderr,"dl_find_symbol(handle=%x, symbol=%s)\n",
- libhandle, symbolname));
+ libhandle, symbolname));
RETVAL = (void*) GetProcAddress((HINSTANCE) libhandle, symbolname);
DLDEBUG(2,fprintf(stderr," symbolref = %x\n", RETVAL));
ST(0) = sv_newmortal() ;
@@ -98,8 +98,8 @@ dl_install_xsub(perl_name, symref, filename="$Package")
char * filename
CODE:
DLDEBUG(2,fprintf(stderr,"dl_install_xsub(name=%s, symref=%x)\n",
- perl_name, symref));
- ST(0)=sv_2mortal(newRV((SV*)newXS(perl_name, (void(*)())symref, filename)));
+ perl_name, symref));
+ ST(0)=sv_2mortal(newRV((SV*)newXS(perl_name, (void(*)(CV*))symref, filename)));
char *
diff --git a/win32/dosish.h b/win32/dosish.h
index cca452b9f2..8e423fa8fa 100644
--- a/win32/dosish.h
+++ b/win32/dosish.h
@@ -80,10 +80,10 @@ void Perl_DJGPP_init();
#define Fflush(fp) fflush(fp)
#define my_getenv(var) getenv(var)
-//
-// the following are standard library calls (stdio in particular)
-// that is being redirected to the perl DLL. This is needed for
-// Dynaloading any modules that called stdio functions
-//
+/*
+ * the following are standard library calls (stdio in particular)
+ * that is being redirected to the perl DLL. This is needed for
+ * Dynaloading any modules that called stdio functions
+ */
#include <win32iop.h>
diff --git a/win32/libperl.mak b/win32/libperl.mak
index 2298c1129e..3fe30ffa8d 100644
--- a/win32/libperl.mak
+++ b/win32/libperl.mak
@@ -86,9 +86,9 @@ CLEAN :
"$(INTDIR)" :
if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MT /W3 /GX /Od /I ".\include" /I ".." /I "." /D "WIN32" /D "NDEBUG" /D "PERLDLL" /D "_WINDOWS" /YX /c
-CPP_PROJ=/nologo /MT /W3 /GX /Od /I ".\include" /I ".." /I "." /D "WIN32" /D\
+# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MT /W3 /Od /I ".\include" /I ".." /I "." /D "WIN32" /D "NDEBUG" /D "PERLDLL" /D "_WINDOWS" /YX /c
+CPP_PROJ=/nologo /MT /W3 /Od /I ".\include" /I ".." /I "." /D "WIN32" /D\
"NDEBUG" /D "PERLDLL" /D "_WINDOWS" /Fp"$(INTDIR)/libperl.pch" /YX\
/Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
@@ -188,9 +188,9 @@ CLEAN :
"$(INTDIR)" :
if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MTd /W3 /GX /Z7 /Od /I ".\include" /I ".." /I "." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-CPP_PROJ=/nologo /MTd /W3 /GX /Z7 /Od /I ".\include" /I ".." /I "." /D "WIN32"\
+# ADD BASE CPP /nologo /W3 /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MTd /W3 /Z7 /Od /I ".\include" /I ".." /I "." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Z7 /Od /I ".\include" /I ".." /I "." /D "WIN32"\
/D "_DEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/libperl.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
CPP_SBRS=.\.
diff --git a/win32/makedef.pl b/win32/makedef.pl
index f118aaf215..dfd507a865 100644
--- a/win32/makedef.pl
+++ b/win32/makedef.pl
@@ -102,6 +102,7 @@ Perl_scan_str
Perl_scan_subst
Perl_scan_trans
Perl_scan_word
+Perl_setenv_getix
Perl_skipspace
Perl_sublex_done
Perl_sublex_start
@@ -134,6 +135,9 @@ Perl_safexcalloc
Perl_safexmalloc
Perl_safexfree
Perl_safexrealloc
+Perl_my_memcmp
+Perl_cshlen
+Perl_cshname
!END!OF!SKIP!
# All symbols have a Perl_ prefix because that's what embed.h
@@ -210,3 +214,47 @@ win32_inet_ntoa
win32_htons
win32_ntohs
win32_htonl
+win32_stat
+win32_errno
+win32_stderr
+win32_stdin
+win32_stdout
+win32_ferror
+win32_feof
+win32_strerror
+win32_fprintf
+win32_printf
+win32_vfprintf
+win32_fread
+win32_fwrite
+win32_fopen
+win32_fdopen
+win32_freopen
+win32_fclose
+win32_fputs
+win32_fputc
+win32_ungetc
+win32_getc
+win32_fileno
+win32_clearerr
+win32_fflush
+win32_ftell
+win32_fseek
+win32_fgetpos
+win32_fsetpos
+win32_rewind
+win32_tmpfile
+win32_abort
+win32_fstat
+win32_pipe
+win32_popen
+win32_pclose
+win32_setmode
+win32_open
+win32_close
+win32_dup
+win32_dup2
+win32_read
+win32_write
+win32_spawnvpe
+win32_spawnle
diff --git a/win32/miniperl.mak b/win32/miniperl.mak
index da3daf986f..9e6e2a4a15 100644
--- a/win32/miniperl.mak
+++ b/win32/miniperl.mak
@@ -64,9 +64,9 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /MT /W3 /GX /Od /I "." /I ".\include" /I ".." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "PERLDLL" /YX /c
-CPP_PROJ=/nologo /MT /W3 /GX /Od /I "." /I ".\include" /I ".." /D "NDEBUG" /D\
+# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MT /W3 /Od /I "." /I ".\include" /I ".." /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "PERLDLL" /YX /c
+CPP_PROJ=/nologo /MT /W3 /Od /I "." /I ".\include" /I ".." /D "NDEBUG" /D\
"WIN32" /D "_CONSOLE" /D "PERLDLL" /Fp"$(INTDIR)/miniperl.pch" /YX\
/Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
@@ -131,9 +131,9 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "." /I ".\include" /I ".." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "PERLDLL" /YX /c
-CPP_PROJ=/nologo /MTd /W3 /Gm /GX /Zi /Od /I "." /I ".\include" /I ".." /D\
+# ADD BASE CPP /nologo /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".\include" /I ".." /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "PERLDLL" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".\include" /I ".." /D\
"_DEBUG" /D "WIN32" /D "_CONSOLE" /D "PERLDLL" /Fp"$(INTDIR)/miniperl.pch" /YX\
/Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
@@ -364,7 +364,7 @@ NODEP_CPP_WIN32S=\
################################################################################
# Begin Source File
-SOURCE=.\win32aux.cpp
+SOURCE=.\win32aux.c
DEP_CPP_WIN32A=\
".\include\sys/socket.h"\
@@ -376,7 +376,7 @@ DEP_CPP_WIN32A=\
################################################################################
# Begin Source File
-SOURCE=.\win32io.cpp
+SOURCE=.\win32io.c
DEP_CPP_WIN32I=\
".\include\sys/socket.h"\
".\win32io.h"\
diff --git a/win32/modules.mak b/win32/modules.mak
index 2a6505e959..8c0a546ec2 100644
--- a/win32/modules.mak
+++ b/win32/modules.mak
@@ -53,22 +53,14 @@ ALL : ".\modules.lib"
CLEAN :
-@erase "$(INTDIR)\Dynaloader.obj"
- -@erase "$(INTDIR)\Fcntl.obj"
- -@erase "$(INTDIR)\hash.obj"
- -@erase "$(INTDIR)\IO.obj"
- -@erase "$(INTDIR)\Opcode.obj"
- -@erase "$(INTDIR)\pair.obj"
- -@erase "$(INTDIR)\sdbm.obj"
- -@erase "$(INTDIR)\SDBM_File.obj"
- -@erase "$(INTDIR)\Socket.obj"
-@erase ".\modules.lib"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I ".\include" /I "." /I ".." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "MSDOS" /YX /c
-CPP_PROJ=/nologo /MT /W3 /GX /O2 /I ".\include" /I "." /I ".." /D "NDEBUG" /D\
+# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "MSDOS" /YX /c
+CPP_PROJ=/nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "NDEBUG" /D\
"WIN32" /D "_WINDOWS" /D "MSDOS" /Fp"$(INTDIR)/modules.pch" /YX /Fo"$(INTDIR)/"\
/c
CPP_OBJS=.\Release/
@@ -84,15 +76,7 @@ LIB32=link.exe -lib
# ADD LIB32 /nologo /out:"modules.lib"
LIB32_FLAGS=/nologo /out:"modules.lib"
LIB32_OBJS= \
- "$(INTDIR)\Dynaloader.obj" \
- "$(INTDIR)\Fcntl.obj" \
- "$(INTDIR)\hash.obj" \
- "$(INTDIR)\IO.obj" \
- "$(INTDIR)\Opcode.obj" \
- "$(INTDIR)\pair.obj" \
- "$(INTDIR)\sdbm.obj" \
- "$(INTDIR)\SDBM_File.obj" \
- "$(INTDIR)\Socket.obj"
+ "$(INTDIR)\Dynaloader.obj"
".\modules.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
$(LIB32) @<<
@@ -118,22 +102,14 @@ ALL : ".\modules.lib"
CLEAN :
-@erase "$(INTDIR)\Dynaloader.obj"
- -@erase "$(INTDIR)\Fcntl.obj"
- -@erase "$(INTDIR)\hash.obj"
- -@erase "$(INTDIR)\IO.obj"
- -@erase "$(INTDIR)\Opcode.obj"
- -@erase "$(INTDIR)\pair.obj"
- -@erase "$(INTDIR)\sdbm.obj"
- -@erase "$(INTDIR)\SDBM_File.obj"
- -@erase "$(INTDIR)\Socket.obj"
-@erase ".\modules.lib"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MTd /W3 /GX /Z7 /Od /I ".\include" /I "." /I ".." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "MSDOS" /YX /c
-CPP_PROJ=/nologo /MTd /W3 /GX /Z7 /Od /I ".\include" /I "." /I ".." /D "_DEBUG"\
+# ADD BASE CPP /nologo /W3 /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MTd /W3 /Z7 /Od /I ".\include" /I "." /I ".." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "MSDOS" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Z7 /Od /I ".\include" /I "." /I ".." /D "_DEBUG"\
/D "WIN32" /D "_WINDOWS" /D "MSDOS" /Fp"$(INTDIR)/modules.pch" /YX\
/Fo"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
@@ -149,15 +125,7 @@ LIB32=link.exe -lib
# ADD LIB32 /nologo /out:"modules.lib"
LIB32_FLAGS=/nologo /out:"modules.lib"
LIB32_OBJS= \
- "$(INTDIR)\Dynaloader.obj" \
- "$(INTDIR)\Fcntl.obj" \
- "$(INTDIR)\hash.obj" \
- "$(INTDIR)\IO.obj" \
- "$(INTDIR)\Opcode.obj" \
- "$(INTDIR)\pair.obj" \
- "$(INTDIR)\sdbm.obj" \
- "$(INTDIR)\SDBM_File.obj" \
- "$(INTDIR)\Socket.obj"
+ "$(INTDIR)\Dynaloader.obj"
".\modules.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
$(LIB32) @<<
diff --git a/win32/perl.mak b/win32/perl.mak
index 13a1e18866..558717c97d 100644
--- a/win32/perl.mak
+++ b/win32/perl.mak
@@ -59,9 +59,9 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "." /I ".\include" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
-CPP_PROJ=/nologo /MT /W3 /GX /O2 /I "." /I ".\include" /I ".." /D "WIN32" /D\
+# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".\include" /I ".." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+CPP_PROJ=/nologo /MT /W3 /O2 /I "." /I ".\include" /I ".." /D "WIN32" /D\
"NDEBUG" /D "_CONSOLE" /Fp"$(INTDIR)/perl.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Release/
CPP_SBRS=.\.
@@ -119,9 +119,9 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "." /I ".\include" /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-CPP_PROJ=/nologo /MTd /W3 /Gm /GX /Zi /Od /I "." /I ".\include" /I ".." /D\
+# ADD BASE CPP /nologo /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".\include" /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".\include" /I ".." /D\
"WIN32" /D "_DEBUG" /D "_CONSOLE" /Fp"$(INTDIR)/perl.pch" /YX /Fo"$(INTDIR)/"\
/Fd"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
@@ -210,7 +210,7 @@ SOURCE=..\perl.lib
################################################################################
# Begin Source File
-SOURCE=.\win32io.cpp
+SOURCE=.\win32io.c
DEP_CPP_WIN32=\
".\include\sys/socket.h"\
".\win32io.h"\
diff --git a/win32/perldll.mak b/win32/perldll.mak
index 01aea72150..eb308771a3 100644
--- a/win32/perldll.mak
+++ b/win32/perldll.mak
@@ -70,9 +70,9 @@ CLEAN :
"$(INTDIR)" :
if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "." /I ".\include" /I ".." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PERLDLL" /YX /c
-CPP_PROJ=/nologo /MT /W3 /GX /O2 /I "." /I ".\include" /I ".." /D "NDEBUG" /D\
+# ADD BASE CPP /nologo /MT /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MT /W3 /O2 /I "." /I ".\include" /I ".." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PERLDLL" /YX /c
+CPP_PROJ=/nologo /MT /W3 /O2 /I "." /I ".\include" /I ".." /D "NDEBUG" /D\
"WIN32" /D "_WINDOWS" /D "PERLDLL" /Fp"$(INTDIR)/perldll.pch" /YX\
/Fo"$(INTDIR)/" /c
CPP_OBJS=.\release/
@@ -145,9 +145,9 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "." /I ".\include" /I ".." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "PERLDLL" /YX /c
-CPP_PROJ=/nologo /MTd /W3 /Gm /GX /Zi /Od /I "." /I ".\include" /I ".." /D\
+# ADD BASE CPP /nologo /MTd /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".\include" /I ".." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "PERLDLL" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Gm /Zi /Od /I "." /I ".\include" /I ".." /D\
"_DEBUG" /D "WIN32" /D "_WINDOWS" /D "PERLDLL" /Fp"$(INTDIR)/perldll.pch" /YX\
/Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c
CPP_OBJS=.\debug/
@@ -390,7 +390,7 @@ DEP_CPP_WIN32_=\
################################################################################
# Begin Source File
-SOURCE=.\win32aux.cpp
+SOURCE=.\win32aux.c
DEP_CPP_WIN32A=\
".\include\sys/socket.h"\
".\win32io.h"\
@@ -418,7 +418,7 @@ SOURCE=.\modules.lib
################################################################################
# Begin Source File
-SOURCE=.\win32io.cpp
+SOURCE=.\win32io.c
DEP_CPP_WIN32I=\
".\include\sys/socket.h"\
".\win32io.h"\
diff --git a/win32/perlglob.c b/win32/perlglob.c
index 6413b37ddd..87e8e90cd4 100644
--- a/win32/perlglob.c
+++ b/win32/perlglob.c
@@ -31,7 +31,7 @@ main(int argc, char *argv[])
}
}
- _setmode(_fileno(stdout), _O_BINARY);
+ _setmode(_fileno(stdout), _O_BINARY);
for (i = 1; i < argc; i++) {
len = strlen(argv[i]);
if (downcase)
diff --git a/win32/perlglob.mak b/win32/perlglob.mak
index 0a4c0bffcf..6a1dabf3c4 100644
--- a/win32/perlglob.mak
+++ b/win32/perlglob.mak
@@ -60,9 +60,9 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
-CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE"\
+# ADD BASE CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /c
+CPP_PROJ=/nologo /ML /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE"\
/Fp"$(INTDIR)/perlglob.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\release/
CPP_SBRS=
@@ -116,9 +116,9 @@ CLEAN :
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-CPP_PROJ=/nologo /MLd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE"\
+# ADD BASE CPP /nologo /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+# ADD CPP /nologo /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+CPP_PROJ=/nologo /MLd /W3 /Gm /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE"\
/Fp"$(INTDIR)/perlglob.pch" /YX /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c
CPP_OBJS=.\debug/
CPP_SBRS=
diff --git a/win32/perllib.c b/win32/perllib.c
index f35d41c8bf..13d4b8b000 100644
--- a/win32/perllib.c
+++ b/win32/perllib.c
@@ -1,12 +1,3 @@
-#ifdef ABC
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <io.h>
-#endif
-
/*
* "The Road goes ever on and on, down from the door where it began."
*/
@@ -27,94 +18,94 @@ extern "C" {
static void xs_init _((void));
-__declspec(dllexport) int RunPerl(int argc, char **argv, char **env, void *iosubsystem)
+__declspec(dllexport) int
+RunPerl(int argc, char **argv, char **env, void *iosubsystem)
{
- int exitstatus;
- PerlInterpreter *my_perl;
- void *pOldIOSubsystem;
+ int exitstatus;
+ PerlInterpreter *my_perl;
+ void *pOldIOSubsystem;
- pOldIOSubsystem = SetIOSubSystem(iosubsystem);
+ pOldIOSubsystem = SetIOSubSystem(iosubsystem);
PERL_SYS_INIT(&argc,&argv);
perl_init_i18nl10n(1);
- if (!(my_perl = perl_alloc())) return (1);
- perl_construct( my_perl );
- perl_destruct_level = 0;
-
+ if (!(my_perl = perl_alloc()))
+ return (1);
+ perl_construct( my_perl );
+ perl_destruct_level = 0;
exitstatus = perl_parse( my_perl, xs_init, argc, argv, env);
if (!exitstatus) {
exitstatus = perl_run( my_perl );
}
-
perl_destruct( my_perl );
perl_free( my_perl );
PERL_SYS_TERM();
- SetIOSubSystem(pOldIOSubsystem);
+ SetIOSubSystem(pOldIOSubsystem);
- return (exitstatus);
+ return (exitstatus);
}
/* Register any extra external extensions */
-char *staticlinkmodules[]={
- "DynaLoader",
- NULL,
- };
+char *staticlinkmodules[] = {
+ "DynaLoader",
+ NULL,
+};
EXTERN_C void boot_DynaLoader _((CV* cv));
static void
xs_init()
{
- dXSUB_SYS;
- char *file = __FILE__;
- newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file);
+ dXSUB_SYS;
+ char *file = __FILE__;
+ newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file);
}
extern HANDLE PerlDllHandle;
-BOOL APIENTRY DllMain(HANDLE hModule, // DLL module handle
- DWORD fdwReason, // reason called
- LPVOID lpvReserved) // reserved
+BOOL APIENTRY
+DllMain(HANDLE hModule, /* DLL module handle */
+ DWORD fdwReason, /* reason called */
+ LPVOID lpvReserved) /* reserved */
{
- switch (fdwReason)
- {
- // The DLL is attaching to a process due to process
- // initialization or a call to LoadLibrary.
- case DLL_PROCESS_ATTACH:
-//#define DEFAULT_BINMODE
+ switch (fdwReason) {
+ /* The DLL is attaching to a process due to process
+ * initialization or a call to LoadLibrary.
+ */
+ case DLL_PROCESS_ATTACH:
+/* #define DEFAULT_BINMODE */
#ifdef DEFAULT_BINMODE
- _setmode( _fileno( stdin ), _O_BINARY );
- _setmode( _fileno( stdout ), _O_BINARY );
- _setmode( _fileno( stderr ), _O_BINARY );
- _fmode = _O_BINARY;
+ _setmode( _fileno( stdin ), _O_BINARY );
+ _setmode( _fileno( stdout ), _O_BINARY );
+ _setmode( _fileno( stderr ), _O_BINARY );
+ _fmode = _O_BINARY;
#endif
+ PerlDllHandle = hModule;
+ break;
- PerlDllHandle = hModule;
- break;
+ /* The DLL is detaching from a process due to
+ * process termination or call to FreeLibrary.
+ */
+ case DLL_PROCESS_DETACH:
+ break;
- // The DLL is detaching from a process due to
- // process termination or call to FreeLibrary.
- case DLL_PROCESS_DETACH:
- break;
+ /* The attached process creates a new thread. */
+ case DLL_THREAD_ATTACH:
+ break;
- // The attached process creates a new thread.
- case DLL_THREAD_ATTACH:
- break;
+ /* The thread of the attached process terminates. */
+ case DLL_THREAD_DETACH:
+ break;
- // The thread of the attached process terminates.
- case DLL_THREAD_DETACH:
- break;
-
- default:
- break;
- }
- return TRUE;
+ default:
+ break;
+ }
+ return TRUE;
}
-
diff --git a/win32/splittree.pl b/win32/splittree.pl
index 9f7f929477..3c76daadb1 100644
--- a/win32/splittree.pl
+++ b/win32/splittree.pl
@@ -8,7 +8,7 @@ if (defined $d) {
while (defined($_ = $d->read)) {
next if $_ eq ".";
next if $_ eq "..";
- my $entry = "$base/$_";
+ my $entry = "$base\\$_";
my $entrywithouttop = $entry;
$entrywithouttop =~ s/^$top//;
if (-d $entry) {splitthis ($top,$entry,$dest);}
diff --git a/win32/win32.c b/win32/win32.c
index e9e5af2a5f..2e025ce152 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -1,18 +1,19 @@
-// WIN32.C
-
-// (c) 1995 Microsoft Corporation. All rights reserved.
-// Developed by hip communications inc., http://info.hip.com/info/
-// Portions (c) 1993 Intergraph Corporation. All rights reserved.
-
-// You may distribute under the terms of either the GNU General Public
-// License or the Artistic License, as specified in the README file.
+/* WIN32.C
+ *
+ * (c) 1995 Microsoft Corporation. All rights reserved.
+ * Developed by hip communications inc., http://info.hip.com/info/
+ * Portions (c) 1993 Intergraph Corporation. All rights reserved.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ */
#define WIN32_LEAN_AND_MEAN
#define WIN32IO_IS_STDIO
#include <tchar.h>
#include <windows.h>
-//#include "config.h"
+/* #include "config.h" */
#define PERLIO_NOT_STDIO 0
#if !defined(PERLIO_IS_STDIO) && !defined(USE_SFIO)
@@ -32,7 +33,7 @@
extern WIN32_IOSUBSYSTEM win32stdio;
__declspec(thread) PWIN32_IOSUBSYSTEM pIOSubSystem = &win32stdio;
-//__declspec(thread) PWIN32_IOSUBSYSTEM pIOSubSystem = NULL;
+/*__declspec(thread) PWIN32_IOSUBSYSTEM pIOSubSystem = NULL;*/
BOOL ProbeEnv = FALSE;
DWORD Win32System;
@@ -43,103 +44,109 @@ HANDLE PerlDllHandle = INVALID_HANDLE_VALUE;
#define IsWin95() (Win32System == VER_PLATFORM_WIN32_WINDOWS)
#define IsWinNT() (Win32System == VER_PLATFORM_WIN32_NT)
-void *SetIOSubSystem(void *p)
+void *
+SetIOSubSystem(void *p)
{
- if (p) {
- PWIN32_IOSUBSYSTEM pio = (PWIN32_IOSUBSYSTEM)p;
+ if (p) {
+ PWIN32_IOSUBSYSTEM pio = (PWIN32_IOSUBSYSTEM)p;
- if (pio->signature_begin == 12345678L && pio->signature_end == 87654321L) {
- PWIN32_IOSUBSYSTEM pold = pIOSubSystem;
- pIOSubSystem = pio;
- return pold;
- }
- }
- else {
- // re-assign our stuff
-// pIOSubSystem = &win32stdio;
- pIOSubSystem = NULL;
- }
+ if (pio->signature_begin == 12345678L
+ && pio->signature_end == 87654321L) {
+ PWIN32_IOSUBSYSTEM pold = pIOSubSystem;
+ pIOSubSystem = pio;
+ return pold;
+ }
+ }
+ else {
+ /* re-assign our stuff */
+/* pIOSubSystem = &win32stdio; */
+ pIOSubSystem = NULL;
+ }
+ return pIOSubSystem;
+}
+
+char *
+win32PerlLibPath(void)
+{
+ char *end;
+ GetModuleFileName((PerlDllHandle == INVALID_HANDLE_VALUE)
+ ? GetModuleHandle(NULL)
+ : PerlDllHandle,
+ szPerlLibRoot,
+ sizeof(szPerlLibRoot));
+
+ *(end = strrchr(szPerlLibRoot, '\\')) = '\0';
+ if (stricmp(end-4,"\\bin") == 0)
+ end -= 4;
+ strcpy(end,"\\lib");
+ return (szPerlLibRoot);
+}
- return pIOSubSystem;
-}
-
-char *win32PerlLibPath(void)
-{
-
- GetModuleFileName((PerlDllHandle == INVALID_HANDLE_VALUE)
- ? GetModuleHandle(NULL) : PerlDllHandle,
- szPerlLibRoot,
- sizeof(szPerlLibRoot));
-
- *(strrchr(szPerlLibRoot, '\\')) = '\0';
- strcat(szPerlLibRoot,"\\LIB");
- return (szPerlLibRoot);
-}
-
-BOOL HasRedirection(char *ptr)
-{
- int inquote = 0;
- char quote = '\0';
-
- //
- // Scan string looking for redirection (< or >) or pipe
- // characters (|) that are not in a quoted string
- //
- while(*ptr)
- {
- switch(*ptr)
- {
- case '\'':
- case '\"':
- if(inquote)
- {
- if(quote == *ptr)
- {
- inquote = 0;
- quote = '\0';
- }
- }
- else
- {
- quote = *ptr;
- inquote++;
- }
- break;
-
- case '>':
- case '<':
- case '|':
- if(!inquote)
- return TRUE;
-
- default:
- break;
+BOOL
+HasRedirection(char *ptr)
+{
+ int inquote = 0;
+ char quote = '\0';
+
+ /*
+ * Scan string looking for redirection (< or >) or pipe
+ * characters (|) that are not in a quoted string
+ */
+ while(*ptr) {
+ switch(*ptr) {
+ case '\'':
+ case '\"':
+ if(inquote) {
+ if(quote == *ptr) {
+ inquote = 0;
+ quote = '\0';
}
- ++ptr;
+ }
+ else {
+ quote = *ptr;
+ inquote++;
+ }
+ break;
+ case '>':
+ case '<':
+ case '|':
+ if(!inquote)
+ return TRUE;
+ default:
+ break;
}
- return FALSE;
+ ++ptr;
+ }
+ return FALSE;
}
-// since the current process environment is being updated in util.c
-// the library functions will get the correct environment
-PerlIO *my_popen(char *cmd, char *mode)
+/* since the current process environment is being updated in util.c
+ * the library functions will get the correct environment
+ */
+PerlIO *
+my_popen(char *cmd, char *mode)
{
#ifdef FIXCMD
-#define fixcmd(x) {\
- char *pspace = strchr((x),' ');\
- if (pspace) {\
- char *p = (x);\
- while (p < pspace) {\
- if (*p == '/') *p = '\\';\
- p++;\
- }\
- }\
- }
+#define fixcmd(x) { \
+ char *pspace = strchr((x),' '); \
+ if (pspace) { \
+ char *p = (x); \
+ while (p < pspace) { \
+ if (*p == '/') \
+ *p = '\\'; \
+ p++; \
+ } \
+ } \
+ }
#else
#define fixcmd(x)
#endif
-#ifndef PERLDLL
- fixcmd(cmd);
+
+#if 1
+/* was #ifndef PERLDLL, but the #else stuff doesn't work on NT
+ * GSAR 97/03/13
+ */
+ fixcmd(cmd);
return win32_popen(cmd, mode);
#else
/*
@@ -154,357 +161,355 @@ PerlIO *my_popen(char *cmd, char *mode)
#define EXT_C_FUNC extern
# endif
-EXT_C_FUNC int __cdecl _set_osfhnd(int fh, long value);
-EXT_C_FUNC void __cdecl _lock_fhandle(int);
-EXT_C_FUNC void __cdecl _unlock_fhandle(int);
-
- BOOL fSuccess;
- PerlIO *pf; // to store the _popen return value
- int tm = 0; /* flag indicating tDllExport or binary mode */
- int fhNeeded, fhInherited, fhDup;
- int ineeded, iinherited;
- DWORD dwDup;
- int phdls[2]; /* I/O handles for pipe */
- HANDLE hPIn,
- hPOut,
- hPErr,
- hSaveStdin,
- hSaveStdout,
- hSaveStderr,
- hPNeeded, hPInherited, hPDuped;
+ EXT_C_FUNC int __cdecl _set_osfhnd(int fh, long value);
+ EXT_C_FUNC void __cdecl _lock_fhandle(int);
+ EXT_C_FUNC void __cdecl _unlock_fhandle(int);
+
+ BOOL fSuccess;
+ PerlIO *pf; /* to store the _popen return value */
+ int tm = 0; /* flag indicating tDllExport or binary mode */
+ int fhNeeded, fhInherited, fhDup;
+ int ineeded, iinherited;
+ DWORD dwDup;
+ int phdls[2]; /* I/O handles for pipe */
+ HANDLE hPIn, hPOut, hPErr,
+ hSaveStdin, hSaveStdout, hSaveStderr,
+ hPNeeded, hPInherited, hPDuped;
- /* first check for errors in the arguments
- */
-
- if ( (cmd == NULL) || (mode == NULL) || ((*mode != 'w') &&
- (*mode != _T('r'))) )
- goto error1;
+ /* first check for errors in the arguments */
+ if ( (cmd == NULL) || (mode == NULL)
+ || ((*mode != 'w') && (*mode != _T('r'))) )
+ goto error1;
if ( *(mode + 1) == _T('t') )
- tm = _O_TEXT;
+ tm = _O_TEXT;
else if ( *(mode + 1) == _T('b') )
- tm = _O_BINARY;
- else tm = (*mode == 'w' ? _O_BINARY : _O_TEXT);
+ tm = _O_BINARY;
+ else
+ tm = (*mode == 'w' ? _O_BINARY : _O_TEXT);
- fixcmd(cmd);
- if (&win32stdio != pIOSubSystem) return win32_popen(cmd, mode);
+ fixcmd(cmd);
+ if (&win32stdio != pIOSubSystem)
+ return win32_popen(cmd, mode);
#ifdef EFG
if ( _pipe( phdls, 1024, tm ) == -1 )
#else
if ( win32_pipe( phdls, 1024, tm ) == -1 )
#endif
- goto error1;
-
-
- /* save the current situation */
-
- hSaveStdin = GetStdHandle(STD_INPUT_HANDLE);
- hSaveStdout = GetStdHandle(STD_OUTPUT_HANDLE);
- hSaveStderr = GetStdHandle(STD_ERROR_HANDLE);
-
- if (*mode == _T('w')) {
- ineeded = 1;
- dwDup = STD_INPUT_HANDLE;
- iinherited = 0;
- }
- else {
- ineeded = 0;
- dwDup = STD_OUTPUT_HANDLE;
- iinherited = 1;
- }
-
-
- fhNeeded = phdls[ineeded];
- fhInherited = phdls[iinherited];
-
- fSuccess = DuplicateHandle(GetCurrentProcess(),
- (HANDLE) stolen_get_osfhandle(fhNeeded),
- GetCurrentProcess(),
- &hPNeeded,
- 0,
- FALSE, /* not inherited */
- DUPLICATE_SAME_ACCESS);
-
- if (!fSuccess) goto error2;
-
- fhDup = stolen_open_osfhandle((long) hPNeeded, tm);
- win32_dup2(fhDup, fhNeeded);
- win32_close(fhDup);
+ goto error1;
+
+ /* save the current situation */
+ hSaveStdin = GetStdHandle(STD_INPUT_HANDLE);
+ hSaveStdout = GetStdHandle(STD_OUTPUT_HANDLE);
+ hSaveStderr = GetStdHandle(STD_ERROR_HANDLE);
+
+ if (*mode == _T('w')) {
+ ineeded = 1;
+ dwDup = STD_INPUT_HANDLE;
+ iinherited = 0;
+ }
+ else {
+ ineeded = 0;
+ dwDup = STD_OUTPUT_HANDLE;
+ iinherited = 1;
+ }
+
+ fhNeeded = phdls[ineeded];
+ fhInherited = phdls[iinherited];
+
+ fSuccess = DuplicateHandle(GetCurrentProcess(),
+ (HANDLE) stolen_get_osfhandle(fhNeeded),
+ GetCurrentProcess(),
+ &hPNeeded,
+ 0,
+ FALSE, /* not inherited */
+ DUPLICATE_SAME_ACCESS);
+
+ if (!fSuccess)
+ goto error2;
+
+ fhDup = stolen_open_osfhandle((long) hPNeeded, tm);
+ win32_dup2(fhDup, fhNeeded);
+ win32_close(fhDup);
#ifdef AAA
- /* Close the Out pipe, child won't need it */
- hPDuped = (HANDLE) stolen_get_osfhandle(fhNeeded);
+ /* Close the Out pipe, child won't need it */
+ hPDuped = (HANDLE) stolen_get_osfhandle(fhNeeded);
- _lock_fhandle(fhNeeded);
- _set_osfhnd(fhNeeded, (long) hPNeeded); // put in ours duplicated one
- _unlock_fhandle(fhNeeded);
+ _lock_fhandle(fhNeeded);
+ _set_osfhnd(fhNeeded, (long)hPNeeded); /* put in ours duplicated one */
+ _unlock_fhandle(fhNeeded);
- CloseHandle(hPDuped); // close the handle first
+ CloseHandle(hPDuped); /* close the handle first */
#endif
- if (!SetStdHandle(dwDup, (HANDLE) stolen_get_osfhandle(fhInherited))) goto error2;
+ if (!SetStdHandle(dwDup, (HANDLE) stolen_get_osfhandle(fhInherited)))
+ goto error2;
- //
- // make sure the child see the same stderr as the calling program
- //
- //
- if (!SetStdHandle(STD_ERROR_HANDLE, (HANDLE) stolen_get_osfhandle(win32_fileno(win32_stderr())))) goto error2;
+ /*
+ * make sure the child see the same stderr as the calling program
+ */
+ if (!SetStdHandle(STD_ERROR_HANDLE,
+ (HANDLE)stolen_get_osfhandle(win32_fileno(win32_stderr()))))
+ goto error2;
- pf = win32_popen(cmd, mode); // ask _popen to do the job
+ pf = win32_popen(cmd, mode); /* ask _popen to do the job */
- /* restore to where we were */
+ /* restore to where we were */
SetStdHandle(STD_INPUT_HANDLE, hSaveStdin);
SetStdHandle(STD_OUTPUT_HANDLE, hSaveStdout);
SetStdHandle(STD_ERROR_HANDLE, hSaveStderr);
- /* we don't need it any more, that's for the child */
- win32_close(fhInherited);
-
- if (NULL == pf) {
- // something wrong
- win32_close(fhNeeded);
- goto error1;
- }
- else {
-
- /*
- * here we steal the file handle in pf and stuff ours in
- *
- */
- win32_dup2(fhNeeded, win32_fileno(pf));
- win32_close(fhNeeded);
- }
+ /* we don't need it any more, that's for the child */
+ win32_close(fhInherited);
- return (pf);
+ if (NULL == pf) {
+ /* something wrong */
+ win32_close(fhNeeded);
+ goto error1;
+ }
+ else {
+ /*
+ * here we steal the file handle in pf and stuff ours in
+ */
+ win32_dup2(fhNeeded, win32_fileno(pf));
+ win32_close(fhNeeded);
+ }
+ return (pf);
error2:
- win32_close(fhNeeded);
- win32_close(fhInherited);
+ win32_close(fhNeeded);
+ win32_close(fhInherited);
error1:
- return (NULL);
+ return (NULL);
#endif
}
-long my_pclose(PerlIO *fp)
+long
+my_pclose(PerlIO *fp)
{
return win32_pclose(fp);
}
-static void IdOS(void)
+static void
+IdOS(void)
{
- OSVERSIONINFO osver;
+ OSVERSIONINFO osver;
- memset(&osver, 0, sizeof(OSVERSIONINFO));
- osver.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
- GetVersionEx(&osver);
- Win32System = osver.dwPlatformId;
- return;
+ memset(&osver, 0, sizeof(OSVERSIONINFO));
+ osver.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx(&osver);
+ Win32System = osver.dwPlatformId;
+ return;
}
-static char *GetShell(void)
+static char *
+GetShell(void)
{
- static char* szWin95ShellEntry = "Win95Shell";
- static char* szWin95DefaultShell = "Cmd32.exe";
- static char* szWinNTDefaultShell = "cmd.exe";
-
- if (!ProbeEnv) {
- IdOS(), ProbeEnv = TRUE;
- if (IsWin95()) {
- strcpy(szShellPath, szWin95DefaultShell);
- }
- else {
- strcpy(szShellPath, szWinNTDefaultShell);
- }
- }
-
- return szShellPath;
+ static char* szWin95ShellEntry = "Win95Shell";
+ static char* szWin95DefaultShell = "Cmd32.exe";
+ static char* szWinNTDefaultShell = "cmd.exe";
+
+ if (!ProbeEnv) {
+ IdOS(), ProbeEnv = TRUE;
+ if (IsWin95()) {
+ strcpy(szShellPath, szWin95DefaultShell);
+ }
+ else {
+ strcpy(szShellPath, szWinNTDefaultShell);
+ }
+ }
+ return szShellPath;
}
-int do_aspawn(void* really, void** mark, void** arglast)
+int
+do_aspawn(void* really, void** mark, void** arglast)
{
- char **argv;
- char *strPtr;
- char *cmd;
- int status;
- unsigned int length;
- int index = 0;
+ char **argv;
+ char *strPtr;
+ char *cmd;
+ int status;
+ unsigned int length;
+ int index = 0;
SV *sv = (SV*)really;
- SV** pSv = (SV**)mark;
-
- New(1110, argv, (arglast - mark) + 3, char*);
-
- if(sv != Nullsv)
- {
- cmd = SvPV(sv, length);
+ SV** pSv = (SV**)mark;
+
+ New(1110, argv, (arglast - mark) + 3, char*);
+
+ if(sv != Nullsv) {
+ cmd = SvPV(sv, length);
+ }
+ else {
+ cmd = GetShell();
+ argv[index++] = "/c";
+ }
+
+ while(pSv <= (SV**)arglast) {
+ sv = *pSv++;
+ strPtr = SvPV(sv, length);
+ if(strPtr != NULL && *strPtr != '\0')
+ argv[index++] = strPtr;
+ }
+ argv[index++] = 0;
+
+ status = win32_spawnvpe(P_WAIT, cmd, (const char* const*)argv,
+ (const char* const*)environ);
+
+ Safefree(argv);
+
+ /* set statusvalue the perl variable $? */
+ return (statusvalue = status*256);
+}
+
+int
+do_spawn(char *cmd)
+{
+ char **a;
+ char *s;
+ char **argv;
+ int status = -1;
+ BOOL needToTry = TRUE;
+ char *shell, *cmd2;
+
+ /* save an extra exec if possible */
+ shell = GetShell();
+
+ /* see if there are shell metacharacters in it */
+ if(!HasRedirection(cmd)) {
+ New(1102,argv, strlen(cmd) / 2 + 2, char*);
+ New(1103,cmd2, strlen(cmd) + 1, char);
+ strcpy(cmd2, cmd);
+ a = argv;
+ for (s = cmd2; *s;) {
+ while (*s && isspace(*s))
+ s++;
+ if (*s)
+ *(a++) = s;
+ while(*s && !isspace(*s))
+ s++;
+ if(*s)
+ *s++ = '\0';
}
- else
- {
- cmd = GetShell();
- argv[index++] = "/c";
+ *a = Nullch;
+ if(argv[0]) {
+ status = win32_spawnvpe(P_WAIT,
+ argv[0],
+ (const char* const*)argv,
+ (const char* const*)environ);
+ if(status != -1 || errno == 0)
+ needToTry = FALSE;
}
-
- while(pSv <= (SV**)arglast)
- {
- sv = *pSv++;
- strPtr = SvPV(sv, length);
- if(strPtr != NULL && *strPtr != '\0')
- argv[index++] = strPtr;
- }
- argv[index++] = 0;
-
- status = win32_spawnvpe(P_WAIT, cmd, (const char* const*)argv, (const char* const*)environ);
-
Safefree(argv);
+ Safefree(cmd2);
+ }
+ if(needToTry) {
+ status = win32_spawnle(P_WAIT,
+ shell,
+ shell,
+ "/c", cmd, (char*)0, environ);
+ }
- // set statusvalue the perl variable $?
- return (statusvalue = status*256);
-}
-
-int do_spawn(char *cmd)
-{
- char **a;
- char *s;
- char **argv;
- int status = -1;
- BOOL needToTry = TRUE;
- char *shell, *cmd2;
-
- /* save an extra exec if possible */
- shell = GetShell();
-
- /* see if there are shell metacharacters in it */
- if(!HasRedirection(cmd))
- {
- New(1102,argv, strlen(cmd) / 2 + 2, char*);
-
- New(1103,cmd2, strlen(cmd) + 1, char);
- strcpy(cmd2, cmd);
- a = argv;
- for(s = cmd2; *s;)
- {
- while(*s && isspace(*s)) s++;
- if(*s)
- *(a++) = s;
- while(*s && !isspace(*s)) s++;
- if(*s)
- *s++ = '\0';
- }
- *a = Nullch;
- if(argv[0])
- {
- status = win32_spawnvpe(P_WAIT, argv[0], (const char* const*)argv, (const char* const*)environ);
- if(status != -1 || errno == 0)
- needToTry = FALSE;
- }
- Safefree(argv);
- Safefree(cmd2);
- }
- if(needToTry)
- {
- status = win32_spawnle(P_WAIT, shell, shell, "/c", cmd, (char*)0, environ);
- }
-
- // set statusvalue the perl variable $?
- return (statusvalue = status*256);
+ /* set statusvalue the perl variable $? */
+ return (statusvalue = status*256);
}
#define PATHLEN 1024
-// The idea here is to read all the directory names into a string table
-// (separated by nulls) and when one of the other dir functions is called
-// return the pointer to the current file name.
-DIR *opendir(char *filename)
+/* The idea here is to read all the directory names into a string table
+ * (separated by nulls) and when one of the other dir functions is called
+ * return the pointer to the current file name.
+ */
+DIR *
+opendir(char *filename)
{
DIR *p;
- long len;
- long idx;
- char scannamespc[PATHLEN];
- char *scanname = scannamespc;
- struct stat sbuf;
- WIN32_FIND_DATA FindData;
- HANDLE fh;
-// char root[_MAX_PATH];
-// char volname[_MAX_PATH];
-// DWORD serial, maxname, flags;
-// BOOL downcase;
-// char *dummy;
-
- // check to see if filename is a directory
- if(stat(filename, &sbuf) < 0 || sbuf.st_mode & _S_IFDIR == 0)
- {
- return NULL;
- }
-
- // get the file system characteristics
-// if(GetFullPathName(filename, MAX_PATH, root, &dummy))
-// {
-// if(dummy = strchr(root, '\\'))
-// *++dummy = '\0';
-// if(GetVolumeInformation(root, volname, MAX_PATH, &serial, &maxname, &flags, 0, 0))
-// {
-// downcase = !(flags & FS_CASE_IS_PRESERVED);
-// }
-// }
-// else
-// {
-// downcase = TRUE;
-// }
-
- // Get us a DIR structure
- Newz(1501, p, 1, DIR);
- if(p == NULL)
- return NULL;
-
- // Create the search pattern
- strcpy(scanname, filename);
-
- if(index("/\\", *(scanname + strlen(scanname) - 1)) == NULL)
- strcat(scanname, "/*");
- else
- strcat(scanname, "*");
-
- // do the FindFirstFile call
- fh = FindFirstFile(scanname, &FindData);
- if(fh == INVALID_HANDLE_VALUE)
- {
- return NULL;
- }
-
- // now allocate the first part of the string table for the filenames that we find.
- idx = strlen(FindData.cFileName)+1;
- New(1502, p->start, idx, char);
- if(p->start == NULL)
- {
- CROAK("opendir: malloc failed!\n");
+ long len;
+ long idx;
+ char scannamespc[PATHLEN];
+ char *scanname = scannamespc;
+ struct stat sbuf;
+ WIN32_FIND_DATA FindData;
+ HANDLE fh;
+/* char root[_MAX_PATH];*/
+/* char volname[_MAX_PATH];*/
+/* DWORD serial, maxname, flags;*/
+/* BOOL downcase;*/
+/* char *dummy;*/
+
+ /* check to see if filename is a directory */
+ if(stat(filename, &sbuf) < 0 || sbuf.st_mode & _S_IFDIR == 0) {
+ return NULL;
+ }
+
+ /* get the file system characteristics */
+/* if(GetFullPathName(filename, MAX_PATH, root, &dummy)) {
+ * if(dummy = strchr(root, '\\'))
+ * *++dummy = '\0';
+ * if(GetVolumeInformation(root, volname, MAX_PATH, &serial,
+ * &maxname, &flags, 0, 0)) {
+ * downcase = !(flags & FS_CASE_IS_PRESERVED);
+ * }
+ * }
+ * else {
+ * downcase = TRUE;
+ * }
+ */
+ /* Get us a DIR structure */
+ Newz(1501, p, 1, DIR);
+ if(p == NULL)
+ return NULL;
+
+ /* Create the search pattern */
+ strcpy(scanname, filename);
+
+ if(index("/\\", *(scanname + strlen(scanname) - 1)) == NULL)
+ strcat(scanname, "/*");
+ else
+ strcat(scanname, "*");
+
+ /* do the FindFirstFile call */
+ fh = FindFirstFile(scanname, &FindData);
+ if(fh == INVALID_HANDLE_VALUE) {
+ return NULL;
+ }
+
+ /* now allocate the first part of the string table for
+ * the filenames that we find.
+ */
+ idx = strlen(FindData.cFileName)+1;
+ New(1502, p->start, idx, char);
+ if(p->start == NULL) {
+ CROAK("opendir: malloc failed!\n");
+ }
+ strcpy(p->start, FindData.cFileName);
+/* if(downcase)
+ * strlwr(p->start);
+ */
+ p->nfiles++;
+
+ /* loop finding all the files that match the wildcard
+ * (which should be all of them in this directory!).
+ * the variable idx should point one past the null terminator
+ * of the previous string found.
+ */
+ while (FindNextFile(fh, &FindData)) {
+ len = strlen(FindData.cFileName);
+ /* bump the string table size by enough for the
+ * new name and it's null terminator
+ */
+ Renew(p->start, idx+len+1, char);
+ if(p->start == NULL) {
+ CROAK("opendir: malloc failed!\n");
}
- strcpy(p->start, FindData.cFileName);
-// if(downcase)
-// strlwr(p->start);
- p->nfiles++;
-
- // loop finding all the files that match the wildcard
- // (which should be all of them in this directory!).
- // the variable idx should point one past the null terminator
- // of the previous string found.
- //
- while(FindNextFile(fh, &FindData))
- {
- len = strlen(FindData.cFileName);
- // bump the string table size by enough for the
- // new name and it's null terminator
- Renew(p->start, idx+len+1, char);
- if(p->start == NULL)
- {
- CROAK("opendir: malloc failed!\n");
- }
- strcpy(&p->start[idx], FindData.cFileName);
-// if(downcase)
-// strlwr(&p->start[idx]);
+ strcpy(&p->start[idx], FindData.cFileName);
+/* if (downcase)
+ * strlwr(&p->start[idx]);
+ */
p->nfiles++;
idx += len+1;
}
@@ -515,470 +520,537 @@ DIR *opendir(char *filename)
}
-// Readdir just returns the current string pointer and bumps the
-// string pointer to the nDllExport entry.
-struct direct *readdir(DIR *dirp)
+/* Readdir just returns the current string pointer and bumps the
+ * string pointer to the nDllExport entry.
+ */
+struct direct *
+readdir(DIR *dirp)
{
- int len;
- static int dummy = 0;
+ int len;
+ static int dummy = 0;
- if(dirp->curr)
- { // first set up the structure to return
- len = strlen(dirp->curr);
- strcpy(dirp->dirstr.d_name, dirp->curr);
- dirp->dirstr.d_namlen = len;
+ if (dirp->curr) {
+ /* first set up the structure to return */
+ len = strlen(dirp->curr);
+ strcpy(dirp->dirstr.d_name, dirp->curr);
+ dirp->dirstr.d_namlen = len;
- // Fake an inode
- dirp->dirstr.d_ino = dummy++;
+ /* Fake an inode */
+ dirp->dirstr.d_ino = dummy++;
- // Now set up for the nDllExport call to readdir
- dirp->curr += len + 1;
- if(dirp->curr >= (dirp->start + dirp->size))
- {
- dirp->curr = NULL;
- }
+ /* Now set up for the nDllExport call to readdir */
+ dirp->curr += len + 1;
+ if (dirp->curr >= (dirp->start + dirp->size)) {
+ dirp->curr = NULL;
+ }
- return &(dirp->dirstr);
- }
- else
- return NULL;
+ return &(dirp->dirstr);
+ }
+ else
+ return NULL;
}
-// Telldir returns the current string pointer position
-long telldir(DIR *dirp)
+/* Telldir returns the current string pointer position */
+long
+telldir(DIR *dirp)
{
return (long) dirp->curr;
}
-// Seekdir moves the string pointer to a previously saved position (Saved by telldir).
-void seekdir(DIR *dirp, long loc)
+/* Seekdir moves the string pointer to a previously saved position
+ *(Saved by telldir).
+ */
+void
+seekdir(DIR *dirp, long loc)
{
dirp->curr = (char *)loc;
}
-// Rewinddir resets the string pointer to the start
-void rewinddir(DIR *dirp)
+/* Rewinddir resets the string pointer to the start */
+void
+rewinddir(DIR *dirp)
{
dirp->curr = dirp->start;
}
-// free the memory allocated by opendir
-int closedir(DIR *dirp)
+/* free the memory allocated by opendir */
+int
+closedir(DIR *dirp)
{
Safefree(dirp->start);
Safefree(dirp);
- return 1;
+ return 1;
}
-//
-// various stubs
-//
+/*
+ * various stubs
+ */
-// Ownership
-//
-// Just pretend that everyone is a superuser. NT will let us know if
-// we don\'t really have permission to do something.
-//
+/* Ownership
+ *
+ * Just pretend that everyone is a superuser. NT will let us know if
+ * we don\'t really have permission to do something.
+ */
#define ROOT_UID ((uid_t)0)
#define ROOT_GID ((gid_t)0)
-uid_t getuid(void)
+uid_t
+getuid(void)
{
- return ROOT_UID;
+ return ROOT_UID;
}
-uid_t geteuid(void)
+uid_t
+geteuid(void)
{
- return ROOT_UID;
+ return ROOT_UID;
}
-gid_t getgid(void)
+gid_t
+getgid(void)
{
- return ROOT_GID;
+ return ROOT_GID;
}
-gid_t getegid(void)
+gid_t
+getegid(void)
{
- return ROOT_GID;
+ return ROOT_GID;
}
-int setuid(uid_t uid)
+int
+setuid(uid_t uid)
{
- return (uid == ROOT_UID ? 0 : -1);
+ return (uid == ROOT_UID ? 0 : -1);
}
-int setgid(gid_t gid)
+int
+setgid(gid_t gid)
{
- return (gid == ROOT_GID ? 0 : -1);
+ return (gid == ROOT_GID ? 0 : -1);
}
-//
-// pretended kill
-//
-int kill(int pid, int sig)
+/*
+ * pretended kill
+ */
+int
+kill(int pid, int sig)
{
- HANDLE hProcess= OpenProcess(PROCESS_ALL_ACCESS, TRUE, pid);
+ HANDLE hProcess= OpenProcess(PROCESS_ALL_ACCESS, TRUE, pid);
if (hProcess == NULL) {
- CROAK("kill process failed!\n");
- }
- else {
- if (!TerminateProcess(hProcess, sig)) CROAK("kill process failed!\n");
- CloseHandle(hProcess);
- }
- return 0;
+ CROAK("kill process failed!\n");
+ }
+ else {
+ if (!TerminateProcess(hProcess, sig))
+ CROAK("kill process failed!\n");
+ CloseHandle(hProcess);
+ }
+ return 0;
}
-//
-// File system stuff
-//
+/*
+ * File system stuff
+ */
-int ioctl(int i, unsigned int u, char *data)
+int
+ioctl(int i, unsigned int u, char *data)
{
- CROAK("ioctl not implemented!\n");
- return -1;
+ CROAK("ioctl not implemented!\n");
+ return -1;
}
-unsigned int sleep(unsigned int t)
+unsigned int
+sleep(unsigned int t)
{
- Sleep(t*1000);
- return 0;
+ Sleep(t*1000);
+ return 0;
}
#undef rename
-int myrename(char *OldFileName, char *newname)
+int
+myrename(char *OldFileName, char *newname)
{
- if(_access(newname, 0) != -1)
- { // file exists
- _unlink(newname);
- }
- return rename(OldFileName, newname);
+ if(_access(newname, 0) != -1) { /* file exists */
+ _unlink(newname);
+ }
+ return rename(OldFileName, newname);
}
-int win32_stat(const char *path, struct stat *buffer)
+DllExport int
+win32_stat(const char *path, struct stat *buffer)
{
- char t[MAX_PATH];
- const char *p = path;
- int l = strlen(path);
+ char t[MAX_PATH];
+ const char *p = path;
+ int l = strlen(path);
- if (l > 1) {
- switch(path[l - 1]) {
- case '\\':
- case '/':
- if (path[l - 2] != ':') {
- strncpy(t, path, l - 1);
- t[l - 1] = 0;
- p = t;
- };
- }
- }
-
- return stat(p, buffer);
+ if (l > 1) {
+ switch(path[l - 1]) {
+ case '\\':
+ case '/':
+ if (path[l - 2] != ':') {
+ strncpy(t, path, l - 1);
+ t[l - 1] = 0;
+ p = t;
+ };
+ }
+ }
+ return stat(p, buffer);
}
#undef times
-int mytimes(struct tms *timebuf)
+int
+mytimes(struct tms *timebuf)
{
- clock_t t = clock();
- timebuf->tms_utime = t;
- timebuf->tms_stime = 0;
- timebuf->tms_cutime = 0;
- timebuf->tms_cstime = 0;
+ clock_t t = clock();
+ timebuf->tms_utime = t;
+ timebuf->tms_stime = 0;
+ timebuf->tms_cutime = 0;
+ timebuf->tms_cstime = 0;
- return 0;
+ return 0;
}
#undef alarm
-unsigned int myalarm(unsigned int sec)
+unsigned int
+myalarm(unsigned int sec)
{
- // we warn the usuage of alarm function
- if (sec != 0)
- WARN("dummy function alarm called, program might not function as expected\n");
- return 0;
+ /* we warn the usuage of alarm function */
+ if (sec != 0)
+ WARN("dummy function alarm called, program might not function as expected\n");
+ return 0;
}
-//
-// redirected io subsystem for all XS modules
-//
-//
+/*
+ * redirected io subsystem for all XS modules
+ *
+ */
-DllExport int * win32_errno(void)
+DllExport int *
+win32_errno(void)
{
- return (pIOSubSystem->pfnerrno());
+ return (pIOSubSystem->pfnerrno());
}
-// the rest are the remapped stdio routines
-DllExport FILE *win32_stderr(void)
+/* the rest are the remapped stdio routines */
+DllExport FILE *
+win32_stderr(void)
{
- return (pIOSubSystem->pfnstderr());
+ return (pIOSubSystem->pfnstderr());
}
-DllExport FILE *win32_stdin(void)
+DllExport FILE *
+win32_stdin(void)
{
- return (pIOSubSystem->pfnstdin());
+ return (pIOSubSystem->pfnstdin());
}
-DllExport FILE *win32_stdout()
+DllExport FILE *
+win32_stdout()
{
- return (pIOSubSystem->pfnstdout());
+ return (pIOSubSystem->pfnstdout());
}
-DllExport int win32_ferror(FILE *fp)
+DllExport int
+win32_ferror(FILE *fp)
{
- return (pIOSubSystem->pfnferror(fp));
+ return (pIOSubSystem->pfnferror(fp));
}
-DllExport int win32_feof(FILE *fp)
+DllExport int
+win32_feof(FILE *fp)
{
- return (pIOSubSystem->pfnfeof(fp));
+ return (pIOSubSystem->pfnfeof(fp));
}
-//
-// Since the errors returned by the socket error function
-// WSAGetLastError() are not known by the library routine strerror
-// we have to roll our own.
-//
+/*
+ * Since the errors returned by the socket error function
+ * WSAGetLastError() are not known by the library routine strerror
+ * we have to roll our own.
+ */
__declspec(thread) char strerror_buffer[512];
-DllExport char *win32_strerror(int e)
+DllExport char *
+win32_strerror(int e)
{
- extern int sys_nerr;
- DWORD source = 0;
+ extern int sys_nerr;
+ DWORD source = 0;
- if(e < 0 || e > sys_nerr)
- {
- if(e < 0)
- e = GetLastError();
+ if(e < 0 || e > sys_nerr) {
+ if(e < 0)
+ e = GetLastError();
- if(FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, &source, e, 0, strerror_buffer, sizeof(strerror_buffer), NULL) == 0)
- strcpy(strerror_buffer, "Unknown Error");
-
- return strerror_buffer;
- }
+ if(FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, &source, e, 0,
+ strerror_buffer, sizeof(strerror_buffer), NULL) == 0)
+ strcpy(strerror_buffer, "Unknown Error");
- return pIOSubSystem->pfnstrerror(e);
+ return strerror_buffer;
+ }
+ return pIOSubSystem->pfnstrerror(e);
}
-DllExport int win32_fprintf(FILE *fp, const char *format, ...)
+DllExport int
+win32_fprintf(FILE *fp, const char *format, ...)
{
- va_list marker;
- va_start(marker, format); /* Initialize variable arguments. */
+ va_list marker;
+ va_start(marker, format); /* Initialize variable arguments. */
- return (pIOSubSystem->pfnvfprintf(fp, format, marker));
+ return (pIOSubSystem->pfnvfprintf(fp, format, marker));
}
-DllExport int win32_printf(const char *format, ...)
+DllExport int
+win32_printf(const char *format, ...)
{
- va_list marker;
- va_start(marker, format); /* Initialize variable arguments. */
+ va_list marker;
+ va_start(marker, format); /* Initialize variable arguments. */
- return (pIOSubSystem->pfnvprintf(format, marker));
+ return (pIOSubSystem->pfnvprintf(format, marker));
}
-DllExport int win32_vfprintf(FILE *fp, const char *format, va_list args)
+DllExport int
+win32_vfprintf(FILE *fp, const char *format, va_list args)
{
- return (pIOSubSystem->pfnvfprintf(fp, format, args));
+ return (pIOSubSystem->pfnvfprintf(fp, format, args));
}
-DllExport size_t win32_fread(void *buf, size_t size, size_t count, FILE *fp)
+DllExport size_t
+win32_fread(void *buf, size_t size, size_t count, FILE *fp)
{
- return pIOSubSystem->pfnfread(buf, size, count, fp);
+ return pIOSubSystem->pfnfread(buf, size, count, fp);
}
-DllExport size_t win32_fwrite(const void *buf, size_t size, size_t count, FILE *fp)
+DllExport size_t
+win32_fwrite(const void *buf, size_t size, size_t count, FILE *fp)
{
- return pIOSubSystem->pfnfwrite(buf, size, count, fp);
+ return pIOSubSystem->pfnfwrite(buf, size, count, fp);
}
-DllExport FILE *win32_fopen(const char *filename, const char *mode)
+DllExport FILE *
+win32_fopen(const char *filename, const char *mode)
{
- if (stricmp(filename, "/dev/null")==0) return pIOSubSystem->pfnfopen("NUL", mode);
- return pIOSubSystem->pfnfopen(filename, mode);
+ if (stricmp(filename, "/dev/null")==0)
+ return pIOSubSystem->pfnfopen("NUL", mode);
+ return pIOSubSystem->pfnfopen(filename, mode);
}
-DllExport FILE *win32_fdopen( int handle, const char *mode)
+DllExport FILE *
+win32_fdopen( int handle, const char *mode)
{
- return pIOSubSystem->pfnfdopen(handle, mode);
+ return pIOSubSystem->pfnfdopen(handle, mode);
}
-DllExport FILE *win32_freopen( const char *path, const char *mode, FILE *stream)
+DllExport FILE *
+win32_freopen( const char *path, const char *mode, FILE *stream)
{
- if (stricmp(path, "/dev/null")==0) return pIOSubSystem->pfnfreopen("NUL", mode, stream);
- return pIOSubSystem->pfnfreopen(path, mode, stream);
+ if (stricmp(path, "/dev/null")==0)
+ return pIOSubSystem->pfnfreopen("NUL", mode, stream);
+ return pIOSubSystem->pfnfreopen(path, mode, stream);
}
-DllExport int win32_fclose(FILE *pf)
+DllExport int
+win32_fclose(FILE *pf)
{
- return pIOSubSystem->pfnfclose(pf);
+ return pIOSubSystem->pfnfclose(pf);
}
-DllExport int win32_fputs(const char *s,FILE *pf)
+DllExport int
+win32_fputs(const char *s,FILE *pf)
{
- return pIOSubSystem->pfnfputs(s, pf);
+ return pIOSubSystem->pfnfputs(s, pf);
}
-DllExport int win32_fputc(int c,FILE *pf)
+DllExport int
+win32_fputc(int c,FILE *pf)
{
- return pIOSubSystem->pfnfputc(c,pf);
+ return pIOSubSystem->pfnfputc(c,pf);
}
-DllExport int win32_ungetc(int c,FILE *pf)
+DllExport int
+win32_ungetc(int c,FILE *pf)
{
- return pIOSubSystem->pfnungetc(c,pf);
+ return pIOSubSystem->pfnungetc(c,pf);
}
-DllExport int win32_getc(FILE *pf)
+DllExport int
+win32_getc(FILE *pf)
{
- return pIOSubSystem->pfngetc(pf);
+ return pIOSubSystem->pfngetc(pf);
}
-DllExport int win32_fileno(FILE *pf)
+DllExport int
+win32_fileno(FILE *pf)
{
- return pIOSubSystem->pfnfileno(pf);
+ return pIOSubSystem->pfnfileno(pf);
}
-DllExport void win32_clearerr(FILE *pf)
+DllExport void
+win32_clearerr(FILE *pf)
{
- pIOSubSystem->pfnclearerr(pf);
- return;
+ pIOSubSystem->pfnclearerr(pf);
+ return;
}
-DllExport int win32_fflush(FILE *pf)
+DllExport int
+win32_fflush(FILE *pf)
{
- return pIOSubSystem->pfnfflush(pf);
+ return pIOSubSystem->pfnfflush(pf);
}
-DllExport long win32_ftell(FILE *pf)
+DllExport long
+win32_ftell(FILE *pf)
{
- return pIOSubSystem->pfnftell(pf);
+ return pIOSubSystem->pfnftell(pf);
}
-DllExport int win32_fseek(FILE *pf,long offset,int origin)
+DllExport int
+win32_fseek(FILE *pf,long offset,int origin)
{
- return pIOSubSystem->pfnfseek(pf, offset, origin);
+ return pIOSubSystem->pfnfseek(pf, offset, origin);
}
-DllExport int win32_fgetpos(FILE *pf,fpos_t *p)
+DllExport int
+win32_fgetpos(FILE *pf,fpos_t *p)
{
- return pIOSubSystem->pfnfgetpos(pf, p);
+ return pIOSubSystem->pfnfgetpos(pf, p);
}
-DllExport int win32_fsetpos(FILE *pf,const fpos_t *p)
+DllExport int
+win32_fsetpos(FILE *pf,const fpos_t *p)
{
- return pIOSubSystem->pfnfsetpos(pf, p);
+ return pIOSubSystem->pfnfsetpos(pf, p);
}
-DllExport void win32_rewind(FILE *pf)
+DllExport void
+win32_rewind(FILE *pf)
{
- pIOSubSystem->pfnrewind(pf);
- return;
+ pIOSubSystem->pfnrewind(pf);
+ return;
}
-DllExport FILE* win32_tmpfile(void)
+DllExport FILE*
+win32_tmpfile(void)
{
- return pIOSubSystem->pfntmpfile();
+ return pIOSubSystem->pfntmpfile();
}
-DllExport void win32_abort(void)
+DllExport void
+win32_abort(void)
{
- pIOSubSystem->pfnabort();
- return;
+ pIOSubSystem->pfnabort();
+ return;
}
-DllExport int win32_fstat(int fd,struct stat *bufptr)
+DllExport int
+win32_fstat(int fd,struct stat *bufptr)
{
- return pIOSubSystem->pfnfstat(fd,bufptr);
+ return pIOSubSystem->pfnfstat(fd,bufptr);
}
-DllExport int win32_pipe(int *pfd, unsigned int size, int mode)
+DllExport int
+win32_pipe(int *pfd, unsigned int size, int mode)
{
- return pIOSubSystem->pfnpipe(pfd, size, mode);
+ return pIOSubSystem->pfnpipe(pfd, size, mode);
}
-DllExport FILE* win32_popen(const char *command, const char *mode)
+DllExport FILE*
+win32_popen(const char *command, const char *mode)
{
- return pIOSubSystem->pfnpopen(command, mode);
+ return pIOSubSystem->pfnpopen(command, mode);
}
-DllExport int win32_pclose(FILE *pf)
+DllExport int
+win32_pclose(FILE *pf)
{
- return pIOSubSystem->pfnpclose(pf);
+ return pIOSubSystem->pfnpclose(pf);
}
-DllExport int win32_setmode(int fd, int mode)
+DllExport int
+win32_setmode(int fd, int mode)
{
- return pIOSubSystem->pfnsetmode(fd, mode);
+ return pIOSubSystem->pfnsetmode(fd, mode);
}
-DllExport int win32_open(const char *path, int flag, ...)
+DllExport int
+win32_open(const char *path, int flag, ...)
{
- va_list ap;
- int pmode;
+ va_list ap;
+ int pmode;
va_start(ap, flag);
pmode = va_arg(ap, int);
va_end(ap);
- if (stricmp(path, "/dev/null")==0) return pIOSubSystem->pfnopen("NUL", flag, pmode);
- return pIOSubSystem->pfnopen(path,flag,pmode);
+ if (stricmp(path, "/dev/null")==0)
+ return pIOSubSystem->pfnopen("NUL", flag, pmode);
+ return pIOSubSystem->pfnopen(path,flag,pmode);
}
-DllExport int win32_close(int fd)
+DllExport int
+win32_close(int fd)
{
- return pIOSubSystem->pfnclose(fd);
+ return pIOSubSystem->pfnclose(fd);
}
-DllExport int win32_dup(int fd)
+DllExport int
+win32_dup(int fd)
{
- return pIOSubSystem->pfndup(fd);
+ return pIOSubSystem->pfndup(fd);
}
-DllExport int win32_dup2(int fd1,int fd2)
+DllExport int
+win32_dup2(int fd1,int fd2)
{
- return pIOSubSystem->pfndup2(fd1,fd2);
+ return pIOSubSystem->pfndup2(fd1,fd2);
}
-DllExport int win32_read(int fd, char *buf, unsigned int cnt)
+DllExport int
+win32_read(int fd, char *buf, unsigned int cnt)
{
- return pIOSubSystem->pfnread(fd, buf, cnt);
+ return pIOSubSystem->pfnread(fd, buf, cnt);
}
-DllExport int win32_write(int fd, const char *buf, unsigned int cnt)
+DllExport int
+win32_write(int fd, const char *buf, unsigned int cnt)
{
- return pIOSubSystem->pfnwrite(fd, buf, cnt);
+ return pIOSubSystem->pfnwrite(fd, buf, cnt);
}
-DllExport int win32_spawnvpe(int mode, const char *cmdname, const char *const *argv, const char *const *envp)
+DllExport int
+win32_spawnvpe(int mode, const char *cmdname,
+ const char *const *argv, const char *const *envp)
{
- return pIOSubSystem->pfnspawnvpe(mode, cmdname, argv, envp);
+ return pIOSubSystem->pfnspawnvpe(mode, cmdname, argv, envp);
}
-DllExport int win32_spawnle(int mode, const char *cmdname, const char *arglist,...)
+DllExport int
+win32_spawnle(int mode, const char *cmdname, const char *arglist,...)
{
- const char* const* envp;
- const char* const* argp;
+ const char* const* envp;
+ const char* const* argp;
- argp = &arglist;
- while (*argp++) ;
+ argp = &arglist;
+ while (*argp++) ;
- return pIOSubSystem->pfnspawnvpe(mode, cmdname, &arglist, argp);
+ return pIOSubSystem->pfnspawnvpe(mode, cmdname, &arglist, argp);
}
-int stolen_open_osfhandle(long handle, int flags)
+int
+stolen_open_osfhandle(long handle, int flags)
{
- return pIOSubSystem->pfn_open_osfhandle(handle, flags);
+ return pIOSubSystem->pfn_open_osfhandle(handle, flags);
}
-long stolen_get_osfhandle(int fd)
+long
+stolen_get_osfhandle(int fd)
{
- return pIOSubSystem->pfn_get_osfhandle(fd);
+ return pIOSubSystem->pfn_get_osfhandle(fd);
}
diff --git a/win32/win32.h b/win32/win32.h
index a051bc7261..0a18645d9c 100644
--- a/win32/win32.h
+++ b/win32/win32.h
@@ -1,21 +1,21 @@
-// WIN32.H
-
-// (c) 1995 Microsoft Corporation. All rights reserved.
-// Developed by hip communications inc., http://info.hip.com/info/
-
-// You may distribute under the terms of either the GNU General Public
-// License or the Artistic License, as specified in the README file.
-
+/* WIN32.H
+ *
+ * (c) 1995 Microsoft Corporation. All rights reserved.
+ * Developed by hip communications inc., http://info.hip.com/info/
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ */
#ifndef _INC_WIN32_PERL5
#define _INC_WIN32_PERL5
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
-#ifdef WIN32_LEAN_AND_MEAN // C file is NOT a Perl5 original.
-#define CONTEXT PERL_CONTEXT // Avoid conflict of CONTEXT defs.
-#define index strchr // Why 'index'?
-#endif //WIN32_LEAN_AND_MEAN
+#ifdef WIN32_LEAN_AND_MEAN /* C file is NOT a Perl5 original. */
+#define CONTEXT PERL_CONTEXT /* Avoid conflict of CONTEXT defs. */
+#define index strchr /* Why 'index'? */
+#endif /*WIN32_LEAN_AND_MEAN */
#include <dirent.h>
#include <io.h>
@@ -23,7 +23,7 @@
#include <stdio.h>
#include <direct.h>
-// For UNIX compatibility.
+/* For UNIX compatibility. */
typedef long uid_t;
typedef long gid_t;
@@ -45,15 +45,15 @@ extern FILE *myfdopen(int, char *);
#undef fdopen
#define fdopen myfdopen
-#endif // USE_SOCKETS_AS_HANDLES
+#endif /* USE_SOCKETS_AS_HANDLES */
-#define STANDARD_C 1 // Perl5 likes standard C.
-#define DOSISH 1 // Take advantage of DOSish code in Perl5.
+#define STANDARD_C 1 /* Perl5 likes standard C. */
+#define DOSISH 1 /* Take advantage of DOSish code in Perl5. */
-#define OP_BINARY _O_BINARY // Mistake in in pp_sys.c.
+#define OP_BINARY _O_BINARY /* Mistake in in pp_sys.c. */
#undef mkdir
-#define mkdir(nm, md) _mkdir(nm) // For UNIX compatibility.
+#define mkdir(nm, md) _mkdir(nm) /* For UNIX compatibility. */
#undef chdir
#define chdir(nm) _chdir(nm)
@@ -62,7 +62,7 @@ extern FILE *myfdopen(int, char *);
#define rmdir(nm) _rmdir(nm)
#undef pipe
-#define pipe(fd) win32_pipe((fd), 512, _O_BINARY) // the pipe call is a bit different
+#define pipe(fd) win32_pipe((fd), 512, _O_BINARY) /* the pipe call is a bit different */
#undef pause
#define pause() sleep((32767L << 16) + 32767)
@@ -79,7 +79,7 @@ struct tms {
long tms_stime;
long tms_cutime;
long tms_cstime;
- };
+};
unsigned int sleep(unsigned int);
char *win32PerlLibPath();
@@ -88,22 +88,21 @@ unsigned int myalarm(unsigned int sec);
int do_aspawn(void* really, void** mark, void** arglast);
int do_spawn(char *cmd);
-typedef char * caddr_t; // In malloc.c (core address).
+typedef char * caddr_t; /* In malloc.c (core address). */
-//
-// Extension Library, only good for VC
-//
+/*
+ * Extension Library, only good for VC
+ */
#define DllExport __declspec(dllexport)
-
-//
-// handle socket stuff, assuming socket is always available
-//
+/*
+ * handle socket stuff, assuming socket is always available
+ */
#include <sys/socket.h>
#include <netdb.h>
#pragma warning(disable: 4018 4035 4101 4102 4244 4245 4761)
-#endif // _INC_NT_PERL5
+#endif /* _INC_WIN32_PERL5 */
diff --git a/win32/win32aux.c b/win32/win32aux.c
new file mode 100644
index 0000000000..526b6999c9
--- /dev/null
+++ b/win32/win32aux.c
@@ -0,0 +1,40 @@
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define WIN32_LEAN_AND_MEAN
+#define WIN32IO_IS_STDIO
+#define EXT
+#include <windows.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <io.h>
+#include <sys/stat.h>
+#include <sys/socket.h>
+#include <fcntl.h>
+#include <assert.h>
+#include <errno.h>
+
+#include "win32iop.h"
+
+struct servent*
+win32_savecopyservent(struct servent*d, struct servent*s, const char *proto)
+{
+ d->s_name = s->s_name;
+ d->s_aliases = s->s_aliases;
+ d->s_port = s->s_port;
+ if (s->s_proto && strlen(s->s_proto))
+ d->s_proto = s->s_proto;
+ else if (proto && strlen(proto))
+ d->s_proto = (char *)proto;
+ else
+ d->s_proto = "tcp";
+
+ return d;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/win32/win32io.c b/win32/win32io.c
new file mode 100644
index 0000000000..75832240c7
--- /dev/null
+++ b/win32/win32io.c
@@ -0,0 +1,238 @@
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define WIN32_LEAN_AND_MEAN
+#define WIN32IO_IS_STDIO
+#define EXT
+#include <windows.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <io.h>
+#include <sys/stat.h>
+#include <sys/socket.h>
+#include <fcntl.h>
+#include <assert.h>
+#include <errno.h>
+#include <process.h>
+
+#include "win32iop.h"
+
+/*
+ * The following is just a basic wrapping of the stdio
+ *
+ * redirected io subsystem for all XS modules
+ */
+
+static int *
+dummy_errno(void)
+{
+ return (&(errno));
+}
+
+/* the rest are the remapped stdio routines */
+static FILE *
+dummy_stderr(void)
+{
+ return stderr;
+}
+
+static FILE *
+dummy_stdin(void)
+{
+ return stdin;
+}
+
+static FILE *
+dummy_stdout(void)
+{
+ return stdout;
+}
+
+static int
+dummy_globalmode(int mode)
+{
+ int o = _fmode;
+ _fmode = mode;
+
+ return o;
+}
+
+
+#if defined(_WIN32) && !defined(WIN95_OSFHANDLE_FIXED) && defined(_M_IX86)
+
+# ifdef __cplusplus
+#define EXT_C_FUNC extern "C"
+# else
+#define EXT_C_FUNC extern
+# endif
+
+EXT_C_FUNC int __cdecl _alloc_osfhnd(void);
+EXT_C_FUNC int __cdecl _set_osfhnd(int fh, long value);
+EXT_C_FUNC void __cdecl _lock_fhandle(int);
+EXT_C_FUNC void __cdecl _unlock_fhandle(int);
+EXT_C_FUNC void __cdecl _unlock(int);
+
+#if (_MSC_VER >= 1000)
+typedef struct {
+ long osfhnd; /* underlying OS file HANDLE */
+ char osfile; /* attributes of file (e.g., open in text mode?) */
+ char pipech; /* one char buffer for handles opened on pipes */
+#if defined (_MT) && !defined (DLL_FOR_WIN32S)
+ int lockinitflag;
+ CRITICAL_SECTION lock;
+#endif /* defined (_MT) && !defined (DLL_FOR_WIN32S) */
+} ioinfo;
+
+EXT_C_FUNC ioinfo * __pioinfo[];
+
+#define IOINFO_L2E 5
+#define IOINFO_ARRAY_ELTS (1 << IOINFO_L2E)
+#define _pioinfo(i) (__pioinfo[i >> IOINFO_L2E] + (i & (IOINFO_ARRAY_ELTS - 1)))
+#define _osfile(i) (_pioinfo(i)->osfile)
+
+#else /* (_MSC_VER >= 1000) */
+extern char _osfile[];
+#endif /* (_MSC_VER >= 1000) */
+
+#define FOPEN 0x01 /* file handle open */
+#define FAPPEND 0x20 /* file handle opened O_APPEND */
+#define FDEV 0x40 /* file handle refers to device */
+#define FTEXT 0x80 /* file handle is in text mode */
+
+#define _STREAM_LOCKS 26 /* Table of stream locks */
+#define _LAST_STREAM_LOCK (_STREAM_LOCKS+_NSTREAM_-1) /* Last stream lock */
+#define _FH_LOCKS (_LAST_STREAM_LOCK+1) /* Table of fh locks */
+
+/***
+*int _patch_open_osfhandle(long osfhandle, int flags) - open C Runtime file handle
+*
+*Purpose:
+* This function allocates a free C Runtime file handle and associates
+* it with the Win32 HANDLE specified by the first parameter. This is a
+* temperary fix for WIN95's brain damage GetFileType() error on socket
+* we just bypass that call for socket
+*
+*Entry:
+* long osfhandle - Win32 HANDLE to associate with C Runtime file handle.
+* int flags - flags to associate with C Runtime file handle.
+*
+*Exit:
+* returns index of entry in fh, if successful
+* return -1, if no free entry is found
+*
+*Exceptions:
+*
+*******************************************************************************/
+
+int
+my_open_osfhandle(long osfhandle, int flags)
+{
+ int fh;
+ char fileflags; /* _osfile flags */
+
+ /* copy relevant flags from second parameter */
+ fileflags = FDEV;
+
+ if(flags & _O_APPEND)
+ fileflags |= FAPPEND;
+
+ if(flags & _O_TEXT)
+ fileflags |= FTEXT;
+
+ /* attempt to allocate a C Runtime file handle */
+ if((fh = _alloc_osfhnd()) == -1) {
+ errno = EMFILE; /* too many open files */
+ _doserrno = 0L; /* not an OS error */
+ return -1; /* return error to caller */
+ }
+
+ /* the file is open. now, set the info in _osfhnd array */
+ _set_osfhnd(fh, osfhandle);
+
+ fileflags |= FOPEN; /* mark as open */
+
+#if (_MSC_VER >= 1000)
+ _osfile(fh) = fileflags; /* set osfile entry */
+ _unlock_fhandle(fh);
+#else
+ _osfile[fh] = fileflags; /* set osfile entry */
+ _unlock(fh+_FH_LOCKS); /* unlock handle */
+#endif
+
+ return fh; /* return handle */
+}
+#else
+
+int __cdecl
+stolen_open_osfhandle(long osfhandle, int flags)
+{
+ return _open_osfhandle(osfhandle, flags);
+}
+#endif /* _M_IX86 */
+
+long
+my_get_osfhandle( int filehandle )
+{
+ return _get_osfhandle(filehandle);
+}
+
+WIN32_IOSUBSYSTEM win32stdio = {
+ 12345678L, /* begin of structure; */
+ dummy_errno, /* (*pfunc_errno)(void); */
+ dummy_stdin, /* (*pfunc_stdin)(void); */
+ dummy_stdout, /* (*pfunc_stdout)(void); */
+ dummy_stderr, /* (*pfunc_stderr)(void); */
+ ferror, /* (*pfunc_ferror)(FILE *fp); */
+ feof, /* (*pfunc_feof)(FILE *fp); */
+ strerror, /* (*strerror)(int e); */
+ vfprintf, /* (*pfunc_vfprintf)(FILE *pf, const char *format, va_list arg); */
+ vprintf, /* (*pfunc_vprintf)(const char *format, va_list arg); */
+ fread, /* (*pfunc_fread)(void *buf, size_t size, size_t count, FILE *pf); */
+ fwrite, /* (*pfunc_fwrite)(void *buf, size_t size, size_t count, FILE *pf); */
+ fopen, /* (*pfunc_fopen)(const char *path, const char *mode); */
+ fdopen, /* (*pfunc_fdopen)(int fh, const char *mode); */
+ freopen, /* (*pfunc_freopen)(const char *path, const char *mode, FILE *pf); */
+ fclose, /* (*pfunc_fclose)(FILE *pf); */
+ fputs, /* (*pfunc_fputs)(const char *s,FILE *pf); */
+ fputc, /* (*pfunc_fputc)(int c,FILE *pf); */
+ ungetc, /* (*pfunc_ungetc)(int c,FILE *pf); */
+ getc, /* (*pfunc_getc)(FILE *pf); */
+ fileno, /* (*pfunc_fileno)(FILE *pf); */
+ clearerr, /* (*pfunc_clearerr)(FILE *pf); */
+ fflush, /* (*pfunc_fflush)(FILE *pf); */
+ ftell, /* (*pfunc_ftell)(FILE *pf); */
+ fseek, /* (*pfunc_fseek)(FILE *pf,long offset,int origin); */
+ fgetpos, /* (*pfunc_fgetpos)(FILE *pf,fpos_t *p); */
+ fsetpos, /* (*pfunc_fsetpos)(FILE *pf,fpos_t *p); */
+ rewind, /* (*pfunc_rewind)(FILE *pf); */
+ tmpfile, /* (*pfunc_tmpfile)(void); */
+ abort, /* (*pfunc_abort)(void); */
+ fstat, /* (*pfunc_fstat)(int fd,struct stat *bufptr); */
+ stat, /* (*pfunc_stat)(const char *name,struct stat *bufptr); */
+ _pipe, /* (*pfunc_pipe)( int *phandles, unsigned int psize, int textmode ); */
+ _popen, /* (*pfunc_popen)( const char *command, const char *mode ); */
+ _pclose, /* (*pfunc_pclose)( FILE *pf); */
+ setmode, /* (*pfunc_setmode)( int fd, int mode); */
+ lseek, /* (*pfunc_lseek)( int fd, long offset, int origin); */
+ tell, /* (*pfunc_tell)( int fd); */
+ dup, /* (*pfunc_dup)( int fd); */
+ dup2, /* (*pfunc_dup2)(int h1, int h2); */
+ open, /* (*pfunc_open)(const char *path, int oflag,...); */
+ close, /* (*pfunc_close)(int fd); */
+ eof, /* (*pfunc_eof)(int fd); */
+ read, /* (*pfunc_read)(int fd, void *buf, unsigned int cnt); */
+ write, /* (*pfunc_write)(int fd, const void *buf, unsigned int cnt); */
+ dummy_globalmode, /* (*pfunc_globalmode)(int mode) */
+ my_open_osfhandle,
+ my_get_osfhandle,
+ spawnvpe,
+ 87654321L, /* end of structure */
+};
+
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/win32/win32io.h b/win32/win32io.h
index cb0c692da4..3ebc70aab5 100644
--- a/win32/win32io.h
+++ b/win32/win32io.h
@@ -2,58 +2,58 @@
#define WIN32IO_H
typedef struct {
-int signature_begin;
-int * (*pfnerrno)(void);
+int signature_begin;
+int * (*pfnerrno)(void);
FILE* (*pfnstdin)(void);
FILE* (*pfnstdout)(void);
FILE* (*pfnstderr)(void);
-int (*pfnferror)(FILE *fp);
-int (*pfnfeof)(FILE *fp);
+int (*pfnferror)(FILE *fp);
+int (*pfnfeof)(FILE *fp);
char* (*pfnstrerror)(int e);
-int (*pfnvfprintf)(FILE *pf, const char *format, va_list arg);
-int (*pfnvprintf)(const char *format, va_list arg);
+int (*pfnvfprintf)(FILE *pf, const char *format, va_list arg);
+int (*pfnvprintf)(const char *format, va_list arg);
size_t (*pfnfread)(void *buf, size_t size, size_t count, FILE *pf);
size_t (*pfnfwrite)(const void *buf, size_t size, size_t count, FILE *pf);
FILE* (*pfnfopen)(const char *path, const char *mode);
FILE* (*pfnfdopen)(int fh, const char *mode);
FILE* (*pfnfreopen)(const char *path, const char *mode, FILE *pf);
-int (*pfnfclose)(FILE *pf);
-int (*pfnfputs)(const char *s,FILE *pf);
-int (*pfnfputc)(int c,FILE *pf);
-int (*pfnungetc)(int c,FILE *pf);
-int (*pfngetc)(FILE *pf);
-int (*pfnfileno)(FILE *pf);
+int (*pfnfclose)(FILE *pf);
+int (*pfnfputs)(const char *s,FILE *pf);
+int (*pfnfputc)(int c,FILE *pf);
+int (*pfnungetc)(int c,FILE *pf);
+int (*pfngetc)(FILE *pf);
+int (*pfnfileno)(FILE *pf);
void (*pfnclearerr)(FILE *pf);
-int (*pfnfflush)(FILE *pf);
+int (*pfnfflush)(FILE *pf);
long (*pfnftell)(FILE *pf);
-int (*pfnfseek)(FILE *pf,long offset,int origin);
-int (*pfnfgetpos)(FILE *pf,fpos_t *p);
-int (*pfnfsetpos)(FILE *pf,const fpos_t *p);
+int (*pfnfseek)(FILE *pf,long offset,int origin);
+int (*pfnfgetpos)(FILE *pf,fpos_t *p);
+int (*pfnfsetpos)(FILE *pf,const fpos_t *p);
void (*pfnrewind)(FILE *pf);
FILE* (*pfntmpfile)(void);
void (*pfnabort)(void);
int (*pfnfstat)(int fd,struct stat *bufptr);
int (*pfnstat)(const char *name,struct stat *bufptr);
-int (*pfnpipe)( int *phandles, unsigned int psize, int textmode );
+int (*pfnpipe)( int *phandles, unsigned int psize, int textmode );
FILE* (*pfnpopen)( const char *command, const char *mode );
-int (*pfnpclose)( FILE *pf);
-int (*pfnsetmode)( int fd, int mode);
+int (*pfnpclose)( FILE *pf);
+int (*pfnsetmode)( int fd, int mode);
long (*pfnlseek)( int fd, long offset, int origin);
long (*pfntell)( int fd);
-int (*pfndup)( int fd);
-int (*pfndup2)(int h1, int h2);
-int (*pfnopen)(const char *path, int oflag,...);
-int (*pfnclose)(int fd);
-int (*pfneof)(int fd);
-int (*pfnread)(int fd, void *buf, unsigned int cnt);
-int (*pfnwrite)(int fd, const void *buf, unsigned int cnt);
-int (*pfnopenmode)(int mode);
-int (*pfn_open_osfhandle)(long handle, int flags);
+int (*pfndup)( int fd);
+int (*pfndup2)(int h1, int h2);
+int (*pfnopen)(const char *path, int oflag,...);
+int (*pfnclose)(int fd);
+int (*pfneof)(int fd);
+int (*pfnread)(int fd, void *buf, unsigned int cnt);
+int (*pfnwrite)(int fd, const void *buf, unsigned int cnt);
+int (*pfnopenmode)(int mode);
+int (*pfn_open_osfhandle)(long handle, int flags);
long (*pfn_get_osfhandle)(int fd);
-int (*pfnspawnvpe)(int mode, const char *cmdname, const char *const *argv, const char *const *envp);
+int (*pfnspawnvpe)(int mode, const char *cmdname, const char *const *argv, const char *const *envp);
int signature_end;
} WIN32_IOSUBSYSTEM;
typedef WIN32_IOSUBSYSTEM *PWIN32_IOSUBSYSTEM;
-#endif // WIN32IO_H
+#endif /* WIN32IO_H */
diff --git a/win32/win32iop.h b/win32/win32iop.h
index 7b7a521fe3..c0d1d57255 100644
--- a/win32/win32iop.h
+++ b/win32/win32iop.h
@@ -5,9 +5,10 @@
/*
* Make this as close to original stdio as possible.
*/
-//
-// function prototypes for our own win32io layer
-//
+
+/*
+ * function prototypes for our own win32io layer
+ */
EXT int * win32_errno();
EXT FILE* win32_stdin(void);
EXT FILE* win32_stdout(void);
@@ -16,9 +17,9 @@ EXT int win32_ferror(FILE *fp);
EXT int win32_feof(FILE *fp);
EXT char* win32_strerror(int e);
-EXT int win32_fprintf(FILE *pf, const char *format, ...);
-EXT int win32_printf(const char *format, ...);
-EXT int win32_vfprintf(FILE *pf, const char *format, va_list arg);
+EXT int win32_fprintf(FILE *pf, const char *format, ...);
+EXT int win32_printf(const char *format, ...);
+EXT int win32_vfprintf(FILE *pf, const char *format, va_list arg);
EXT size_t win32_fread(void *buf, size_t size, size_t count, FILE *pf);
EXT size_t win32_fwrite(const void *buf, size_t size, size_t count, FILE *pf);
EXT FILE* win32_fopen(const char *path, const char *mode);
@@ -28,17 +29,17 @@ EXT int win32_fclose(FILE *pf);
EXT int win32_fputs(const char *s,FILE *pf);
EXT int win32_fputc(int c,FILE *pf);
EXT int win32_ungetc(int c,FILE *pf);
-EXT int win32_getc(FILE *pf);
+EXT int win32_getc(FILE *pf);
EXT int win32_fileno(FILE *pf);
-EXT void win32_clearerr(FILE *pf);
+EXT void win32_clearerr(FILE *pf);
EXT int win32_fflush(FILE *pf);
EXT long win32_ftell(FILE *pf);
-EXT int win32_fseek(FILE *pf,long offset,int origin);
-EXT int win32_fgetpos(FILE *pf,fpos_t *p);
-EXT int win32_fsetpos(FILE *pf,const fpos_t *p);
-EXT void win32_rewind(FILE *pf);
-EXT FILE* win32_tmpfile(void);
-EXT void win32_abort(void);
+EXT int win32_fseek(FILE *pf,long offset,int origin);
+EXT int win32_fgetpos(FILE *pf,fpos_t *p);
+EXT int win32_fsetpos(FILE *pf,const fpos_t *p);
+EXT void win32_rewind(FILE *pf);
+EXT FILE* win32_tmpfile(void);
+EXT void win32_abort(void);
EXT int win32_fstat(int fd,struct stat *bufptr);
EXT int win32_stat(const char *name,struct stat *bufptr);
EXT int win32_pipe( int *phandles, unsigned int psize, int textmode );
@@ -54,22 +55,23 @@ EXT int win32_close(int fd);
EXT int win32_eof(int fd);
EXT int win32_read(int fd, void *buf, unsigned int cnt);
EXT int win32_write(int fd, const void *buf, unsigned int cnt);
-EXT int win32_spawnvpe(int mode, const char *cmdname, const char *const *argv, const char *const *envp);
+EXT int win32_spawnvpe(int mode, const char *cmdname,
+ const char *const *argv, const char *const *envp);
EXT int win32_spawnle(int mode, const char *cmdname, const char *,...);
-//
-// these two are win32 specific but still io related
-//
+/*
+ * these two are win32 specific but still io related
+ */
int stolen_open_osfhandle(long handle, int flags);
-long stolen_get_osfhandle(int fd);
+long stolen_get_osfhandle(int fd);
-#include <win32io.h> // pull in the io sub system structure
+#include <win32io.h> /* pull in the io sub system structure */
void * SetIOSubSystem(void *piosubsystem);
-//
-// the following six(6) is #define in stdio.h
-//
-//
+
+/*
+ * the following six(6) is #define in stdio.h
+ */
#ifndef WIN32IO_IS_STDIO
#undef errno
#undef stderr
@@ -86,9 +88,9 @@ void * SetIOSubSystem(void *piosubsystem);
#define errno (*win32_errno())
#define strerror win32_strerror
-//
-// redirect to our own version
-//
+/*
+ * redirect to our own version
+ */
#define fprintf win32_fprintf
#define vfprintf win32_vfprintf
#define printf win32_printf
@@ -125,8 +127,8 @@ void * SetIOSubSystem(void *piosubsystem);
#define write(fd,b,s) win32_write(fd,b,s)
#define _open_osfhandle stolen_open_osfhandle
#define _get_osfhandle stolen_get_osfhandle
-#define spawnvpe win32_spawnvpe
-#define spawnle win32_spawnle
-#endif //WIN32IO_IS_STDIO
+#define spawnvpe win32_spawnvpe
+#define spawnle win32_spawnle
+#endif /* WIN32IO_IS_STDIO */
-#endif // WIN32IOP_H
+#endif /* WIN32IOP_H */
diff --git a/win32/win32sck.c b/win32/win32sck.c
index 126ff1a246..7acb02871c 100644
--- a/win32/win32sck.c
+++ b/win32/win32sck.c
@@ -1,11 +1,12 @@
-// NTSock.C
-
-// (c) 1995 Microsoft Corporation. All rights reserved.
-// Developed by hip communications inc., http://info.hip.com/info/
-// Portions (c) 1993 Intergraph Corporation. All rights reserved.
-
-// You may distribute under the terms of either the GNU General Public
-// License or the Artistic License, as specified in the README file.
+/* NTSock.C
+ *
+ * (c) 1995 Microsoft Corporation. All rights reserved.
+ * Developed by hip communications inc., http://info.hip.com/info/
+ * Portions (c) 1993 Intergraph Corporation. All rights reserved.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ */
#include <windows.h>
#define WIN32_LEAN_AND_MEAN
@@ -19,10 +20,10 @@
#define CROAK croak
#ifdef USE_SOCKETS_AS_HANDLES
-// thanks to Beverly Brown (beverly@datacube.com)
+/* thanks to Beverly Brown (beverly@datacube.com) */
# if defined(_WIN32) && !defined(WIN95_OSFHANDLE_FIXED) && defined(_M_IX86)
-//# define OPEN_SOCKET(x) _patch_open_osfhandle(x, _O_RDWR | _O_BINARY)
+/*# define OPEN_SOCKET(x) _patch_open_osfhandle(x, _O_RDWR | _O_BINARY) */
# define OPEN_SOCKET(x) _open_osfhandle(x,_O_RDWR|_O_BINARY)
# else
# define OPEN_SOCKET(x) _open_osfhandle(x,_O_RDWR|_O_BINARY)
@@ -34,17 +35,18 @@
# define OPEN_SOCKET(x) (x)
# define TO_SOCKET(x) (x)
-#endif // USE_SOCKETS_AS_HANDLES
+#endif /* USE_SOCKETS_AS_HANDLES */
-//
-// This is a clone of fdopen so that we can handle the version of sockets that NT gets to use.
-//
-// The problem is that sockets are not real file handles and
-// cannot be fdopen'ed. This causes problems in the do_socket
-// routine in doio.c, since it tries to create two file pointers
-// for the socket just created. We'll fake out an fdopen and see
-// if we can prevent perl from trying to do stdio on sockets.
-//
+/*
+ * This is a clone of fdopen so that we can handle the version of
+ * sockets that NT gets to use.
+ *
+ * The problem is that sockets are not real file handles and
+ * cannot be fdopen'ed. This causes problems in the do_socket
+ * routine in doio.c, since it tries to create two file pointers
+ * for the socket just created. We'll fake out an fdopen and see
+ * if we can prevent perl from trying to do stdio on sockets.
+ */
#if defined(_WIN32) && !defined(WIN95_OSFHANDLE_FIXED) && defined(_M_IX86)
@@ -59,38 +61,38 @@ EXT_C_FUNC int __cdecl _set_osfhnd(int fh, long value);
EXT_C_FUNC void __cdecl _lock_fhandle(int);
EXT_C_FUNC void __cdecl _unlock_fhandle(int);
EXT_C_FUNC void __cdecl _unlock(int);
-EXT_C_FUNC struct servent* win32_savecopyservent(struct servent*d, struct servent*s, const char *proto);
+EXT_C_FUNC struct servent* win32_savecopyservent(struct servent*d,
+ struct servent*s, const char *proto);
#if (_MSC_VER >= 1000)
- typedef struct
- {
- long osfhnd; /* underlying OS file HANDLE */
- char osfile; /* attributes of file (e.g., open in text mode?) */
- char pipech; /* one char buffer for handles opened on pipes */
+typedef struct {
+ long osfhnd; /* underlying OS file HANDLE */
+ char osfile; /* attributes of file (e.g., open in text mode?) */
+ char pipech; /* one char buffer for handles opened on pipes */
#if defined (_MT) && !defined (DLL_FOR_WIN32S)
- int lockinitflag;
- CRITICAL_SECTION lock;
+ int lockinitflag;
+ CRITICAL_SECTION lock;
#endif /* defined (_MT) && !defined (DLL_FOR_WIN32S) */
- } ioinfo;
+} ioinfo;
- EXT_C_FUNC ioinfo * __pioinfo[];
+EXT_C_FUNC ioinfo * __pioinfo[];
- #define IOINFO_L2E 5
- #define IOINFO_ARRAY_ELTS (1 << IOINFO_L2E)
- #define _pioinfo(i) (__pioinfo[i >> IOINFO_L2E] + (i & (IOINFO_ARRAY_ELTS - 1)))
- #define _osfile(i) (_pioinfo(i)->osfile)
-#else
- extern "C" extern char _osfile[];
-#endif // (_MSC_VER >= 1000)
+#define IOINFO_L2E 5
+#define IOINFO_ARRAY_ELTS (1 << IOINFO_L2E)
+#define _pioinfo(i) (__pioinfo[i >> IOINFO_L2E] + (i & (IOINFO_ARRAY_ELTS - 1)))
+#define _osfile(i) (_pioinfo(i)->osfile)
+#else /* (_MSC_VER >= 1000) */
+ extern char _osfile[];
+#endif /* (_MSC_VER >= 1000) */
-#define FOPEN 0x01 // file handle open
-#define FAPPEND 0x20 // file handle opened O_APPEND
-#define FDEV 0x40 // file handle refers to device
-#define FTEXT 0x80 // file handle is in text mode
+#define FOPEN 0x01 /* file handle open */
+#define FAPPEND 0x20 /* file handle opened O_APPEND */
+#define FDEV 0x40 /* file handle refers to device */
+#define FTEXT 0x80 /* file handle is in text mode */
-#define _STREAM_LOCKS 26 // Table of stream locks
-#define _LAST_STREAM_LOCK (_STREAM_LOCKS+_NSTREAM_-1) // Last stream lock
-#define _FH_LOCKS (_LAST_STREAM_LOCK+1) // Table of fh locks
+#define _STREAM_LOCKS 26 /* Table of stream locks */
+#define _LAST_STREAM_LOCK (_STREAM_LOCKS+_NSTREAM_-1) /* Last stream lock */
+#define _FH_LOCKS (_LAST_STREAM_LOCK+1) /* Table of fh locks */
/***
*int _patch_open_osfhandle(long osfhandle, int flags) - open C Runtime file handle
@@ -98,8 +100,8 @@ EXT_C_FUNC struct servent* win32_savecopyservent(struct servent*d, struct serven
*Purpose:
* This function allocates a free C Runtime file handle and associates
* it with the Win32 HANDLE specified by the first parameter. This is a
-* temperary fix for WIN95's brain damage GetFileType() error on socket
-* we just bypass that call for socket
+* temperary fix for WIN95's brain damage GetFileType() error on socket
+* we just bypass that call for socket
*
*Entry:
* long osfhandle - Win32 HANDLE to associate with C Runtime file handle.
@@ -113,45 +115,44 @@ EXT_C_FUNC struct servent* win32_savecopyservent(struct servent*d, struct serven
*
*******************************************************************************/
-int __cdecl _patch_open_osfhandle(long osfhandle, int flags)
+int __cdecl
+_patch_open_osfhandle(long osfhandle, int flags)
{
- int fh;
- char fileflags; // _osfile flags
+ int fh;
+ char fileflags; /* _osfile flags */
- // copy relevant flags from second parameter
- fileflags = FDEV;
+ /* copy relevant flags from second parameter */
+ fileflags = FDEV;
- if(flags & _O_APPEND)
- fileflags |= FAPPEND;
+ if(flags & _O_APPEND)
+ fileflags |= FAPPEND;
- if(flags & _O_TEXT)
- fileflags |= FTEXT;
+ if(flags & _O_TEXT)
+ fileflags |= FTEXT;
- // attempt to allocate a C Runtime file handle
- if((fh = _alloc_osfhnd()) == -1)
- {
- errno = EMFILE; // too many open files
- _doserrno = 0L; // not an OS error
- return -1; // return error to caller
- }
+ /* attempt to allocate a C Runtime file handle */
+ if((fh = _alloc_osfhnd()) == -1) {
+ errno = EMFILE; /* too many open files */
+ _doserrno = 0L; /* not an OS error */
+ return -1; /* return error to caller */
+ }
- // the file is open. now, set the info in _osfhnd array
- _set_osfhnd(fh, osfhandle);
+ /* the file is open. now, set the info in _osfhnd array */
+ _set_osfhnd(fh, osfhandle);
- fileflags |= FOPEN; // mark as open
+ fileflags |= FOPEN; /* mark as open */
#if (_MSC_VER >= 1000)
- _osfile(fh) = fileflags; // set osfile entry
- _unlock_fhandle(fh);
+ _osfile(fh) = fileflags; /* set osfile entry */
+ _unlock_fhandle(fh);
#else
- _osfile[fh] = fileflags; // set osfile entry
- _unlock(fh+_FH_LOCKS); // unlock handle
+ _osfile[fh] = fileflags; /* set osfile entry */
+ _unlock(fh+_FH_LOCKS); /* unlock handle */
#endif
-
- return fh; // return handle
+ return fh; /* return handle */
}
-#endif // _M_IX86
+#endif /* _M_IX86 */
#define SOCKETAPI PASCAL
@@ -196,7 +197,7 @@ typedef int (SOCKETAPI *LPSOCKWSAGETLASTERROR)(void);
typedef int (SOCKETAPI *LPWSAFDIsSet)(SOCKET, fd_set *);
static HINSTANCE hWinSockDll = 0;
-// extern CRITICAL_SECTION csSock;
+/* extern CRITICAL_SECTION csSock; */
static LPSOCKACCEPT paccept = 0;
static LPSOCKBIND pbind = 0;
@@ -236,526 +237,573 @@ static LPSOCKINETADDR pinet_addr = 0;
__declspec(thread) struct servent myservent;
-void *GetAddress(HINSTANCE hInstance, char *lpFunctionName)
-{
- char buffer[512];
- FARPROC proc = GetProcAddress(hInstance, lpFunctionName);
- if(proc == 0)
- {
- sprintf(buffer, "Unable to get address of %s in WSock32.dll", lpFunctionName);
- CROAK(buffer);
- }
- return proc;
-}
-
-void LoadWinSock(void)
-{
-// EnterCriticalSection(&csSock);
- if(hWinSockDll == NULL)
- {
- HINSTANCE hLib = LoadLibrary("WSock32.DLL");
- if(hLib == NULL)
- CROAK("Could not load WSock32.dll\n");
-
- paccept = (LPSOCKACCEPT)GetAddress(hLib, "accept");
- pbind = (LPSOCKBIND)GetAddress(hLib, "bind");
- pclosesocket = (LPSOCKCLOSESOCKET)GetAddress(hLib, "closesocket");
- pconnect = (LPSOCKCONNECT)GetAddress(hLib, "connect");
- pioctlsocket = (LPSOCKIOCTLSOCKET)GetAddress(hLib, "ioctlsocket");
- pgetpeername = (LPSOCKGETPEERNAME)GetAddress(hLib, "getpeername");
- pgetsockname = (LPSOCKGETSOCKNAME)GetAddress(hLib, "getsockname");
- pgetsockopt = (LPSOCKGETSOCKOPT)GetAddress(hLib, "getsockopt");
- phtonl = (LPSOCKHTONL)GetAddress(hLib, "htonl");
- phtons = (LPSOCKHTONS)GetAddress(hLib, "htons");
- plisten = (LPSOCKLISTEN)GetAddress(hLib, "listen");
- pntohl = (LPSOCKNTOHL)GetAddress(hLib, "ntohl");
- pntohs = (LPSOCKNTOHS)GetAddress(hLib, "ntohs");
- precv = (LPSOCKRECV)GetAddress(hLib, "recv");
- precvfrom = (LPSOCKRECVFROM)GetAddress(hLib, "recvfrom");
- pselect = (LPSOCKSELECT)GetAddress(hLib, "select");
- psend = (LPSOCKSEND)GetAddress(hLib, "send");
- psendto = (LPSOCKSENDTO)GetAddress(hLib, "sendto");
- psetsockopt = (LPSOCKSETSOCKOPT)GetAddress(hLib, "setsockopt");
- pshutdown = (LPSOCKSHUTDOWN)GetAddress(hLib, "shutdown");
- psocket = (LPSOCKSOCKET)GetAddress(hLib, "socket");
- pgethostbyaddr = (LPSOCKGETHOSTBYADDR)GetAddress(hLib, "gethostbyaddr");
- pgethostbyname = (LPSOCKGETHOSTBYNAME)GetAddress(hLib, "gethostbyname");
- pgethostname = (LPSOCKGETHOSTNAME)GetAddress(hLib, "gethostname");
- pgetservbyport = (LPSOCKGETSERVBYPORT)GetAddress(hLib, "getservbyport");
- pgetservbyname = (LPSOCKGETSERVBYNAME)GetAddress(hLib, "getservbyname");
- pgetprotobynumber = (LPSOCKGETPROTOBYNUMBER)GetAddress(hLib, "getprotobynumber");
- pgetprotobyname = (LPSOCKGETPROTOBYNAME)GetAddress(hLib, "getprotobyname");
- pWSAStartup = (LPSOCKWSASTARTUP)GetAddress(hLib, "WSAStartup");
- pWSACleanup = (LPSOCKWSACLEANUP)GetAddress(hLib, "WSACleanup");
- pWSAGetLastError = (LPSOCKWSAGETLASTERROR)GetAddress(hLib, "WSAGetLastError");
- pWSAFDIsSet = (LPWSAFDIsSet)GetAddress(hLib, "__WSAFDIsSet");
- pinet_addr = (LPSOCKINETADDR)GetAddress(hLib,"inet_addr");
- pinet_ntoa = (LPSOCKINETNTOA)GetAddress(hLib,"inet_ntoa");
-
- hWinSockDll = hLib;
- }
-// LeaveCriticalSection(&csSock);
-}
-
-void EndSockets(void)
-{
- if(hWinSockDll != NULL)
- {
- pWSACleanup();
- FreeLibrary(hWinSockDll);
- }
- hWinSockDll = NULL;
-}
-
-void StartSockets(void)
-{
- unsigned short version;
- WSADATA retdata;
- int ret;
- int iSockOpt = SO_SYNCHRONOUS_NONALERT;
-
- LoadWinSock();
- //
- // initalize the winsock interface and insure that it is
- // cleaned up at exit.
- //
- version = 0x101;
- if(ret = pWSAStartup(version, &retdata))
- CROAK("Unable to locate winsock library!\n");
- if(retdata.wVersion != version)
- CROAK("Could not find version 1.1 of winsock dll\n");
-
- // atexit((void (*)(void)) EndSockets);
+void *
+GetAddress(HINSTANCE hInstance, char *lpFunctionName)
+{
+ char buffer[512];
+ FARPROC proc = GetProcAddress(hInstance, lpFunctionName);
+ if(proc == 0) {
+ sprintf(buffer, "Unable to get address of %s in WSock32.dll", lpFunctionName);
+ CROAK(buffer);
+ }
+ return proc;
+}
+
+void
+LoadWinSock(void)
+{
+/* EnterCriticalSection(&csSock); */
+ if(hWinSockDll == NULL) {
+ HINSTANCE hLib = LoadLibrary("WSock32.DLL");
+ if(hLib == NULL)
+ CROAK("Could not load WSock32.dll\n");
+
+ paccept = (LPSOCKACCEPT)GetAddress(hLib, "accept");
+ pbind = (LPSOCKBIND)GetAddress(hLib, "bind");
+ pclosesocket = (LPSOCKCLOSESOCKET)GetAddress(hLib, "closesocket");
+ pconnect = (LPSOCKCONNECT)GetAddress(hLib, "connect");
+ pioctlsocket = (LPSOCKIOCTLSOCKET)GetAddress(hLib, "ioctlsocket");
+ pgetpeername = (LPSOCKGETPEERNAME)GetAddress(hLib, "getpeername");
+ pgetsockname = (LPSOCKGETSOCKNAME)GetAddress(hLib, "getsockname");
+ pgetsockopt = (LPSOCKGETSOCKOPT)GetAddress(hLib, "getsockopt");
+ phtonl = (LPSOCKHTONL)GetAddress(hLib, "htonl");
+ phtons = (LPSOCKHTONS)GetAddress(hLib, "htons");
+ plisten = (LPSOCKLISTEN)GetAddress(hLib, "listen");
+ pntohl = (LPSOCKNTOHL)GetAddress(hLib, "ntohl");
+ pntohs = (LPSOCKNTOHS)GetAddress(hLib, "ntohs");
+ precv = (LPSOCKRECV)GetAddress(hLib, "recv");
+ precvfrom = (LPSOCKRECVFROM)GetAddress(hLib, "recvfrom");
+ pselect = (LPSOCKSELECT)GetAddress(hLib, "select");
+ psend = (LPSOCKSEND)GetAddress(hLib, "send");
+ psendto = (LPSOCKSENDTO)GetAddress(hLib, "sendto");
+ psetsockopt = (LPSOCKSETSOCKOPT)GetAddress(hLib, "setsockopt");
+ pshutdown = (LPSOCKSHUTDOWN)GetAddress(hLib, "shutdown");
+ psocket = (LPSOCKSOCKET)GetAddress(hLib, "socket");
+ pgethostbyaddr = (LPSOCKGETHOSTBYADDR)GetAddress(hLib, "gethostbyaddr");
+ pgethostbyname = (LPSOCKGETHOSTBYNAME)GetAddress(hLib, "gethostbyname");
+ pgethostname = (LPSOCKGETHOSTNAME)GetAddress(hLib, "gethostname");
+ pgetservbyport = (LPSOCKGETSERVBYPORT)GetAddress(hLib, "getservbyport");
+ pgetservbyname = (LPSOCKGETSERVBYNAME)GetAddress(hLib, "getservbyname");
+ pgetprotobynumber = (LPSOCKGETPROTOBYNUMBER)GetAddress(hLib, "getprotobynumber");
+ pgetprotobyname = (LPSOCKGETPROTOBYNAME)GetAddress(hLib, "getprotobyname");
+ pWSAStartup = (LPSOCKWSASTARTUP)GetAddress(hLib, "WSAStartup");
+ pWSACleanup = (LPSOCKWSACLEANUP)GetAddress(hLib, "WSACleanup");
+ pWSAGetLastError = (LPSOCKWSAGETLASTERROR)GetAddress(hLib, "WSAGetLastError");
+ pWSAFDIsSet = (LPWSAFDIsSet)GetAddress(hLib, "__WSAFDIsSet");
+ pinet_addr = (LPSOCKINETADDR)GetAddress(hLib,"inet_addr");
+ pinet_ntoa = (LPSOCKINETNTOA)GetAddress(hLib,"inet_ntoa");
+
+ hWinSockDll = hLib;
+ }
+/* LeaveCriticalSection(&csSock); */
+}
+
+void
+EndSockets(void)
+{
+ if(hWinSockDll != NULL) {
+ pWSACleanup();
+ FreeLibrary(hWinSockDll);
+ }
+ hWinSockDll = NULL;
+}
+
+void
+StartSockets(void)
+{
+ unsigned short version;
+ WSADATA retdata;
+ int ret;
+ int iSockOpt = SO_SYNCHRONOUS_NONALERT;
+
+ LoadWinSock();
+ /*
+ * initalize the winsock interface and insure that it is
+ * cleaned up at exit.
+ */
+ version = 0x101;
+ if(ret = pWSAStartup(version, &retdata))
+ CROAK("Unable to locate winsock library!\n");
+ if(retdata.wVersion != version)
+ CROAK("Could not find version 1.1 of winsock dll\n");
+
+ /* atexit((void (*)(void)) EndSockets); */
#ifdef USE_SOCKETS_AS_HANDLES
- //
- // Enable the use of sockets as filehandles
- //
- psetsockopt(INVALID_SOCKET, SOL_SOCKET, SO_OPENTYPE, (char *)&iSockOpt, sizeof(iSockOpt));
-#endif // USE_SOCKETS_AS_HANDLES
+ /*
+ * Enable the use of sockets as filehandles
+ */
+ psetsockopt(INVALID_SOCKET, SOL_SOCKET, SO_OPENTYPE,
+ (char *)&iSockOpt, sizeof(iSockOpt));
+#endif /* USE_SOCKETS_AS_HANDLES */
}
#ifndef USE_SOCKETS_AS_HANDLES
-FILE *myfdopen(int fd, char *mode)
+FILE *
+myfdopen(int fd, char *mode)
{
- FILE *fp;
- char sockbuf[256];
- int optlen = sizeof(sockbuf);
- int retval;
+ FILE *fp;
+ char sockbuf[256];
+ int optlen = sizeof(sockbuf);
+ int retval;
-
- if(hWinSockDll == 0)
- LoadWinSock();
-
- retval = pgetsockopt((SOCKET)fd, SOL_SOCKET, SO_TYPE, sockbuf, &optlen);
- if(retval == SOCKET_ERROR && pWSAGetLastError() == WSAENOTSOCK)
- {
- return(_fdopen(fd, mode));
- }
+ if (hWinSockDll == 0)
+ LoadWinSock();
- //
- // If we get here, then fd is actually a socket.
- //
- Newz(1601, fp, 1, FILE);
- if(fp == NULL)
- {
- errno = ENOMEM;
- return NULL;
- }
+ retval = pgetsockopt((SOCKET)fd, SOL_SOCKET, SO_TYPE, sockbuf, &optlen);
+ if(retval == SOCKET_ERROR && pWSAGetLastError() == WSAENOTSOCK) {
+ return(_fdopen(fd, mode));
+ }
- fp->_file = fd;
- if(*mode == 'r')
- fp->_flag = _IOREAD;
- else
- fp->_flag = _IOWRT;
+ /*
+ * If we get here, then fd is actually a socket.
+ */
+ Newz(1601, fp, 1, FILE);
+ if(fp == NULL) {
+ errno = ENOMEM;
+ return NULL;
+ }
- return fp;
+ fp->_file = fd;
+ if(*mode == 'r')
+ fp->_flag = _IOREAD;
+ else
+ fp->_flag = _IOWRT;
+
+ return fp;
}
-#endif // USE_SOCKETS_AS_HANDLES
+#endif /* USE_SOCKETS_AS_HANDLES */
-u_long win32_htonl(u_long hostlong)
+u_long
+win32_htonl(u_long hostlong)
{
- if(hWinSockDll == 0)
- LoadWinSock();
+ if(hWinSockDll == 0)
+ LoadWinSock();
- return phtonl(hostlong);
+ return phtonl(hostlong);
}
-u_short win32_htons(u_short hostshort)
+u_short
+win32_htons(u_short hostshort)
{
- if(hWinSockDll == 0)
- LoadWinSock();
+ if(hWinSockDll == 0)
+ LoadWinSock();
- return phtons(hostshort);
+ return phtons(hostshort);
}
-u_long win32_ntohl(u_long netlong)
+u_long
+win32_ntohl(u_long netlong)
{
- if(hWinSockDll == 0)
- LoadWinSock();
+ if(hWinSockDll == 0)
+ LoadWinSock();
- return pntohl(netlong);
+ return pntohl(netlong);
}
-u_short win32_ntohs(u_short netshort)
+u_short
+win32_ntohs(u_short netshort)
{
- if(hWinSockDll == 0)
- LoadWinSock();
+ if(hWinSockDll == 0)
+ LoadWinSock();
- return pntohs(netshort);
+ return pntohs(netshort);
}
#define SOCKET_TEST(x, y) if(hWinSockDll == 0) StartSockets();\
- if((x) == (y)) errno = pWSAGetLastError()
+ if((x) == (y)) errno = pWSAGetLastError()
-#define SOCKET_TEST_ERROR(x) SOCKET_TEST(x, SOCKET_ERROR)
+#define SOCKET_TEST_ERROR(x) SOCKET_TEST(x, SOCKET_ERROR)
-SOCKET win32_accept(SOCKET s, struct sockaddr *addr, int *addrlen)
+SOCKET
+win32_accept(SOCKET s, struct sockaddr *addr, int *addrlen)
{
- SOCKET r;
+ SOCKET r;
- SOCKET_TEST((r = paccept(TO_SOCKET(s), addr, addrlen)), INVALID_SOCKET);
- return OPEN_SOCKET(r);
+ SOCKET_TEST((r = paccept(TO_SOCKET(s), addr, addrlen)), INVALID_SOCKET);
+ return OPEN_SOCKET(r);
}
-int win32_bind(SOCKET s, const struct sockaddr *addr, int addrlen)
+int
+win32_bind(SOCKET s, const struct sockaddr *addr, int addrlen)
{
- int r;
+ int r;
- SOCKET_TEST_ERROR(r = pbind(TO_SOCKET(s), addr, addrlen));
- return r;
+ SOCKET_TEST_ERROR(r = pbind(TO_SOCKET(s), addr, addrlen));
+ return r;
}
-int win32_connect(SOCKET s, const struct sockaddr *addr, int addrlen)
+int
+win32_connect(SOCKET s, const struct sockaddr *addr, int addrlen)
{
- int r;
+ int r;
- SOCKET_TEST_ERROR(r = pconnect(TO_SOCKET(s), addr, addrlen));
- return r;
+ SOCKET_TEST_ERROR(r = pconnect(TO_SOCKET(s), addr, addrlen));
+ return r;
}
-int win32_getpeername(SOCKET s, struct sockaddr *addr, int *addrlen)
+int
+win32_getpeername(SOCKET s, struct sockaddr *addr, int *addrlen)
{
- int r;
+ int r;
- SOCKET_TEST_ERROR(r = pgetpeername(TO_SOCKET(s), addr, addrlen));
- return r;
+ SOCKET_TEST_ERROR(r = pgetpeername(TO_SOCKET(s), addr, addrlen));
+ return r;
}
-int win32_getsockname(SOCKET s, struct sockaddr *addr, int *addrlen)
+int
+win32_getsockname(SOCKET s, struct sockaddr *addr, int *addrlen)
{
- int r;
+ int r;
- SOCKET_TEST_ERROR(r = pgetsockname(TO_SOCKET(s), addr, addrlen));
- return r;
+ SOCKET_TEST_ERROR(r = pgetsockname(TO_SOCKET(s), addr, addrlen));
+ return r;
}
-int win32_getsockopt(SOCKET s, int level, int optname, char *optval, int *optlen)
+int
+win32_getsockopt(SOCKET s, int level, int optname, char *optval, int *optlen)
{
- int r;
+ int r;
- SOCKET_TEST_ERROR(r = pgetsockopt(TO_SOCKET(s), level, optname, optval, optlen));
- return r;
+ SOCKET_TEST_ERROR(r = pgetsockopt(TO_SOCKET(s), level, optname, optval, optlen));
+ return r;
}
-int win32_ioctlsocket(SOCKET s, long cmd, u_long *argp)
+int
+win32_ioctlsocket(SOCKET s, long cmd, u_long *argp)
{
- int r;
+ int r;
- SOCKET_TEST_ERROR(r = pioctlsocket(TO_SOCKET(s), cmd, argp));
- return r;
+ SOCKET_TEST_ERROR(r = pioctlsocket(TO_SOCKET(s), cmd, argp));
+ return r;
}
-int win32_listen(SOCKET s, int backlog)
+int
+win32_listen(SOCKET s, int backlog)
{
- int r;
+ int r;
- SOCKET_TEST_ERROR(r = plisten(TO_SOCKET(s), backlog));
- return r;
+ SOCKET_TEST_ERROR(r = plisten(TO_SOCKET(s), backlog));
+ return r;
}
-int win32_recv(SOCKET s, char *buf, int len, int flags)
+int
+win32_recv(SOCKET s, char *buf, int len, int flags)
{
- int r;
+ int r;
- SOCKET_TEST_ERROR(r = precv(TO_SOCKET(s), buf, len, flags));
- return r;
+ SOCKET_TEST_ERROR(r = precv(TO_SOCKET(s), buf, len, flags));
+ return r;
}
-int win32_recvfrom(SOCKET s, char *buf, int len, int flags, struct sockaddr *from, int *fromlen)
+int
+win32_recvfrom(SOCKET s, char *buf, int len, int flags, struct sockaddr *from, int *fromlen)
{
- int r;
+ int r;
- SOCKET_TEST_ERROR(r = precvfrom(TO_SOCKET(s), buf, len, flags, from, fromlen));
- return r;
+ SOCKET_TEST_ERROR(r = precvfrom(TO_SOCKET(s), buf, len, flags, from, fromlen));
+ return r;
}
-// select contributed by Vincent R. Slyngstad (vrs@ibeam.intel.com)
-int win32_select(int nfds, int* rd, int* wr, int* ex, const struct timeval* timeout)
+/* select contributed by Vincent R. Slyngstad (vrs@ibeam.intel.com) */
+int
+win32_select(int nfds, int* rd, int* wr, int* ex, const struct timeval* timeout)
{
- long r;
- int dummy = 0;
- int i, fd, bit, offset;
- FD_SET nrd, nwr, nex,*prd,*pwr,*pex;
+ long r;
+ int dummy = 0;
+ int i, fd, bit, offset;
+ FD_SET nrd, nwr, nex,*prd,*pwr,*pex;
- if (!rd) rd = &dummy, prd = NULL;
- else prd = &nrd;
- if (!wr) wr = &dummy, pwr = NULL;
- else pwr = &nwr;
- if (!ex) ex = &dummy, pex = NULL;
- else pex = &nex;
+ if (!rd)
+ rd = &dummy, prd = NULL;
+ else
+ prd = &nrd;
+ if (!wr)
+ wr = &dummy, pwr = NULL;
+ else
+ pwr = &nwr;
+ if (!ex)
+ ex = &dummy, pex = NULL;
+ else
+ pex = &nex;
- FD_ZERO(&nrd);
- FD_ZERO(&nwr);
- FD_ZERO(&nex);
- for (i = 0; i < nfds; i++)
- {
- fd = TO_SOCKET(i);
- bit = 1L<<(i % (sizeof(int)*8));
- offset = i / (sizeof(int)*8);
- if (rd[offset] & bit)
- FD_SET(fd, &nrd);
- if (wr[offset] & bit)
- FD_SET(fd, &nwr);
- if (ex[offset] & bit)
- FD_SET(fd, &nex);
- }
+ FD_ZERO(&nrd);
+ FD_ZERO(&nwr);
+ FD_ZERO(&nex);
+ for (i = 0; i < nfds; i++) {
+ fd = TO_SOCKET(i);
+ bit = 1L<<(i % (sizeof(int)*8));
+ offset = i / (sizeof(int)*8);
+ if (rd[offset] & bit)
+ FD_SET(fd, &nrd);
+ if (wr[offset] & bit)
+ FD_SET(fd, &nwr);
+ if (ex[offset] & bit)
+ FD_SET(fd, &nex);
+ }
+
+ SOCKET_TEST_ERROR(r = pselect(nfds, prd, pwr, pex, timeout));
- SOCKET_TEST_ERROR(r = pselect(nfds, prd, pwr, pex, timeout));
-
- for (i = 0; i < nfds; i++)
- {
- fd = TO_SOCKET(i);
- bit = 1L<<(i % (sizeof(int)*8));
- offset = i / (sizeof(int)*8);
- if (rd[offset] & bit)
- {
- if (!pWSAFDIsSet(fd, &nrd))
- rd[offset] &= ~bit;
- }
- if (wr[offset] & bit)
- {
- if (!pWSAFDIsSet(fd, &nwr))
- wr[offset] &= ~bit;
- }
- if (ex[offset] & bit)
- {
- if (!pWSAFDIsSet(fd, &nex))
- ex[offset] &= ~bit;
- }
+ for (i = 0; i < nfds; i++) {
+ fd = TO_SOCKET(i);
+ bit = 1L<<(i % (sizeof(int)*8));
+ offset = i / (sizeof(int)*8);
+ if (rd[offset] & bit) {
+ if (!pWSAFDIsSet(fd, &nrd))
+ rd[offset] &= ~bit;
+ }
+ if (wr[offset] & bit) {
+ if (!pWSAFDIsSet(fd, &nwr))
+ wr[offset] &= ~bit;
+ }
+ if (ex[offset] & bit) {
+ if (!pWSAFDIsSet(fd, &nex))
+ ex[offset] &= ~bit;
}
- return r;
+ }
+ return r;
}
-int win32_send(SOCKET s, const char *buf, int len, int flags)
+int
+win32_send(SOCKET s, const char *buf, int len, int flags)
{
- int r;
+ int r;
- SOCKET_TEST_ERROR(r = psend(TO_SOCKET(s), buf, len, flags));
- return r;
+ SOCKET_TEST_ERROR(r = psend(TO_SOCKET(s), buf, len, flags));
+ return r;
}
-int win32_sendto(SOCKET s, const char *buf, int len, int flags, const struct sockaddr *to, int tolen)
+int
+win32_sendto(SOCKET s, const char *buf, int len, int flags,
+ const struct sockaddr *to, int tolen)
{
- int r;
+ int r;
- SOCKET_TEST_ERROR(r = psendto(TO_SOCKET(s), buf, len, flags, to, tolen));
- return r;
+ SOCKET_TEST_ERROR(r = psendto(TO_SOCKET(s), buf, len, flags, to, tolen));
+ return r;
}
-int win32_setsockopt(SOCKET s, int level, int optname, const char *optval, int optlen)
+int
+win32_setsockopt(SOCKET s, int level, int optname, const char *optval, int optlen)
{
- int r;
+ int r;
- SOCKET_TEST_ERROR(r = psetsockopt(TO_SOCKET(s), level, optname, optval, optlen));
- return r;
+ SOCKET_TEST_ERROR(r = psetsockopt(TO_SOCKET(s), level, optname, optval, optlen));
+ return r;
}
-int win32_shutdown(SOCKET s, int how)
+int
+win32_shutdown(SOCKET s, int how)
{
- int r;
+ int r;
- SOCKET_TEST_ERROR(r = pshutdown(TO_SOCKET(s), how));
- return r;
+ SOCKET_TEST_ERROR(r = pshutdown(TO_SOCKET(s), how));
+ return r;
}
-SOCKET win32_socket(int af, int type, int protocol)
+SOCKET
+win32_socket(int af, int type, int protocol)
{
- SOCKET s;
+ SOCKET s;
#ifndef USE_SOCKETS_AS_HANDLES
- SOCKET_TEST(s = psocket(af, type, protocol), INVALID_SOCKET);
+ SOCKET_TEST(s = psocket(af, type, protocol), INVALID_SOCKET);
#else
- if(hWinSockDll == 0)
- StartSockets();
+ if(hWinSockDll == 0)
+ StartSockets();
- if((s = psocket(af, type, protocol)) == INVALID_SOCKET)
- errno = pWSAGetLastError();
- else
- s = OPEN_SOCKET(s);
-#endif // USE_SOCKETS_AS_HANDLES
+ if((s = psocket(af, type, protocol)) == INVALID_SOCKET)
+ errno = pWSAGetLastError();
+ else
+ s = OPEN_SOCKET(s);
+#endif /* USE_SOCKETS_AS_HANDLES */
- return s;
+ return s;
}
-struct hostent *win32_gethostbyaddr(const char *addr, int len, int type)
+struct hostent *
+win32_gethostbyaddr(const char *addr, int len, int type)
{
- struct hostent *r;
+ struct hostent *r;
- SOCKET_TEST(r = pgethostbyaddr(addr, len, type), NULL);
- return r;
+ SOCKET_TEST(r = pgethostbyaddr(addr, len, type), NULL);
+ return r;
}
-struct hostent *win32_gethostbyname(const char *name)
+struct hostent *
+win32_gethostbyname(const char *name)
{
- struct hostent *r;
+ struct hostent *r;
- SOCKET_TEST(r = pgethostbyname(name), NULL);
- return r;
+ SOCKET_TEST(r = pgethostbyname(name), NULL);
+ return r;
}
-int win32_gethostname(char *name, int len)
+int
+win32_gethostname(char *name, int len)
{
- int r;
+ int r;
- SOCKET_TEST_ERROR(r = pgethostname(name, len));
- return r;
+ SOCKET_TEST_ERROR(r = pgethostname(name, len));
+ return r;
}
-struct protoent *win32_getprotobyname(const char *name)
+struct protoent *
+win32_getprotobyname(const char *name)
{
- struct protoent *r;
+ struct protoent *r;
- SOCKET_TEST(r = pgetprotobyname(name), NULL);
- return r;
+ SOCKET_TEST(r = pgetprotobyname(name), NULL);
+ return r;
}
-struct protoent *win32_getprotobynumber(int num)
+struct protoent *
+win32_getprotobynumber(int num)
{
- struct protoent *r;
+ struct protoent *r;
- SOCKET_TEST(r = pgetprotobynumber(num), NULL);
- return r;
+ SOCKET_TEST(r = pgetprotobynumber(num), NULL);
+ return r;
}
-struct servent *win32_getservbyname(const char *name, const char *proto)
+struct servent *
+win32_getservbyname(const char *name, const char *proto)
{
- struct servent *r;
-
- SOCKET_TEST(r = pgetservbyname(name, proto), NULL);
- if (r) {
- r = win32_savecopyservent(&myservent, r, proto);
- }
- return r;
+ struct servent *r;
+
+ SOCKET_TEST(r = pgetservbyname(name, proto), NULL);
+ if (r) {
+ r = win32_savecopyservent(&myservent, r, proto);
+ }
+ return r;
}
-struct servent *win32_getservbyport(int port, const char *proto)
+struct servent *
+win32_getservbyport(int port, const char *proto)
{
- struct servent *r;
+ struct servent *r;
- SOCKET_TEST(r = pgetservbyport(port, proto), NULL);
- if (r) {
- r = win32_savecopyservent(&myservent, r, proto);
- }
- return r;
+ SOCKET_TEST(r = pgetservbyport(port, proto), NULL);
+ if (r) {
+ r = win32_savecopyservent(&myservent, r, proto);
+ }
+ return r;
}
-char FAR *win32_inet_ntoa(struct in_addr in)
+char FAR *
+win32_inet_ntoa(struct in_addr in)
{
- if(hWinSockDll == 0) LoadWinSock();
+ if(hWinSockDll == 0)
+ LoadWinSock();
- return pinet_ntoa(in);
+ return pinet_ntoa(in);
}
-unsigned long win32_inet_addr(const char FAR *cp)
+unsigned long
+win32_inet_addr(const char FAR *cp)
{
- if(hWinSockDll == 0) LoadWinSock();
+ if(hWinSockDll == 0)
+ LoadWinSock();
- return pinet_addr(cp);
+ return pinet_addr(cp);
}
-//
-// Networking stubs
-//
+
+/*
+ * Networking stubs
+ */
#undef CROAK
#define CROAK croak
-void win32_endhostent()
+void
+win32_endhostent()
{
- CROAK("endhostent not implemented!\n");
+ CROAK("endhostent not implemented!\n");
}
-void win32_endnetent()
+void
+win32_endnetent()
{
- CROAK("endnetent not implemented!\n");
+ CROAK("endnetent not implemented!\n");
}
-void win32_endprotoent()
+void
+win32_endprotoent()
{
- CROAK("endprotoent not implemented!\n");
+ CROAK("endprotoent not implemented!\n");
}
-void win32_endservent()
+void
+win32_endservent()
{
- CROAK("endservent not implemented!\n");
+ CROAK("endservent not implemented!\n");
}
-struct netent *win32_getnetent(void)
+struct netent *
+win32_getnetent(void)
{
- CROAK("getnetent not implemented!\n");
- return (struct netent *) NULL;
+ CROAK("getnetent not implemented!\n");
+ return (struct netent *) NULL;
}
-struct netent *win32_getnetbyname(char *name)
+struct netent *
+win32_getnetbyname(char *name)
{
- CROAK("getnetbyname not implemented!\n");
- return (struct netent *)NULL;
+ CROAK("getnetbyname not implemented!\n");
+ return (struct netent *)NULL;
}
-struct netent *win32_getnetbyaddr(long net, int type)
+struct netent *
+win32_getnetbyaddr(long net, int type)
{
- CROAK("getnetbyaddr not implemented!\n");
- return (struct netent *)NULL;
+ CROAK("getnetbyaddr not implemented!\n");
+ return (struct netent *)NULL;
}
-struct protoent *win32_getprotoent(void)
+struct protoent *
+win32_getprotoent(void)
{
- CROAK("getprotoent not implemented!\n");
- return (struct protoent *) NULL;
+ CROAK("getprotoent not implemented!\n");
+ return (struct protoent *) NULL;
}
-struct servent *win32_getservent(void)
+struct servent *
+win32_getservent(void)
{
- CROAK("getservent not implemented!\n");
- return (struct servent *) NULL;
+ CROAK("getservent not implemented!\n");
+ return (struct servent *) NULL;
}
-void win32_sethostent(int stayopen)
+void
+win32_sethostent(int stayopen)
{
- CROAK("sethostent not implemented!\n");
+ CROAK("sethostent not implemented!\n");
}
-void win32_setnetent(int stayopen)
+void
+win32_setnetent(int stayopen)
{
- CROAK("setnetent not implemented!\n");
+ CROAK("setnetent not implemented!\n");
}
-void win32_setprotoent(int stayopen)
+void
+win32_setprotoent(int stayopen)
{
- CROAK("setprotoent not implemented!\n");
+ CROAK("setprotoent not implemented!\n");
}
-void win32_setservent(int stayopen)
+void
+win32_setservent(int stayopen)
{
- CROAK("setservent not implemented!\n");
+ CROAK("setservent not implemented!\n");
}