diff options
author | Nick Ing-Simmons <nik@tiuk.ti.com> | 2001-03-24 14:31:49 +0000 |
---|---|---|
committer | Nick Ing-Simmons <nik@tiuk.ti.com> | 2001-03-24 14:31:49 +0000 |
commit | 8c0134a884f927d58f584b87281e5a27133cbf8f (patch) | |
tree | c8ab595e27dc62b04dc3888d299f0cab124d2f04 /win32 | |
parent | 5dd1177c222be3aa5f44de160a952953bc5703a5 (diff) | |
download | perl-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.mk | 12 | ||||
-rw-r--r-- | win32/perlhost.h | 11 | ||||
-rw-r--r-- | win32/win32.c | 8 | ||||
-rw-r--r-- | win32/win32iop.h | 1 |
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); |