summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>2001-03-24 14:31:49 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>2001-03-24 14:31:49 +0000
commit8c0134a884f927d58f584b87281e5a27133cbf8f (patch)
treec8ab595e27dc62b04dc3888d299f0cab124d2f04 /win32
parent5dd1177c222be3aa5f44de160a952953bc5703a5 (diff)
downloadperl-8c0134a884f927d58f584b87281e5a27133cbf8f.tar.gz
PerlIO fixups for Win32:
- provide win33_popenlist() - non-functional as yet. - avoid need for aTHX in PerlIO_debug calls - even if not enabled args are still evaluated so Win32 has trouble during fork(). - Add PerlIO/Scalar to list of extensions in win32/makefile.mk - Fixup makedef.pl for latest set of symbols. p4raw-id: //depot/perlio@9321
Diffstat (limited to 'win32')
-rw-r--r--win32/makefile.mk12
-rw-r--r--win32/perlhost.h11
-rw-r--r--win32/win32.c8
-rw-r--r--win32/win32iop.h1
4 files changed, 30 insertions, 2 deletions
diff --git a/win32/makefile.mk b/win32/makefile.mk
index 5c21ebba8f..ef21bda824 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -743,7 +743,7 @@ SETARGV_OBJ = setargv$(o)
DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attrs Thread B re \
Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \
- Sys/Hostname Storable Filter/Util/Call Encode
+ Sys/Hostname Storable Filter/Util/Call Encode PerlIO/Scalar
STATIC_EXT = DynaLoader
NONXS_EXT = Errno
@@ -759,6 +759,7 @@ THREAD = $(EXTDIR)\Thread\Thread
B = $(EXTDIR)\B\B
RE = $(EXTDIR)\re\re
DUMPER = $(EXTDIR)\Data\Dumper\Dumper
+SCALAR = $(EXTDIR)\PerlIO\Scalar\Scalar
ERRNO = $(EXTDIR)\Errno\Errno
PEEK = $(EXTDIR)\Devel\Peek\Peek
BYTELOADER = $(EXTDIR)\ByteLoader\ByteLoader
@@ -779,6 +780,7 @@ ATTRS_DLL = $(AUTODIR)\attrs\attrs.dll
THREAD_DLL = $(AUTODIR)\Thread\Thread.dll
B_DLL = $(AUTODIR)\B\B.dll
DUMPER_DLL = $(AUTODIR)\Data\Dumper\Dumper.dll
+SCALAR_DLL = $(AUTODIR)\PerlIO\Scalar\Scalar.dll
PEEK_DLL = $(AUTODIR)\Devel\Peek\Peek.dll
RE_DLL = $(AUTODIR)\re\re.dll
BYTELOADER_DLL = $(AUTODIR)\ByteLoader\ByteLoader.dll
@@ -802,6 +804,7 @@ EXTENSION_C = \
$(THREAD).c \
$(RE).c \
$(DUMPER).c \
+ $(SCALARR).c \
$(PEEK).c \
$(B).c \
$(BYTELOADER).c \
@@ -821,6 +824,7 @@ EXTENSION_DLL = \
$(POSIX_DLL) \
$(ATTRS_DLL) \
$(DUMPER_DLL) \
+ $(SCALAR_DLL) \
$(PEEK_DLL) \
$(B_DLL) \
$(RE_DLL) \
@@ -1140,6 +1144,11 @@ $(DUMPER_DLL): $(PERLDEP) $(DUMPER).xs
..\..\..\miniperl -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
cd $(EXTDIR)\Data\$(*B) && $(MAKE)
+$(SCALAR_DLL): $(PERLDEP) $(SCALAR).xs
+ cd $(EXTDIR)\PerlIO\$(*B) && \
+ ..\..\..\miniperl -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
+ cd $(EXTDIR)\PerlIO\$(*B) && $(MAKE)
+
$(DPROF_DLL): $(PERLDEP) $(DPROF).xs
cd $(EXTDIR)\Devel\$(*B) && \
..\..\..\miniperl -I..\..\..\lib Makefile.PL INSTALLDIRS=perl
@@ -1275,6 +1284,7 @@ distclean: clean
-del /f $(LIBDIR)\SDBM_File.pm $(LIBDIR)\Socket.pm $(LIBDIR)\POSIX.pm
-del /f $(LIBDIR)\B.pm $(LIBDIR)\O.pm $(LIBDIR)\re.pm
-del /f $(LIBDIR)\Data\Dumper.pm $(LIBDIR)\ByteLoader.pm
+ -del /f $(LIBDIR)\PerlIO\Scalar.pm
-del /f $(LIBDIR)\Devel\Peek.pm $(LIBDIR)\Devel\DProf.pm
-del /f $(LIBDIR)\File\Glob.pm
-del /f $(LIBDIR)\Storable.pm
diff --git a/win32/perlhost.h b/win32/perlhost.h
index 719d82ac04..815be84b84 100644
--- a/win32/perlhost.h
+++ b/win32/perlhost.h
@@ -1594,6 +1594,14 @@ PerlProcPopen(struct IPerlProc* piPerl, const char *command, const char *mode)
return win32_popen(command, mode);
}
+PerlIO*
+PerlProcPopenList(struct IPerlProc* piPerl, const char *mode, IV narg, SV **args)
+{
+ dTHXo;
+ PERL_FLUSHALL_FOR_CHILD;
+ return win32_popenlist(mode, narg, args);
+}
+
int
PerlProcPclose(struct IPerlProc* piPerl, PerlIO *stream)
{
@@ -1893,7 +1901,8 @@ struct IPerlProc perlProc =
PerlProcSpawn,
PerlProcSpawnvp,
PerlProcASpawn,
- PerlProcLastHost
+ PerlProcLastHost,
+ PerlProcPopenList
};
diff --git a/win32/win32.c b/win32/win32.c
index 226ef9b7c0..d2d70e5506 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -2356,6 +2356,14 @@ win32_pipe(int *pfd, unsigned int size, int mode)
return _pipe(pfd, size, mode);
}
+DllExport PerlIO*
+win32_popenlist(const char *mode, IV narg, SV **args)
+{
+ dTHX;
+ Perl_croak(aTHX_ "List form of pipe open not implemented");
+ return NULL;
+}
+
/*
* a popen() clone that respects PERL5SHELL
*
diff --git a/win32/win32iop.h b/win32/win32iop.h
index 5412f5e9a3..4d78839888 100644
--- a/win32/win32iop.h
+++ b/win32/win32iop.h
@@ -73,6 +73,7 @@ DllExport int win32_fstat(int fd,struct stat *sbufptr);
DllExport int win32_stat(const char *name,struct stat *sbufptr);
DllExport int win32_pipe( int *phandles, unsigned int psize, int textmode );
DllExport PerlIO* win32_popen( const char *command, const char *mode );
+DllExport PerlIO* win32_popenlist(const char *mode, IV narg, SV **args);
DllExport int win32_pclose( PerlIO *pf);
DllExport int win32_rename( const char *oname, const char *newname);
DllExport int win32_setmode( int fd, int mode);