summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
Diffstat (limited to 'win32')
-rw-r--r--win32/Makefile17
-rw-r--r--win32/bin/PL2BAT.BAT40
-rw-r--r--win32/bin/pl2bat.bat54
-rw-r--r--win32/bin/search.bat2
-rw-r--r--win32/makedef.pl48
-rw-r--r--win32/modules.mak8
-rw-r--r--win32/perl.mak81
-rw-r--r--win32/perl.rc76
-rw-r--r--win32/perldll.mak6
-rw-r--r--win32/win32io.c3
10 files changed, 246 insertions, 89 deletions
diff --git a/win32/Makefile b/win32/Makefile
index 5dbfb3c92f..1136d15097 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -33,6 +33,7 @@ EXTUTILSDIR=$(LIBDIR)\extutils
#
# various targets
PERLLIB=..\libperl.lib
+PERLIMPLIB=..\perl.lib
MINIPERL=..\miniperl.exe
PERLDLL=..\perl.dll
PERLEXE=..\perl.exe
@@ -146,7 +147,7 @@ $(PERLEXE): $(MINIPERL) modules.lib $(PERLDLL)
attrib -r ..\t\*.*
copy test ..\t
$(XCOPY) ..\*.h ..\lib\CORE\*.*
- $(XCOPY) ..\perl.lib ..\lib\CORE
+ $(XCOPY) $(PERLIMPLIB) ..\lib\CORE
$(XCOPY) $(PERLLIB) ..\lib\CORE
$(XCOPY) *.h ..\lib\CORE
$(XCOPY) /S include ..\lib\CORE
@@ -240,15 +241,17 @@ utils: $(PERLEXE)
cd ..\win32
distclean:
- -del /f $(MINIPERL) $(PERLEXE) $(PERLDLL) $(GLOBEXE) \
- $(PERLLIB) modules.lib
+ -del /f $(MINIPERL) $(PERLEXE) $(PERLDLL) $(GLOBEXE) $(PERLLIB) \
+ $(PERLIMPLIB) ..\miniperl.lib 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 $(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 ..\lib\auto
+ -rmdir /s /q ..\lib\CORE
-rmdir /s /q release
-rmdir /s /q debug
diff --git a/win32/bin/PL2BAT.BAT b/win32/bin/PL2BAT.BAT
deleted file mode 100644
index 462affa7d0..0000000000
--- a/win32/bin/PL2BAT.BAT
+++ /dev/null
@@ -1,40 +0,0 @@
-@rem = '
-@echo off
-perl -S %0.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
-goto endofperl
-@rem ';
-
-$head = <<'--end--';
-@rem = '--*-Perl-*--';
-@rem = '
-@echo off
-perl -S %0.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
-goto endofperl
-@rem ';
---end--
-
-$tail = "__END__\n:endofperl\n";
-
-if ( @ARGV ) {
- LOOP:
- foreach ( @ARGV ) {
- open( FILE, $_ );
- @file = <FILE>;
- if ( grep( /:endofperl/, @file ) ) {
- warn "$_ has already been converted to a batch file!!\n";
- next LOOP;
- }
- close( FILE, $_ );
- s/\.pl//;
- s/\.bat//;
- open( FILE, ">$_.bat" );
- print FILE $head, @file, $tail;
- close( FILE );
- }
-} else {
- @file = <STDIN>;
- print $head, @file, $tail;
-}
-
-__END__
-:endofperl
diff --git a/win32/bin/pl2bat.bat b/win32/bin/pl2bat.bat
new file mode 100644
index 0000000000..7f5f39aa95
--- /dev/null
+++ b/win32/bin/pl2bat.bat
@@ -0,0 +1,54 @@
+@rem = '--*-Perl-*--
+@echo off
+perl -x -S %0.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
+goto endofperl
+@rem ';
+#!perl -w
+#line 8
+(my $head = <<'--end--') =~ s/^\t//gm;
+ @rem = '--*-Perl-*--
+ @echo off
+ perl -x -S %0.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
+ goto endofperl
+ @rem ';
+--end--
+my $headlines = 2 + ($head =~ tr/\n/\n/);
+my $tail = "__END__\n:endofperl\n";
+
+@ARGV = ('-') unless @ARGV;
+
+process(@ARGV);
+
+sub process {
+ LOOP:
+ foreach ( @_ ) {
+ my $myhead = $head;
+ my $linedone = 0;
+ my $linenum = $headlines;
+ my $line;
+ open( FILE, $_ ) or die "Can't open $_: $!";
+ @file = <FILE>;
+ foreach $line ( @file ) {
+ $linenum++;
+ if ( $line =~ /^:endofperl/) {
+ warn "$_ has already been converted to a batch file!\n";
+ next LOOP;
+ }
+ if ( not $linedone and $line =~ /^#!.*perl/ ) {
+ $line .= "#line $linenum\n";
+ $linedone++;
+ }
+ }
+ close( FILE );
+ s/\.pl$//;
+ $_ .= '.bat' unless /\.bat$/ or /^-$/;
+ open( FILE, ">$_" ) or die "Can't open $_: $!";
+ $myhead =~ s/perl -x/perl/ unless $linedone;
+ print FILE $myhead;
+ print FILE "#line $headlines\n" unless $linedone;
+ print FILE @file, $tail;
+ close( FILE );
+ }
+}
+__END__
+:endofperl
diff --git a/win32/bin/search.bat b/win32/bin/search.bat
index 0bb123759f..88e83e5040 100644
--- a/win32/bin/search.bat
+++ b/win32/bin/search.bat
@@ -653,7 +653,7 @@ sub read_rc
print "reading RC file: $file\n" if $show;
- while ($_ = ($use_default ? shift(@default) : <RC>)) {
+ while (defined($_ = ($use_default ? shift(@default) : <RC>))) {
$ln = ++$line_num; ## note starting line num.
$_ .= <RC>, $line_num++ while s/\\\n?$/\n/; ## allow continuations
next if /^\s*(#.*)?$/; ## skip blank or comment-only lines.
diff --git a/win32/makedef.pl b/win32/makedef.pl
index dfd507a865..7a1ddb20be 100644
--- a/win32/makedef.pl
+++ b/win32/makedef.pl
@@ -208,12 +208,6 @@ perl_call_pv
perl_call_method
perl_call_sv
perl_requirepv
-win32_inet_addr
-win32_gethostbyname
-win32_inet_ntoa
-win32_htons
-win32_ntohs
-win32_htonl
win32_stat
win32_errno
win32_stderr
@@ -258,3 +252,45 @@ win32_read
win32_write
win32_spawnvpe
win32_spawnle
+win32_htons
+win32_ntohs
+win32_htonl
+win32_ntohl
+win32_inet_addr
+win32_inet_ntoa
+win32_socket
+win32_bind
+win32_listen
+win32_accept
+win32_connect
+win32_send
+win32_sendto
+win32_recv
+win32_recvfrom
+win32_shutdown
+win32_ioctlsocket
+win32_setsockopt
+win32_getsockopt
+win32_getpeername
+win32_getsockname
+win32_gethostname
+win32_gethostbyname
+win32_gethostbyaddr
+win32_getprotobyname
+win32_getprotobynumber
+win32_getservbyname
+win32_getservbyport
+win32_select
+win32_endhostent
+win32_endnetent
+win32_endprotoent
+win32_endservent
+win32_getnetent
+win32_getnetbyname
+win32_getnetbyaddr
+win32_getprotoent
+win32_getservent
+win32_sethostent
+win32_setnetent
+win32_setprotoent
+win32_setservent
diff --git a/win32/modules.mak b/win32/modules.mak
index 2c4b0bf591..81812ebdc9 100644
--- a/win32/modules.mak
+++ b/win32/modules.mak
@@ -59,9 +59,9 @@ CLEAN :
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
+# ADD CPP /nologo /MT /W3 /O2 /I ".\include" /I "." /I ".." /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "PERLDLL" /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)/"\
+ "WIN32" /D "_WINDOWS" /D "PERLDLL" /Fp"$(INTDIR)/modules.pch" /YX /Fo"$(INTDIR)/"\
/c
CPP_OBJS=.\Release/
CPP_SBRS=.\.
@@ -108,9 +108,9 @@ CLEAN :
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
+# ADD CPP /nologo /MTd /W3 /Z7 /Od /I ".\include" /I "." /I ".." /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "PERLDLL" /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\
+ /D "WIN32" /D "_WINDOWS" /D "PERLDLL" /Fp"$(INTDIR)/modules.pch" /YX\
/Fo"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
CPP_SBRS=.\.
diff --git a/win32/perl.mak b/win32/perl.mak
index 558717c97d..6cc231d4d7 100644
--- a/win32/perl.mak
+++ b/win32/perl.mak
@@ -1,4 +1,4 @@
-# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20
+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
@@ -49,12 +49,13 @@ RSC=rc.exe
OUTDIR=.\Release
INTDIR=.\Release
-ALL : "..\_perl.exe"
+ALL : "$(OUTDIR)\_perl.exe"
CLEAN :
- -@erase "$(INTDIR)\perlmain.obj"
- -@erase "$(INTDIR)\win32io.obj"
-@erase "..\_perl.exe"
+ -@erase ".\Release\perlmain.obj"
+ -@erase ".\Release\win32io.obj"
+ -@erase ".\Release\perl.res"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
@@ -64,15 +65,15 @@ CLEAN :
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=.\.
+CPP_SBRS=
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)/perl.res" /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(OUTDIR)/perl.bsc"
-BSC32_SBRS= \
-
+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"
@@ -81,11 +82,12 @@ LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
/subsystem:console /incremental:no /pdb:"$(OUTDIR)/_perl.pdb" /machine:I386\
/out:"../_perl.exe"
LINK32_OBJS= \
- "$(INTDIR)\perlmain.obj" \
- "$(INTDIR)\win32io.obj" \
+ "$(INTDIR)/perlmain.obj" \
+ "$(INTDIR)/win32io.obj" \
+ "$(INTDIR)/perl.res" \
"..\perl.lib"
-"..\_perl.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+"$(OUTDIR)\_perl.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
@@ -105,35 +107,33 @@ LINK32_OBJS= \
OUTDIR=.\Debug
INTDIR=.\Debug
-ALL : "..\_perl.exe"
+ALL : "$(OUTDIR)\_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 ".\Debug\perlmain.obj"
+ -@erase ".\Debug\win32io.obj"
+ -@erase ".\Debug\perl.res"
-@erase "..\_perl.ilk"
+ -@erase ".\Debug\_perl.pdb"
"$(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
+# ADD CPP /nologo /MTd /W3 /Z7 /Od /I "." /I ".\include" /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
+CPP_PROJ=/nologo /MTd /W3 /Z7 /Od /I "." /I ".\include" /I ".." /D "WIN32" /D\
+ "_DEBUG" /D "_CONSOLE" /Fp"$(INTDIR)/perl.pch" /YX /Fo"$(INTDIR)/" /c
CPP_OBJS=.\Debug/
-CPP_SBRS=.\.
+CPP_SBRS=
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)/perl.res" /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
BSC32_FLAGS=/nologo /o"$(OUTDIR)/perl.bsc"
-BSC32_SBRS= \
-
+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"
@@ -142,11 +142,12 @@ LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
/subsystem:console /incremental:yes /pdb:"$(OUTDIR)/_perl.pdb" /debug\
/machine:I386 /out:"../_perl.exe"
LINK32_OBJS= \
- "$(INTDIR)\perlmain.obj" \
- "$(INTDIR)\win32io.obj" \
+ "$(INTDIR)/perlmain.obj" \
+ "$(INTDIR)/win32io.obj" \
+ "$(INTDIR)/perl.res" \
"..\perl.lib"
-"..\_perl.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+"$(OUTDIR)\_perl.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
@@ -191,9 +192,20 @@ DEP_CPP_PERLM=\
".\win32io.h"\
+!IF "$(CFG)" == "perl - Win32 Release"
+
+
+"$(INTDIR)\perlmain.obj" : $(SOURCE) $(DEP_CPP_PERLM) "$(INTDIR)"
+
+
+!ELSEIF "$(CFG)" == "perl - Win32 Debug"
+
+
"$(INTDIR)\perlmain.obj" : $(SOURCE) $(DEP_CPP_PERLM) "$(INTDIR)"
+!ENDIF
+
# End Source File
################################################################################
# Begin Source File
@@ -215,14 +227,27 @@ DEP_CPP_WIN32=\
".\include\sys/socket.h"\
".\win32io.h"\
".\win32iop.h"\
- {$(INCLUDE)}"\Sys\Stat.h"\
- {$(INCLUDE)}"\Sys\Types.h"\
+ {$(INCLUDE)}"\sys\STAT.H"\
+ {$(INCLUDE)}"\sys\TYPES.H"\
"$(INTDIR)\win32io.obj" : $(SOURCE) $(DEP_CPP_WIN32) "$(INTDIR)"
# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\perl.rc
+DEP_RSC_PERL_=\
+ ".\camel.ico"\
+
+
+"$(INTDIR)\perl.res" : $(SOURCE) $(DEP_RSC_PERL_) "$(INTDIR)"
+ $(RSC) $(RSC_PROJ) $(SOURCE)
+
+
+# End Source File
# End Target
# End Project
################################################################################
diff --git a/win32/perl.rc b/win32/perl.rc
new file mode 100644
index 0000000000..15eae7843f
--- /dev/null
+++ b/win32/perl.rc
@@ -0,0 +1,76 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+
+// you must obtain the icon for yourself, it's not in the dist
+#if 0
+camel ICON DISCARDABLE "camel.ico"
+#endif
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/win32/perldll.mak b/win32/perldll.mak
index 5b589c853b..6d63c46c8b 100644
--- a/win32/perldll.mak
+++ b/win32/perldll.mak
@@ -123,10 +123,10 @@ LINK32_OBJS= \
# PROP Output_Dir "debug"
# PROP Intermediate_Dir "debug"
# PROP Target_Dir ""
-OUTDIR=.\debug
+OUTDIR=.\..
INTDIR=.\debug
-ALL : "..\perl.dll"
+ALL : "$(OUTDIR)\perl.dll"
CLEAN :
-@erase "$(INTDIR)\perllib.obj"
@@ -182,7 +182,7 @@ LINK32_OBJS= \
"..\libperl.lib" \
".\modules.lib"
-"..\perl.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+"$(OUTDIR)\perl.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
diff --git a/win32/win32io.c b/win32/win32io.c
index 75832240c7..333b64a7ec 100644
--- a/win32/win32io.c
+++ b/win32/win32io.c
@@ -178,6 +178,9 @@ my_get_osfhandle( int filehandle )
return _get_osfhandle(filehandle);
}
+#ifdef PERLDLL
+__declspec(dllexport)
+#endif
WIN32_IOSUBSYSTEM win32stdio = {
12345678L, /* begin of structure; */
dummy_errno, /* (*pfunc_errno)(void); */