summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl/win32
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2001-05-24 18:36:42 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2001-05-24 18:36:42 +0000
commit8bab8b19946f98d4be49345ca9c42e56674b65fb (patch)
treebd62d7b5d463fab205d08914b30ba647eb3c8bc8 /gnu/usr.bin/perl/win32
parent483d4e680bd2a6db14835b1b4d65be33488d532b (diff)
merge in perl 5.6.1 with our local changes
Diffstat (limited to 'gnu/usr.bin/perl/win32')
-rw-r--r--gnu/usr.bin/perl/win32/Makefile241
-rw-r--r--gnu/usr.bin/perl/win32/bin/search.pl9
-rw-r--r--gnu/usr.bin/perl/win32/config.bc74
-rw-r--r--gnu/usr.bin/perl/win32/config.vc76
-rw-r--r--gnu/usr.bin/perl/win32/config_H.bc289
-rw-r--r--gnu/usr.bin/perl/win32/config_H.gc289
-rw-r--r--gnu/usr.bin/perl/win32/config_H.vc289
-rw-r--r--gnu/usr.bin/perl/win32/include/sys/socket.h39
-rw-r--r--gnu/usr.bin/perl/win32/makefile.mk259
-rw-r--r--gnu/usr.bin/perl/win32/perllib.c9
-rw-r--r--gnu/usr.bin/perl/win32/pod.mak7
-rw-r--r--gnu/usr.bin/perl/win32/win32.c278
-rw-r--r--gnu/usr.bin/perl/win32/win32.h81
-rw-r--r--gnu/usr.bin/perl/win32/win32iop.h4
-rw-r--r--gnu/usr.bin/perl/win32/win32sck.c93
15 files changed, 1404 insertions, 633 deletions
diff --git a/gnu/usr.bin/perl/win32/Makefile b/gnu/usr.bin/perl/win32/Makefile
index 1531f727f00..08030afb3a3 100644
--- a/gnu/usr.bin/perl/win32/Makefile
+++ b/gnu/usr.bin/perl/win32/Makefile
@@ -1,26 +1,86 @@
#
# Makefile to build perl on Windows NT using Microsoft NMAKE.
#
-# This is set up to build a perl.exe that runs off a shared library
-# (perl56.dll). Also makes individual DLLs for the XS extensions.
-#
##
## Make sure you read README.win32 *before* you mess with anything here!
##
+## If you want a configuration that is the same as ActivePerl (see
+## www.ActiveState.com) make sure you set at least BUILD_FLAVOR below!
+##
##
## Build configuration. Edit the values below to suit your needs.
##
#
-# Set these to wherever you want "nmake install" to put your
-# newly built perl.
+# Set these to wherever you want "nmake install" to put your newly
+# built perl. Setting it to a path with spaces is NOT recommended.
#
INST_DRV = c:
INST_TOP = $(INST_DRV)\perl
#
+# uncomment one of the following lines if you are using either
+# Visual C++ 2.x, or Visual C++ 5.x (aka Visual Studio 97) _without_
+# service pack 3 applied.
+#
+# If you have 5.x SP3 or later, or 6.x, no change is required.
+#
+#CCTYPE = MSVC20
+#CCTYPE = MSVC_PRE_50SP3
+
+#
+# set the install locations of the compiler include/libraries. Running
+# VCVARS32.BAT is *required* when using Visual C. Some versions of
+# Visual C earlier than 5.x SP3 don't define MSVCDIR in the environment.
+# If such is the case you may have to set CCHOME explicitly. Spaces in
+# the path name should not be quoted.
+#
+# If you have run VCVARS32.BAT and have VC 5.x SP3 or later, the defaults
+# should just work.
+#
+#CCHOME = f:\msvc20
+CCHOME = $(MSVCDIR)
+CCINCDIR = $(CCHOME)\include
+CCLIBDIR = $(CCHOME)\lib
+
+#
+# if you have the source for des_fcrypt(), uncomment CRYPT_SRC and make sure
+# the file exists (see README.win32). File should be located in the same
+# directory as this makefile.
+#
+# If you didn't set CRYPT_SRC and if you have des_fcrypt() available in a
+# library, uncomment CRYPT_LIB, and make sure the library exists (see
+# README.win32). Specify the full pathname of the library.
+#
+# If you don't enable one of these, the crypt() builtin will fail to work.
+# (Generally not critical.)
+#
+#CRYPT_SRC = fcrypt.c
+#CRYPT_LIB = fcrypt.lib
+
+#
+# uncomment this option if you want to bulk-enable all the options that
+# ActiveState uses to build their ActivePerl distribution. If you set this,
+# there should be no need to set any of the other options that follow.
+#
+# If you don't enable this, the defaults below will get you the most
+# efficient perl configuration possible that will also be compatible
+# with the build defaults used on Unix platforms. On the other hand,
+# the ActivePerl configuration will get you fork() emulation at the
+# cost of some added bloat.
+#
+#BUILD_FLAVOR = ActivePerl
+
+#
+# uncomment next line if you want debug version of perl (big and slow).
+# If not enabled, we automatically try to use maximum optimization
+# with all compilers that are known to have a working optimizer.
+#
+#CFG = Debug
+
+#
# Comment this out if you DON'T want your perl installation to be versioned.
# This means that the new installation will overwrite any files from the
# old installation at the same INST_TOP location. Leaving it enabled is
@@ -29,7 +89,7 @@ INST_TOP = $(INST_DRV)\perl
# versioned installation can be obtained by setting INST_TOP above to a
# path that includes an arbitrary version string.
#
-INST_VER = \5.6.0
+INST_VER = \5.6.1
#
# Comment this out if you DON'T want your perl installation to have
@@ -40,27 +100,27 @@ INST_VER = \5.6.0
# the same location. Commenting it out gives you a simpler
# installation that is easier to understand for beginners.
#
-INST_ARCH = \$(ARCHNAME)
+INST_ARCH = \$(ARCHNAME)
#
# uncomment to enable multiple interpreters. This is need for fork()
# emulation.
#
-#USE_MULTI = define
+#USE_MULTI = define
#
# Beginnings of interpreter cloning/threads; still very incomplete.
# This should be enabled to get the fork() emulation. This needs
# USE_MULTI as well.
#
-#USE_ITHREADS = define
+#USE_ITHREADS = define
#
# uncomment to enable the implicit "host" layer for all system calls
# made by perl. This needs USE_MULTI above. This is also needed to
# get fork().
#
-#USE_IMP_SYS = define
+#USE_IMP_SYS = define
#
# WARNING! This option is deprecated and will eventually go away (enable
@@ -79,23 +139,11 @@ INST_ARCH = \$(ARCHNAME)
# uncomment next line if you want to use the PERL_OBJECT build option.
# DO NOT ENABLE unless you have legacy code that relies on the C++
# CPerlObj class that was available in 5.005. This cannot be enabled
-# if you ask for USE_5005THREADS above.
+# if you ask for USE_5005THREADS or USE_MULTI above.
#
#USE_OBJECT = define
#
-# uncomment one of the following lines if you are using either
-# Visual C++ 2.x or Visual C++ 6.x (aka Visual Studio 98)
-#
-#CCTYPE = MSVC20
-#CCTYPE = MSVC60
-
-#
-# uncomment next line if you want debug version of perl (big,slow)
-#
-#CFG = Debug
-
-#
# uncomment to enable use of PerlCRT.DLL when using the Visual C compiler.
# It has patches that fix known bugs in older versions of MSVCRT.DLL.
# This currently requires VC 5.0 with Service Pack 3 or later.
@@ -108,28 +156,15 @@ INST_ARCH = \$(ARCHNAME)
#
# uncomment to enable linking with setargv.obj under the Visual C
-# compiler. Setting this options enables perl to expand wildcards in
+# compiler. Setting this option enables perl to expand wildcards in
# arguments, but it may be harder to use alternate methods like
-# File::DosGlob that are more powerful. This option is supported only with
-# Visual C.
+# File::DosGlob that are more powerful, or use perl inside shells
+# that do the expansion for you. This option is supported only
+# with Visual C.
#
#USE_SETARGV = define
#
-# if you have the source for des_fcrypt(), uncomment this and make sure the
-# file exists (see README.win32). File should be located in the same
-# directory as this file.
-#
-#CRYPT_SRC = fcrypt.c
-
-#
-# if you didn't set CRYPT_SRC and if you have des_fcrypt() available in a
-# library, uncomment this, and make sure the library exists (see README.win32)
-# Specify the full pathname of the library.
-#
-#CRYPT_LIB = fcrypt.lib
-
-#
# set this if you wish to use perl's malloc
# WARNING: Turning this on/off WILL break binary compatibility with extensions
# you may have compiled with/without it. Be prepared to recompile all
@@ -139,18 +174,6 @@ INST_ARCH = \$(ARCHNAME)
#PERL_MALLOC = define
#
-# set the install locations of the compiler include/libraries
-# Running VCVARS32.BAT is *required* when using Visual C.
-# Some versions of Visual C don't define MSVCDIR in the environment,
-# so you may have to set CCHOME explicitly (spaces in the path name should
-# not be quoted)
-#
-#CCHOME = f:\msvc20
-CCHOME = $(MSVCDIR)
-CCINCDIR = $(CCHOME)\include
-CCLIBDIR = $(CCHOME)\lib
-
-#
# Additional compiler flags can be specified here.
#
@@ -193,6 +216,19 @@ EXTRALIBDIRS =
##################### CHANGE THESE ONLY IF YOU MUST #####################
+!IF "$(BUILD_FLAVOR)" == "ActivePerl"
+INST_VER =
+INST_ARCH =
+USE_MULTI = define
+USE_ITHREADS = define
+USE_IMP_SYS = define
+USE_5005THREADS = undef
+USE_OBJECT = undef
+USE_PERLCRT = undef
+USE_SETARGV =
+PERL_MALLOC = undef
+!ENDIF
+
!IF "$(CRYPT_SRC)$(CRYPT_LIB)" == ""
D_CRYPT = undef
!ELSE
@@ -223,6 +259,10 @@ USE_ITHREADS = undef
PERL_MALLOC = undef
!ENDIF
+!IF "$(CCTYPE)" == ""
+CCTYPE = MSVC60
+!ENDIF
+
!IF "$(USE_MULTI)" == ""
USE_MULTI = undef
!ENDIF
@@ -284,18 +324,12 @@ ARCHNAME = $(ARCHNAME)-thread
# Visual Studio 98 specific
!IF "$(CCTYPE)" == "MSVC60"
-
# VC 6.0 can load the socket dll on demand. Makes the test suite
# run in about 10% less time.
DELAYLOAD = -DELAYLOAD:wsock32.dll -DELAYLOAD:shell32.dll delayimp.lib
-
-# VC 6.0 seems capable of compiling perl correctly with optimizations
-# enabled. Anything earlier fails tests.
-!IF "$(CFG)" == ""
-CFG = Optimize
-!ENDIF
!ENDIF
+
ARCHDIR = ..\lib\$(ARCHNAME)
COREDIR = ..\lib\CORE
AUTODIR = ..\lib\auto
@@ -311,7 +345,7 @@ INST_LIB = $(INST_TOP)$(INST_VER)\lib
INST_ARCHLIB = $(INST_LIB)$(INST_ARCH)
INST_COREDIR = $(INST_ARCHLIB)\CORE
INST_POD = $(INST_LIB)\pod
-INST_HTML = $(INST_POD)\html
+INST_HTML = $(INST_TOP)$(INST_VER)\html
#
# Programs to compile, build .lib files and link
@@ -350,16 +384,17 @@ OPTIMIZE = -Od -MD -Zi -DDEBUGGING
! ENDIF
LINK_DBG = -debug -pdb:none
!ELSE
-! IF "$(CFG)" == "Optimize"
# -O1 yields smaller code, which turns out to be faster than -O2
-#OPTIMIZE = -O2 -MD -DNDEBUG
OPTIMIZE = -O1 -MD -DNDEBUG
-! ELSE
+# VC 6.0 seems capable of compiling perl correctly with optimizations
+# enabled. Anything earlier fails tests.
+! IF "$(CCTYPE)" == "MSVC20" || "$(CCTYPE)" == "MSVC_PRE_50SP3"
OPTIMIZE = -Od -MD -DNDEBUG
! ENDIF
LINK_DBG = -release
!ENDIF
+
!IF "$(USE_OBJECT)" == "define"
OPTIMIZE = $(OPTIMIZE) $(CXX_FLAG)
BUILDOPT = $(BUILDOPT) -DPERL_OBJECT
@@ -687,7 +722,7 @@ CFG_VARS = \
"INST_ARCH=$(INST_ARCH)" \
"archname=$(ARCHNAME)" \
"cc=$(CC)" \
- "ccflags=$(OPTIMIZE:"=\") $(DEFINES) $(BUILDOPT)" \
+ "ccflags=-nologo $(OPTIMIZE:"=\") $(DEFINES) $(BUILDOPT)" \
"cf_email=$(EMAIL)" \
"d_crypt=$(D_CRYPT)" \
"d_mymalloc=$(PERL_MALLOC)" \
@@ -830,7 +865,7 @@ perlmain$(o) : perlmain.c
$(CC) $(CFLAGS_O) -UPERLDLL $(OBJOUT_FLAG)$@ -c perlmain.c
$(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
- $(LINK32) -subsystem:console -out:$@ -stack:0x8000000 $(LINK_FLAGS) \
+ $(LINK32) -subsystem:console -out:$@ -stack:0x1000000 $(LINK_FLAGS) \
$(LIBFILES) $(PERLEXE_OBJ) $(SETARGV_OBJ) $(PERLIMPLIB) $(PERLEXE_RES)
copy $(PERLEXE) $(WPERLEXE)
$(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS
@@ -963,14 +998,23 @@ utils: $(PERLEXE) $(X2P)
cd ..\utils
$(MAKE) PERL=$(MINIPERL)
cd ..\pod
- copy ..\README.amiga .\perlamiga.pod
- copy ..\README.cygwin .\perlcygwin.pod
- copy ..\README.dos .\perldos.pod
- copy ..\README.hpux .\perlhpux.pod
- copy ..\README.machten .\perlmachten.pod
- copy ..\README.os2 .\perlos2.pod
- copy ..\vms\perlvms.pod .\perlvms.pod
- copy ..\README.win32 .\perlwin32.pod
+ copy ..\README.aix .\perlaix.pod
+ copy ..\README.amiga .\perlamiga.pod
+ copy ..\README.bs2000 .\perlbs2000.pod
+ copy ..\README.cygwin .\perlcygwin.pod
+ copy ..\README.dos .\perldos.pod
+ copy ..\README.epoc .\perlepoc.pod
+ copy ..\README.hpux .\perlhpux.pod
+ copy ..\README.machten .\perlmachten.pod
+ copy ..\README.macos .\perlmacos.pod
+ copy ..\README.mpeix .\perlmpeix.pod
+ copy ..\README.os2 .\perlos2.pod
+ copy ..\README.os390 .\perlos390.pod
+ copy ..\README.solaris .\perlsolaris.pod
+ copy ..\README.vmesa .\perlvmesa.pod
+ copy ..\vms\perlvms.pod .\perlvms.pod
+ copy ..\README.vos .\perlvos.pod
+ copy ..\README.win32 .\perlwin32.pod
$(MAKE) -f ..\win32\pod.mak converters
cd ..\win32
$(PERLEXE) $(PL2BAT) $(UTILS)
@@ -981,25 +1025,32 @@ distclean: clean
-del /f *.def *.map
-del /f $(EXTENSION_DLL) $(EXTENSION_PM)
-del /f $(EXTENSION_C) $(DYNALOADER).c $(ERRNO).pm
- -del /f $(EXTDIR)\DynaLoader\dl_win32.xs
+ -del /f $(EXTDIR)\DynaLoader\dl_win32.xs $(EXTDIR)\DynaLoader\DynaLoader.pm
-del /f $(LIBDIR)\.exists $(LIBDIR)\attrs.pm $(LIBDIR)\DynaLoader.pm
- -del /f $(LIBDIR)\XSLoader.pm
+ -del /f $(LIBDIR)\XSLoader.pm $(EXTDIR)\DynaLoader\XSLoader.pm
+ -del /f $(LIBDIR)\Devel\.exists $(LIBDIR)\File\.exists $(LIBDIR)\Sys\.exists
-del /f $(LIBDIR)\Fcntl.pm $(LIBDIR)\IO.pm $(LIBDIR)\Opcode.pm
-del /f $(LIBDIR)\ops.pm $(LIBDIR)\Safe.pm $(LIBDIR)\Thread.pm
-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)\B.pm $(EXTDIR)\B\defsubs.h $(LIBDIR)\O.pm $(LIBDIR)\re.pm
-del /f $(LIBDIR)\Data\Dumper.pm $(LIBDIR)\ByteLoader.pm
-del /f $(LIBDIR)\Devel\Peek.pm $(LIBDIR)\Devel\DProf.pm
-del /f $(LIBDIR)\File\Glob.pm
- -rmdir /s /q $(LIBDIR)\IO || rmdir /s $(LIBDIR)\IO
- -rmdir /s /q $(LIBDIR)\Thread || rmdir /s $(LIBDIR)\Thread
- -rmdir /s /q $(LIBDIR)\B || rmdir /s $(LIBDIR)\B
- -rmdir /s /q $(LIBDIR)\Data || rmdir /s $(LIBDIR)\Data
- -del /f $(PODDIR)\*.html
- -del /f $(PODDIR)\*.bat
+ -if exist $(LIBDIR)\IO rmdir /s /q $(LIBDIR)\IO || rmdir /s $(LIBDIR)\IO
+ -if exist $(LIBDIR)\Thread rmdir /s /q $(LIBDIR)\Thread || rmdir /s $(LIBDIR)\Thread
+ -if exist $(LIBDIR)\B rmdir /s /q $(LIBDIR)\B || rmdir /s $(LIBDIR)\B
+ -if exist $(LIBDIR)\Data rmdir /s /q $(LIBDIR)\Data || rmdir /s $(LIBDIR)\Data
+ cd $(PODDIR)
+ -del /f *.html *.bat checkpods \
+ perlaix.pod perlamiga.pod perlbs2000.pod perlcygwin.pod \
+ perldos.pod perlepoc.pod perlhpux.pod perlmachten.pod \
+ perlmacos.pod perlmpeix.pod perlos2.pod perlos390.pod \
+ perlsolaris.pod perlvmesa.pod perlvms.pod perlvos.pod \
+ perlwin32.pod pod2html pod2latex pod2man pod2text pod2usage \
+ podchecker podselect
cd ..\utils
- -del /f h2ph splain perlbug pl2pm c2ph h2xs perldoc dprofpp
- -del /f *.bat
+ -del /f h2ph splain perlbug pl2pm c2ph h2xs perldoc dprofpp \
+ *.bat perlcc pstruct
cd ..\win32
cd ..\x2p
-del /f find2perl s2p
@@ -1011,8 +1062,8 @@ distclean: clean
cd $(EXTDIR)
-del /s *.lib *.def *.map *.pdb *.bs Makefile *$(o) pm_to_blib
cd ..\win32
- -rmdir /s /q $(AUTODIR) || rmdir /s $(AUTODIR)
- -rmdir /s /q $(COREDIR) || rmdir /s $(COREDIR)
+ -if exist $(AUTODIR) rmdir /s /q $(AUTODIR) || rmdir /s $(AUTODIR)
+ -if exist $(COREDIR) rmdir /s /q $(COREDIR) || rmdir /s $(COREDIR)
install : all installbare installhtml
@@ -1080,7 +1131,7 @@ clean :
-@erase $(WPERLEXE)
-@erase $(PERLDLL)
-@erase $(CORE_OBJ)
- -rmdir /s /q $(MINIDIR) || rmdir /s $(MINIDIR)
+ -if exist $(MINIDIR) rmdir /s /q $(MINIDIR) || rmdir /s $(MINIDIR)
-@erase $(WIN32_OBJ)
-@erase $(DLL_OBJ)
-@erase $(X2P_OBJ)
@@ -1089,3 +1140,19 @@ clean :
-@erase ..\x2p\*.exe ..\x2p\*.bat
-@erase *.ilk
-@erase *.pdb
+
+# Handy way to run perlbug -ok without having to install and run the
+# installed perlbug. We don't re-run the tests here - we trust the user.
+# Please *don't* use this unless all tests pass.
+# If you want to report test failures, use "nmake nok" instead.
+ok: utils
+ $(PERLEXE) -I..\lib ..\utils\perlbug -ok -s "(UNINSTALLED)"
+
+okfile: utils
+ $(PERLEXE) -I..\lib ..\utils\perlbug -ok -s "(UNINSTALLED)" -F perl.ok
+
+nok: utils
+ $(PERLEXE) -I..\lib ..\utils\perlbug -nok -s "(UNINSTALLED)"
+
+nokfile: utils
+ $(PERLEXE) -I..\lib ..\utils\perlbug -nok -s "(UNINSTALLED)" -F perl.nok
diff --git a/gnu/usr.bin/perl/win32/bin/search.pl b/gnu/usr.bin/perl/win32/bin/search.pl
index ad74001be5f..f647b8426f3 100644
--- a/gnu/usr.bin/perl/win32/bin/search.pl
+++ b/gnu/usr.bin/perl/win32/bin/search.pl
@@ -47,7 +47,12 @@ $version = "950918.5";
$stripped=0;
&init;
-$rc_file = join('/', $ENV{'HOME'}, ".search");
+if (exists $ENV{'HOME'}) {
+ $rc_file = join('/', $ENV{'HOME'}, ".search");
+}
+else {
+ $rc_file = "";
+}
&check_args;
@@ -621,7 +626,7 @@ sub read_rc
local($line_num, $ln, $tag) = 0;
local($use_default, @default) = 0;
- { package magic; $ = 0; } ## turn off warnings for when we run EXPR's
+ { package magic; $^W= 0; } ## turn off warnings for when we run EXPR's
unless (open(RC, "$file")) {
$use_default=1;
diff --git a/gnu/usr.bin/perl/win32/config.bc b/gnu/usr.bin/perl/win32/config.bc
index 1b984bb08d8..92c2bcb9d74 100644
--- a/gnu/usr.bin/perl/win32/config.bc
+++ b/gnu/usr.bin/perl/win32/config.bc
@@ -7,7 +7,6 @@ Header=''
Id='$Id'
Locker=''
Log='$Log'
-Mcc='Mcc'
RCSfile='$RCSfile'
Revision='$Revision'
Source=''
@@ -41,11 +40,14 @@ byteorder='1234'
c=''
castflags='0'
cat='type'
-cc='bcc32'
+cc='~CC~'
cccdlflags=' '
ccdlflags='-tWD'
ccflags='-DWIN32'
+ccflags_uselargefiles=''
+ccname='~CC~'
ccsymbols=''
+ccversion=''
cf_by='nobody'
cf_email='nobody@no.where.net'
cf_time=''
@@ -71,11 +73,13 @@ cppsymbols=''
crosscompile='undef'
cryptlib=''
csh='undef'
+d_SCNfldbl='undef'
+d__fwalk='undef'
d_Gconvert='gcvt((x),(n),(b))'
-d_PRIEldbl='undef'
-d_PRIFldbl='undef'
-d_PRIGldbl='undef'
-d_PRIX64='undef'
+d_PRIEUldbl='undef'
+d_PRIFUldbl='undef'
+d_PRIGUldbl='undef'
+d_PRIXU64='undef'
d_PRId64='undef'
d_PRIeldbl='undef'
d_PRIfldbl='undef'
@@ -125,12 +129,12 @@ d_endnent='undef'
d_endpent='undef'
d_endpwent='undef'
d_endsent='undef'
-d_endspent='undef'
d_eofnblk='define'
d_eunice='undef'
d_fchmod='undef'
d_fchown='undef'
d_fcntl='undef'
+d_fcntl_can_lock='undef'
d_fd_macros='define'
d_fd_set='define'
d_fds_bits='define'
@@ -140,14 +144,17 @@ d_flock='define'
d_fork='undef'
d_fpathconf='undef'
d_fpos64_t='undef'
+d_frexpl='undef'
d_fs_data_s='undef'
d_fseeko='undef'
d_fsetpos='define'
d_fstatfs='undef'
d_fstatvfs='undef'
+d_fsync='undef'
d_ftello='undef'
d_ftime='define'
d_getcwd='undef'
+d_getespwnam='undef'
d_getfsstat='undef'
d_getgrent='undef'
d_getgrps='undef'
@@ -163,6 +170,7 @@ d_getnbyaddr='undef'
d_getnbyname='undef'
d_getnent='undef'
d_getnetprotos='undef'
+d_getpagsz='undef'
d_getpbyname='define'
d_getpbynumber='define'
d_getpent='undef'
@@ -172,12 +180,12 @@ d_getpgrp='undef'
d_getppid='undef'
d_getprior='undef'
d_getprotoprotos='define'
+d_getprpwnam='undef'
d_getpwent='undef'
d_getsbyname='define'
d_getsbyport='define'
d_getsent='undef'
d_getservprotos='define'
-d_getspent='undef'
d_getspnam='undef'
d_gettimeod='undef'
d_gnulibc='undef'
@@ -189,6 +197,8 @@ d_index='undef'
d_inetaton='undef'
d_int64_t='undef'
d_isascii='define'
+d_isnan='define'
+d_isnanl='undef'
d_killpg='undef'
d_lchown='undef'
d_ldbl_dig='define'
@@ -215,6 +225,7 @@ d_mkstemp='undef'
d_mkstemps='undef'
d_mktime='define'
d_mmap='undef'
+d_modfl='undef'
d_mprotect='undef'
d_msg='undef'
d_msg_ctrunc='undef'
@@ -231,6 +242,7 @@ d_munmap='undef'
d_mymalloc='undef'
d_nice='undef'
d_nv_preserves_uv='define'
+d_nv_preserves_uv_bits='32'
d_off64_t='undef'
d_old_pthread_create_joinable='undef'
d_oldpthreads='undef'
@@ -238,6 +250,7 @@ d_oldsock='undef'
d_open3='undef'
d_pathconf='undef'
d_pause='define'
+d_perl_otherlibdirs='undef'
d_phostname='undef'
d_pipe='define'
d_poll='undef'
@@ -261,6 +274,7 @@ d_rmdir='define'
d_safebcpy='undef'
d_safemcpy='undef'
d_sanemcmp='define'
+d_sbrkproto='undef'
d_sched_yield='undef'
d_scm_rights='undef'
d_seekdir='define'
@@ -284,6 +298,7 @@ d_setpgid='undef'
d_setpgrp2='undef'
d_setpgrp='undef'
d_setprior='undef'
+d_setproctitle='undef'
d_setpwent='undef'
d_setregid='undef'
d_setresgid='undef'
@@ -293,7 +308,6 @@ d_setrgid='undef'
d_setruid='undef'
d_setsent='undef'
d_setsid='undef'
-d_setspent='undef'
d_setvbuf='define'
d_sfio='undef'
d_shm='undef'
@@ -307,6 +321,7 @@ d_sigsetjmp='undef'
d_socket='define'
d_socklen_t='undef'
d_sockpair='undef'
+d_socks5_init='undef'
d_sqrtl='undef'
d_statblks='undef'
d_statfs_f_flags='undef'
@@ -314,6 +329,8 @@ d_statfs_s='undef'
d_statvfs='undef'
d_stdio_cnt_lval='define'
d_stdio_ptr_lval='define'
+d_stdio_ptr_lval_sets_cnt='undef'
+d_stdio_ptr_lval_nochange_cnt='undef'
d_stdio_stream_array='undef'
d_stdiobase='define'
d_stdstdio='define'
@@ -393,6 +410,7 @@ freetype='void'
full_ar=''
full_csh=''
full_sed=''
+gccosandvers=''
gccversion=''
gidformat='"d"'
gidsign='-1'
@@ -407,7 +425,6 @@ h_fcntl='false'
h_sysfile='true'
hint='recommended'
hostcat='ypcat hosts'
-huge=''
i16size='2'
i16type='short'
i32size='4'
@@ -430,6 +447,7 @@ i_grp='undef'
i_iconv='undef'
i_ieeefp='undef'
i_inttypes='undef'
+i_libutil='undef'
i_limits='define'
i_locale='define'
i_machcthr='undef'
@@ -443,6 +461,7 @@ i_neterrno='undef'
i_netinettcp='undef'
i_niin='undef'
i_poll='undef'
+i_prot='undef'
i_pthread='undef'
i_pwd='undef'
i_rpcsvcdbm='define'
@@ -517,15 +536,16 @@ installvendorarch=''
installvendorbin=''
installvendorlib=''
intsize='4'
+issymlink=''
ivdformat='"ld"'
ivsize='4'
ivtype='long'
known_extensions='~static_ext~ ~dynamic_ext~ ~nonxs_ext~'
ksh=''
-large=''
-ld='tlink32'
+ld='~LINK32~'
lddlflags='-Tpd ~LINK_FLAGS~'
ldflags='~LINK_FLAGS~'
+ldflags_uselargefiles=''
ldlibpthname=''
less='less'
lib_ext='.lib'
@@ -538,6 +558,7 @@ libsfiles=''
libsfound=''
libspath=''
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'
+libswanted_uselargefiles=''
line='line'
lint=''
lkflags=''
@@ -566,11 +587,9 @@ man1ext='1'
man3dir='~INST_TOP~~INST_VER~\man\man3'
man3direxp='~INST_TOP~~INST_VER~\man\man3'
man3ext='3'
-medium=''
mips_type=''
mkdir='mkdir'
mmaptype='void *'
-models='none'
modetype='mode_t'
more='more /e'
multiarch='undef'
@@ -589,6 +608,12 @@ nm_opt=''
nm_so_opt=''
nonxs_ext='Errno'
nroff=''
+nvEUformat='"E"'
+nvFUformat='"F"'
+nvGUformat='"G"'
+nveformat='"e"'
+nvfformat='"f"'
+nvgformat='"g"'
nvsize='8'
nvtype='double'
o_nonblock='O_NONBLOCK'
@@ -598,14 +623,16 @@ optimize='-O2'
orderlib='false'
osname='MSWin32'
osvers='4.0'
+otherlibdirs=''
package='perl5'
pager='more /e'
passcat=''
-patchlevel='~PATCHLEVEL~'
+patchlevel='~PERL_VERSION~'
path_sep=';'
perl5=''
perl='perl'
perladmin=''
+perllibs='~libs~'
perlpath='~INST_TOP~~INST_VER~\bin~INST_ARCH~\perl.exe'
pg=''
phostname='hostname'
@@ -631,10 +658,10 @@ revision='5'
rm='del'
rmail=''
runnm='true'
-sPRIEldbl='"E"'
-sPRIFldbl='"F"'
-sPRIGldbl='"G"'
-sPRIX64='"lX"'
+sPRIEUldbl='"E"'
+sPRIFUldbl='"F"'
+sPRIGUldbl='"G"'
+sPRIXU64='"lX"'
sPRId64='"ld"'
sPRIeldbl='"e"'
sPRIfldbl='"f"'
@@ -643,6 +670,7 @@ sPRIi64='"li"'
sPRIo64='"lo"'
sPRIu64='"lu"'
sPRIx64='"lx"'
+sSCNfldbl='"f"'
sched_yield=''
scriptdir='~INST_TOP~~INST_VER~\bin'
scriptdirexp='~INST_TOP~~INST_VER~\bin'
@@ -677,7 +705,6 @@ sizesize='4'
sizetype='size_t'
sleep=''
smail=''
-small=''
so='dll'
sockethdr=''
socketlib=''
@@ -685,7 +712,6 @@ socksizetype='int'
sort='sort'
spackage='Perl5'
spitshell=''
-split=''
src=''
ssizetype='int'
startperl='#!perl'
@@ -700,7 +726,7 @@ stdio_ptr='((fp)->curp)'
stdio_stream_array=''
strings='/usr/include/string.h'
submit=''
-subversion='~SUBVERSION~'
+subversion='~PERL_SUBVERSION~'
sysman='/usr/man/man1'
tail=''
tar=''
@@ -750,6 +776,7 @@ usevendorprefix='undef'
usevfork='false'
usrinc='/usr/include'
uuname=''
+uvXUformat='"lX"'
uvoformat='"lo"'
uvsize='4'
uvtype='unsigned long'
@@ -765,6 +792,7 @@ vendorlibexp=''
vendorprefix=''
vendorprefixexp=''
version='~VERSION~'
+versiononly='undef'
vi=''
voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
@@ -777,5 +805,3 @@ PERL_VERSION='~PERL_VERSION~'
PERL_API_REVISION='~PERL_API_REVISION~'
PERL_API_SUBVERSION='~PERL_API_SUBVERSION~'
PERL_API_VERSION='~PERL_API_VERSION~'
-PATCHLEVEL='~PERL_VERSION~'
-SUBVERSION='~PERL_SUBVERSION~'
diff --git a/gnu/usr.bin/perl/win32/config.vc b/gnu/usr.bin/perl/win32/config.vc
index f3dff460ca0..d08fdb75282 100644
--- a/gnu/usr.bin/perl/win32/config.vc
+++ b/gnu/usr.bin/perl/win32/config.vc
@@ -1,4 +1,4 @@
-## Configured by: ~cf_email~
+# Configured by: ~cf_email~
## Target system: WIN32
Author=''
CONFIGDOTSH='true'
@@ -7,7 +7,6 @@ Header=''
Id='$Id'
Locker=''
Log='$Log'
-Mcc='Mcc'
RCSfile='$RCSfile'
Revision='$Revision'
Source=''
@@ -41,11 +40,14 @@ byteorder='1234'
c=''
castflags='0'
cat='type'
-cc='cl'
+cc='~CC~'
cccdlflags=' '
ccdlflags=' '
ccflags='-MD -DWIN32'
+ccflags_uselargefiles=''
+ccname='~CC~'
ccsymbols=''
+ccversion=''
cf_by='nobody'
cf_email='nobody@no.where.net'
cf_time=''
@@ -71,11 +73,13 @@ cppsymbols=''
crosscompile='undef'
cryptlib=''
csh='undef'
+d_SCNfldbl='undef'
+d__fwalk='undef'
d_Gconvert='sprintf((b),"%.*g",(n),(x))'
-d_PRIEldbl='undef'
-d_PRIFldbl='undef'
-d_PRIGldbl='undef'
-d_PRIX64='undef'
+d_PRIEUldbl='undef'
+d_PRIFUldbl='undef'
+d_PRIGUldbl='undef'
+d_PRIXU64='undef'
d_PRId64='undef'
d_PRIeldbl='undef'
d_PRIfldbl='undef'
@@ -125,12 +129,12 @@ d_endnent='undef'
d_endpent='undef'
d_endpwent='undef'
d_endsent='undef'
-d_endspent='undef'
d_eofnblk='define'
d_eunice='undef'
d_fchmod='undef'
d_fchown='undef'
d_fcntl='undef'
+d_fcntl_can_lock='undef'
d_fd_macros='define'
d_fd_set='define'
d_fds_bits='define'
@@ -140,14 +144,17 @@ d_flock='define'
d_fork='undef'
d_fpathconf='undef'
d_fpos64_t='undef'
+d_frexpl='undef'
d_fs_data_s='undef'
d_fseeko='undef'
d_fsetpos='define'
d_fstatfs='undef'
d_fstatvfs='undef'
+d_fsync='undef'
d_ftello='undef'
d_ftime='define'
d_getcwd='undef'
+d_getespwnam='undef'
d_getfsstat='undef'
d_getgrent='undef'
d_getgrps='undef'
@@ -163,6 +170,7 @@ d_getnbyaddr='undef'
d_getnbyname='undef'
d_getnent='undef'
d_getnetprotos='undef'
+d_getpagsz='undef'
d_getpbyname='define'
d_getpbynumber='define'
d_getpent='undef'
@@ -172,12 +180,12 @@ d_getpgrp='undef'
d_getppid='undef'
d_getprior='undef'
d_getprotoprotos='define'
+d_getprpwnam='undef'
d_getpwent='undef'
d_getsbyname='define'
d_getsbyport='define'
d_getsent='undef'
d_getservprotos='define'
-d_getspent='undef'
d_getspnam='undef'
d_gettimeod='undef'
d_gnulibc='undef'
@@ -189,6 +197,8 @@ d_index='undef'
d_inetaton='undef'
d_int64_t='undef'
d_isascii='define'
+d_isnan='define'
+d_isnanl='undef'
d_killpg='undef'
d_lchown='undef'
d_ldbl_dig='define'
@@ -215,6 +225,7 @@ d_mkstemp='undef'
d_mkstemps='undef'
d_mktime='define'
d_mmap='undef'
+d_modfl='undef'
d_mprotect='undef'
d_msg='undef'
d_msg_ctrunc='undef'
@@ -231,6 +242,7 @@ d_munmap='undef'
d_mymalloc='undef'
d_nice='undef'
d_nv_preserves_uv='define'
+d_nv_preserves_uv_bits='32'
d_off64_t='undef'
d_old_pthread_create_joinable='undef'
d_oldpthreads='undef'
@@ -238,6 +250,7 @@ d_oldsock='undef'
d_open3='undef'
d_pathconf='undef'
d_pause='define'
+d_perl_otherlibdirs='undef'
d_phostname='undef'
d_pipe='define'
d_poll='undef'
@@ -261,6 +274,7 @@ d_rmdir='define'
d_safebcpy='undef'
d_safemcpy='undef'
d_sanemcmp='define'
+d_sbrkproto='undef'
d_sched_yield='undef'
d_scm_rights='undef'
d_seekdir='define'
@@ -284,6 +298,7 @@ d_setpgid='undef'
d_setpgrp2='undef'
d_setpgrp='undef'
d_setprior='undef'
+d_setproctitle='undef'
d_setpwent='undef'
d_setregid='undef'
d_setresgid='undef'
@@ -293,7 +308,6 @@ d_setrgid='undef'
d_setruid='undef'
d_setsent='undef'
d_setsid='undef'
-d_setspent='undef'
d_setvbuf='define'
d_sfio='undef'
d_shm='undef'
@@ -307,6 +321,7 @@ d_sigsetjmp='undef'
d_socket='define'
d_socklen_t='undef'
d_sockpair='undef'
+d_socks5_init='undef'
d_sqrtl='undef'
d_statblks='undef'
d_statfs_f_flags='undef'
@@ -314,6 +329,8 @@ d_statfs_s='undef'
d_statvfs='undef'
d_stdio_cnt_lval='define'
d_stdio_ptr_lval='define'
+d_stdio_ptr_lval_sets_cnt='undef'
+d_stdio_ptr_lval_nochange_cnt='undef'
d_stdio_stream_array='undef'
d_stdiobase='define'
d_stdstdio='define'
@@ -393,6 +410,7 @@ freetype='void'
full_ar=''
full_csh=''
full_sed=''
+gccosandvers=''
gccversion=''
gidformat='"ld"'
gidsign='-1'
@@ -407,7 +425,6 @@ h_fcntl='false'
h_sysfile='true'
hint='recommended'
hostcat='ypcat hosts'
-huge=''
i16size='2'
i16type='short'
i32size='4'
@@ -430,6 +447,7 @@ i_grp='undef'
i_iconv='undef'
i_ieeefp='undef'
i_inttypes='undef'
+i_libutil='undef'
i_limits='define'
i_locale='define'
i_machcthr='undef'
@@ -443,6 +461,7 @@ i_neterrno='undef'
i_netinettcp='undef'
i_niin='undef'
i_poll='undef'
+i_prot='undef'
i_pthread='undef'
i_pwd='undef'
i_rpcsvcdbm='define'
@@ -517,15 +536,16 @@ installvendorarch=''
installvendorbin=''
installvendorlib=''
intsize='4'
+issymlink=''
ivdformat='"ld"'
ivsize='4'
ivtype='long'
known_extensions='~static_ext~ ~dynamic_ext~ ~nonxs_ext~'
ksh=''
-large=''
-ld='link'
+ld='~LINK32~'
lddlflags='-dll ~LINK_FLAGS~'
ldflags='~LINK_FLAGS~'
+ldflags_uselargefiles=''
ldlibpthname=''
less='less'
lib_ext='.lib'
@@ -538,6 +558,7 @@ libsfiles=''
libsfound=''
libspath=''
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'
+libswanted_uselargefiles=''
line='line'
lint=''
lkflags=''
@@ -566,11 +587,9 @@ man1ext='1'
man3dir='~INST_TOP~~INST_VER~\man\man3'
man3direxp='~INST_TOP~~INST_VER~\man\man3'
man3ext='3'
-medium=''
mips_type=''
mkdir='mkdir'
mmaptype='void *'
-models='none'
modetype='mode_t'
more='more /e'
multiarch='undef'
@@ -589,6 +608,12 @@ nm_opt=''
nm_so_opt=''
nonxs_ext='Errno'
nroff=''
+nvEUformat='"E"'
+nvFUformat='"F"'
+nvGUformat='"G"'
+nveformat='"e"'
+nvfformat='"f"'
+nvgformat='"g"'
nvsize='8'
nvtype='double'
o_nonblock='O_NONBLOCK'
@@ -598,14 +623,16 @@ optimize='-O'
orderlib='false'
osname='MSWin32'
osvers='4.0'
+otherlibdirs=''
package='perl5'
pager='more /e'
passcat=''
-patchlevel='~PATCHLEVEL~'
+patchlevel='~PERL_VERSION~'
path_sep=';'
perl5=''
perl='perl'
perladmin=''
+perllibs='~libs~'
perlpath='~INST_TOP~~INST_VER~\bin~INST_ARCH~\perl.exe'
pg=''
phostname='hostname'
@@ -631,10 +658,10 @@ revision='5'
rm='del'
rmail=''
runnm='true'
-sPRIEldbl='"E"'
-sPRIFldbl='"F"'
-sPRIGldbl='"G"'
-sPRIX64='"lX"'
+sPRIEUldbl='"E"'
+sPRIFUldbl='"F"'
+sPRIGUldbl='"G"'
+sPRIXU64='"lX"'
sPRId64='"ld"'
sPRIeldbl='"e"'
sPRIfldbl='"f"'
@@ -643,6 +670,7 @@ sPRIi64='"li"'
sPRIo64='"lo"'
sPRIu64='"lu"'
sPRIx64='"lx"'
+sSCNfldbl='"f"'
sched_yield=''
scriptdir='~INST_TOP~~INST_VER~\bin'
scriptdirexp='~INST_TOP~~INST_VER~\bin'
@@ -677,7 +705,6 @@ sizesize='4'
sizetype='size_t'
sleep=''
smail=''
-small=''
so='dll'
sockethdr=''
socketlib=''
@@ -685,7 +712,6 @@ socksizetype='int'
sort='sort'
spackage='Perl5'
spitshell=''
-split=''
src=''
ssizetype='int'
startperl='#!perl'
@@ -700,7 +726,7 @@ stdio_ptr='((fp)->_ptr)'
stdio_stream_array=''
strings='/usr/include/string.h'
submit=''
-subversion='~SUBVERSION~'
+subversion='~PERL_SUBVERSION~'
sysman='/usr/man/man1'
tail=''
tar=''
@@ -750,6 +776,7 @@ usevendorprefix='undef'
usevfork='false'
usrinc='/usr/include'
uuname=''
+uvXUformat='"lX"'
uvoformat='"lo"'
uvsize='4'
uvtype='unsigned long'
@@ -765,6 +792,7 @@ vendorlibexp=''
vendorprefix=''
vendorprefixexp=''
version='~VERSION~'
+versiononly='undef'
vi=''
voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
@@ -777,5 +805,3 @@ PERL_VERSION='~PERL_VERSION~'
PERL_API_REVISION='~PERL_API_REVISION~'
PERL_API_SUBVERSION='~PERL_API_SUBVERSION~'
PERL_API_VERSION='~PERL_API_VERSION~'
-PATCHLEVEL='~PERL_VERSION~'
-SUBVERSION='~PERL_SUBVERSION~'
diff --git a/gnu/usr.bin/perl/win32/config_H.bc b/gnu/usr.bin/perl/win32/config_H.bc
index 7e04ed184f5..5e8610e10c4 100644
--- a/gnu/usr.bin/perl/win32/config_H.bc
+++ b/gnu/usr.bin/perl/win32/config_H.bc
@@ -13,7 +13,7 @@
/*
* Package name : perl5
* Source directory :
- * Configuration time: Tue Mar 21 01:26:35 2000
+ * Configuration time: Thu Feb 1 08:29:38 2001
* Configured by : gsar
* Target system :
*/
@@ -220,17 +220,6 @@
*/
/*#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_GETPGRP2:
* This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
* routine is available to get the current process group.
@@ -485,18 +474,6 @@
*/
/*#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.
- */
-/*#define HAS_SETPGRP /**/
-/*#define USE_BSD_SETPGRP /**/
-
/* HAS_SETPGRP2:
* This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
* routine is available to set the current process group.
@@ -980,12 +957,6 @@
*/
#define SH_PATH "cmd /x /c" /**/
-/* STDCHAR:
- * This symbol is defined to be the type of char used in stdio.h.
- * It has the values "unsigned char" or "char".
- */
-#define STDCHAR unsigned char /**/
-
/* CROSSCOMPILE:
* This symbol, if defined, signifies that we our
* build process is a cross-compilation.
@@ -1088,7 +1059,7 @@
* 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 "c:\\perl\\5.6.0\\lib\\MSWin32-x86" /**/
+#define ARCHLIB "c:\\perl\\5.6.1\\lib\\MSWin32-x86" /**/
/*#define ARCHLIB_EXP "" /**/
/* ARCHNAME:
@@ -1119,8 +1090,8 @@
* 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 "c:\\perl\\5.6.0\\bin\\MSWin32-x86" /**/
-#define BIN_EXP "c:\\perl\\5.6.0\\bin\\MSWin32-x86" /**/
+#define BIN "c:\\perl\\5.6.1\\bin\\MSWin32-x86" /**/
+#define BIN_EXP "c:\\perl\\5.6.1\\bin\\MSWin32-x86" /**/
/* PERL_BINCOMPAT_5005:
* This symbol, if defined, indicates that this version of Perl should be
@@ -1180,21 +1151,21 @@
* This macro surrounds its token with double quotes.
*/
#if 42 == 1
-# define CAT2(a,b) a/**/b
-# define STRINGIFY(a) "a"
+#define CAT2(a,b) a/**/b
+#define STRINGIFY(a) "a"
/* If you can get stringification with catify, tell me how! */
#endif
#if 42 == 42
-# define PeRl_CaTiFy(a, b) a ## b
-# define PeRl_StGiFy(a) #a
+#define PeRl_CaTiFy(a, b) a ## b
+#define PeRl_StGiFy(a) #a
/* the additional level of indirection enables these macros to be
* used as arguments to other macros. See K&R 2nd ed., page 231. */
-# define CAT2(a,b) PeRl_CaTiFy(a,b)
-# define StGiFy(a) PeRl_StGiFy(a)
-# define STRINGIFY(a) PeRl_StGiFy(a)
+#define CAT2(a,b) PeRl_CaTiFy(a,b)
+#define StGiFy(a) PeRl_StGiFy(a)
+#define STRINGIFY(a) PeRl_StGiFy(a)
#endif
#if 42 != 1 && 42 != 42
-#include "Bletch: How does this C preprocessor catenate tokens?"
+# include "Bletch: How does this C preprocessor catenate tokens?"
#endif
/* CPPSTDIN:
@@ -1324,23 +1295,30 @@
*/
/*#define HAS_ENDSERVENT /**/
-/* HAS_ENDSPENT:
- * This symbol, if defined, indicates that the endspent system call is
- * available to finalize the scan of SysV shadow password entries.
- */
-/*#define HAS_ENDSPENT /**/
-
/* HAS_FD_SET:
* This symbol, when defined, indicates presence of the fd_set typedef
* in <sys/types.h>
*/
#define HAS_FD_SET /**/
+/* FLEXFILENAMES:
+ * This symbol, if defined, indicates that the system supports filenames
+ * longer than 14 characters.
+ */
+#define FLEXFILENAMES /**/
+
/* HAS_FPOS64_T:
* This symbol will be defined if the C compiler supports fpos64_t.
*/
/*#define HAS_FPOS64_T /**/
+/* HAS_FREXPL:
+ * This symbol, if defined, indicates that the frexpl routine is
+ * available to break a long double floating-point number into
+ * a normalized fraction and an integral power of 2.
+ */
+/*#define HAS_FREXPL /**/
+
/* HAS_STRUCT_FS_DATA:
* This symbol, if defined, indicates that the struct fs_data
* to do statfs() is supported.
@@ -1388,6 +1366,12 @@
*/
/*#define HAS_GETCWD /**/
+/* HAS_GETESPWNAM:
+ * This symbol, if defined, indicates that the getespwnam system call is
+ * available to retrieve enchanced (shadow) password entries by name.
+ */
+/*#define HAS_GETESPWNAM /**/
+
/* HAS_GETFSSTAT:
* This symbol, if defined, indicates that the getfsstat routine is
* available to stat filesystems in bulk.
@@ -1493,6 +1477,13 @@
*/
/*#define HAS_GETNET_PROTOS /**/
+/* HAS_GETPAGESIZE:
+ * This symbol, if defined, indicates that the getpagesize system call
+ * is available to get system page size, which is the granularity of
+ * many memory management calls.
+ */
+/*#define HAS_GETPAGESIZE /**/
+
/* HAS_GETPROTOENT:
* This symbol, if defined, indicates that the getprotoent() routine is
* available to look up protocols in some data base or another.
@@ -1518,6 +1509,12 @@
*/
#define HAS_GETPROTO_PROTOS /**/
+/* HAS_GETPRPWNAM:
+ * This symbol, if defined, indicates that the getprpwnam system call is
+ * available to retrieve protected (shadow) password entries by name.
+ */
+/*#define HAS_GETPRPWNAM /**/
+
/* HAS_GETPWENT:
* This symbol, if defined, indicates that the getpwent routine is
* available for sequential access of the passwd database.
@@ -1539,12 +1536,6 @@
*/
#define HAS_GETSERV_PROTOS /**/
-/* HAS_GETSPENT:
- * This symbol, if defined, indicates that the getspent system call is
- * available to retrieve SysV shadow password entries sequentially.
- */
-/*#define HAS_GETSPENT /**/
-
/* HAS_GETSPNAM:
* This symbol, if defined, indicates that the getspnam system call is
* available to retrieve SysV shadow password entries by name.
@@ -1620,6 +1611,25 @@
*/
#define HAS_ISASCII /**/
+/* HAS_ISNAN:
+ * This symbol, if defined, indicates that the isnan routine is
+ * available to check whether a double is a NaN.
+ */
+#define HAS_ISNAN /**/
+
+/* HAS_ISNANL:
+ * This symbol, if defined, indicates that the isnanl routine is
+ * available to check whether a long double is a NaN.
+ */
+/*#define HAS_ISNANL /**/
+
+/* HAS_LCHOWN:
+ * This symbol, if defined, indicates that the lchown routine is
+ * available to operate on a symbolic link (instead of following the
+ * link).
+ */
+/*#define HAS_LCHOWN /**/
+
/* HAS_LDBL_DIG:
* This symbol, if defined, indicates that this system's <float.h>
* or <limits.h> defines the symbol LDBL_DIG, which is the number
@@ -1707,6 +1717,13 @@
/*#define HAS_MMAP /**/
#define Mmap_t void * /**/
+/* HAS_MODFL:
+ * This symbol, if defined, indicates that the modfl routine is
+ * available to split a long double x into a fractional part f and
+ * an integer part i such that |f| < 1.0 and (f + i) = x.
+ */
+/*#define HAS_MODFL /**/
+
/* HAS_MPROTECT:
* This symbol, if defined, indicates that the mprotect system call is
* available to modify the access protection of a memory mapped file.
@@ -1819,6 +1836,12 @@
*/
/*#define HAS_SETPROTOENT /**/
+/* HAS_SETPROCTITLE:
+ * This symbol, if defined, indicates that the setproctitle routine is
+ * available to set process title.
+ */
+/*#define HAS_SETPROCTITLE /**/
+
/* HAS_SETPWENT:
* This symbol, if defined, indicates that the setpwent routine is
* available for initializing sequential access of the passwd database.
@@ -1831,12 +1854,6 @@
*/
/*#define HAS_SETSERVENT /**/
-/* HAS_SETSPENT:
- * This symbol, if defined, indicates that the setspent system call is
- * available to initialize the scan of SysV shadow password entries.
- */
-/*#define HAS_SETSPENT /**/
-
/* HAS_SETVBUF:
* This symbol, if defined, indicates that the setvbuf routine is
* available to change buffering on an open stdio stream.
@@ -1940,6 +1957,12 @@
/*#define HAS_MSG_PROXY /**/
/*#define HAS_SCM_RIGHTS /**/
+/* HAS_SOCKS5_INIT:
+ * This symbol, if defined, indicates that the socks5_init routine is
+ * available to initialize SOCKS 5.
+ */
+/*#define HAS_SOCKS5_INIT /**/
+
/* HAS_SQRTL:
* This symbol, if defined, indicates that the sqrtl routine is
* available to do long double square roots.
@@ -2002,12 +2025,23 @@
* This symbol is defined if the FILE_cnt macro can be used as an
* lvalue.
*/
+/* STDIO_PTR_LVAL_SETS_CNT:
+ * This symbol is defined if using the FILE_ptr macro as an lvalue
+ * to increase the pointer by n has the side effect of decreasing the
+ * value of File_cnt(fp) by n.
+ */
+/* STDIO_PTR_LVAL_NOCHANGE_CNT:
+ * This symbol is defined if using the FILE_ptr macro as an lvalue
+ * to increase the pointer by n leaves File_cnt(fp) unchanged.
+ */
#define USE_STDIO_PTR /**/
#ifdef USE_STDIO_PTR
#define FILE_ptr(fp) ((fp)->curp)
#define STDIO_PTR_LVALUE /**/
#define FILE_cnt(fp) ((fp)->level)
#define STDIO_CNT_LVALUE /**/
+/*#define STDIO_PTR_LVAL_SETS_CNT /**/
+/*#define STDIO_PTR_LVAL_NOCHANGE_CNT /**/
#endif
/* USE_STDIO_BASE:
@@ -2275,6 +2309,12 @@
*/
/*#define I_INTTYPES /**/
+/* I_LIBUTIL:
+ * This symbol, if defined, indicates that <libutil.h> exists and
+ * should be included.
+ */
+/*#define I_LIBUTIL /**/
+
/* I_MACH_CTHREADS:
* This symbol, if defined, indicates to the C program that it should
* include <mach/cthreads.h>.
@@ -2305,6 +2345,12 @@
*/
/*#define I_POLL /**/
+/* I_PROT:
+ * This symbol, if defined, indicates that <prot.h> exists and
+ * should be included.
+ */
+/*#define I_PROT /**/
+
/* I_PTHREAD:
* This symbol, if defined, indicates to the C program that it should
* include <pthread.h>.
@@ -2467,8 +2513,18 @@
* This symbol, if defined, contains the string used by stdio to
* format long doubles (format 'g') for output.
*/
+/* PERL_PRIeldbl:
+ * This symbol, if defined, contains the string used by stdio to
+ * format long doubles (format 'e') for output.
+ */
+/* PERL_SCNfldbl:
+ * This symbol, if defined, contains the string used by stdio to
+ * format long doubles (format 'f') for input.
+ */
/*#define PERL_PRIfldbl "f" /**/
/*#define PERL_PRIgldbl "g" /**/
+/*#define PERL_PRIeldbl "e" /**/
+/*#define PERL_SCNfldbl "f" /**/
/* Off_t:
* This symbol holds the type used to declare offsets in the kernel.
@@ -2556,6 +2612,16 @@
#define Netdb_name_t char * /**/
#define Netdb_net_t long /**/
+/* PERL_OTHERLIBDIRS:
+ * This variable contains a colon-separated set of paths for the perl
+ * binary to search for additional library files or modules.
+ * These directories will be tacked to the end of @INC.
+ * Perl will automatically search below each path for version-
+ * and architecture-specific directories. See PERL_INC_VERSION_LIST
+ * for more details.
+ */
+/*#define PERL_OTHERLIBDIRS "" /**/
+
/* IVTYPE:
* This symbol defines the C type used for Perl's IV.
*/
@@ -2619,9 +2685,16 @@
/* U64SIZE:
* This symbol contains the sizeof(U64).
*/
+/* NVSIZE:
+ * This symbol contains the sizeof(NV).
+ */
/* NV_PRESERVES_UV:
* This symbol, if defined, indicates that a variable of type NVTYPE
- * can preserve all the bit of a variable of type UVSIZE.
+ * can preserve all the bits of a variable of type UVTYPE.
+ */
+/* NV_PRESERVES_UV_BITS:
+ * This symbol contains the number of bits a variable of type NVTYPE
+ * can preserve of a variable of type UVTYPE.
*/
#define IVTYPE long /**/
#define UVTYPE unsigned long /**/
@@ -2648,7 +2721,9 @@
#define I64SIZE 8 /**/
#define U64SIZE 8 /**/
#endif
+#define NVSIZE 8 /**/
#define NV_PRESERVES_UV
+#define NV_PRESERVES_UV_BITS 32
/* IVdf:
* This symbol defines the format string used for printing a Perl IV
@@ -2664,12 +2739,27 @@
*/
/* UVxf:
* This symbol defines the format string used for printing a Perl UV
- * as an unsigned hexadecimal integer.
+ * as an unsigned hexadecimal integer in lowercase abcdef.
+ */
+/* NVef:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %e-ish floating point format.
+ */
+/* NVff:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %f-ish floating point format.
+ */
+/* NVgf:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %g-ish floating point format.
*/
#define IVdf "ld" /**/
#define UVuf "lu" /**/
#define UVof "lo" /**/
#define UVxf "lx" /**/
+#define NVef "e" /**/
+#define NVff "f" /**/
+#define NVgf "g" /**/
/* Pid_t:
* This symbol holds the type used to declare process ids in the kernel.
@@ -2688,8 +2778,8 @@
* 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 "c:\\perl\\5.6.0\\lib" /**/
-#define PRIVLIB_EXP (win32_get_privlib("5.6.0")) /**/
+#define PRIVLIB "c:\\perl\\5.6.1\\lib" /**/
+#define PRIVLIB_EXP (win32_get_privlib("5.6.1")) /**/
/* PTRSIZE:
* This symbol contains the size of a pointer, so that the C preprocessor
@@ -2787,7 +2877,7 @@
* 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 "c:\\perl\\site\\5.6.0\\lib\\MSWin32-x86" /**/
+#define SITEARCH "c:\\perl\\site\\5.6.1\\lib\\MSWin32-x86" /**/
/*#define SITEARCH_EXP "" /**/
/* SITELIB:
@@ -2810,8 +2900,8 @@
* removed. The elements in inc_version_list (inc_version_list.U) can
* be tacked onto this variable to generate a list of directories to search.
*/
-#define SITELIB "c:\\perl\\site\\5.6.0\\lib" /**/
-#define SITELIB_EXP (win32_get_sitelib("5.6.0")) /**/
+#define SITELIB "c:\\perl\\site\\5.6.1\\lib" /**/
+#define SITELIB_EXP (win32_get_sitelib("5.6.1")) /**/
#define SITELIB_STEM "" /**/
/* Size_t_size:
@@ -3036,7 +3126,7 @@
/* PERL_XS_APIVERSION:
* This variable contains the version of the oldest perl binary
* compatible with the present perl. perl.c:incpush() and
- * lib/lib.pm will automatically search in c:\\perl\\site\\5.6.0\\lib\\MSWin32-x86 for older
+ * lib/lib.pm will automatically search in c:\\perl\\site\\5.6.1\\lib\\MSWin32-x86 for older
* directories across major versions back to xs_apiversion.
* This is only useful if you have a perl library directory tree
* structured like the default one.
@@ -3055,7 +3145,7 @@
* compatible with the present perl. (That is, pure perl modules
* written for pm_apiversion will still work for the current
* version). perl.c:incpush() and lib/lib.pm will automatically
- * search in c:\\perl\\site\\5.6.0\\lib for older directories across major versions
+ * search in c:\\perl\\site\\5.6.1\\lib for older directories across major versions
* back to pm_apiversion. This is only useful if you have a perl
* library directory tree structured like the default one. The
* versioned site_perl library was introduced in 5.005, so that's
@@ -3068,17 +3158,62 @@
#define PERL_XS_APIVERSION "5.6.0"
#define PERL_PM_APIVERSION "5.005"
-/* HAS_LCHOWN:
- * This symbol, if defined, indicates that the lchown routine is
- * available to operate on a symbolic link (instead of following the
- * link).
+/* HAS_GETPGRP:
+ * This symbol, if defined, indicates that the getpgrp routine is
+ * available to get the current process group.
*/
-/*#define HAS_LCHOWN /**/
+/* 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 /**/
-/* FLEXFILENAMES:
- * This symbol, if defined, indicates that the system supports filenames
- * longer than 14 characters.
+/* HAS_SETPGRP:
+ * This symbol, if defined, indicates that the setpgrp routine is
+ * available to set the current process group.
*/
-#define FLEXFILENAMES /**/
+/* 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.
+ */
+/*#define HAS_SETPGRP /**/
+/*#define USE_BSD_SETPGRP /**/
+
+/* STDCHAR:
+ * This symbol is defined to be the type of char used in stdio.h.
+ * It has the values "unsigned char" or "char".
+ */
+#define STDCHAR unsigned char /**/
+
+/* HAS__FWALK:
+ * This symbol, if defined, indicates that the _fwalk system call is
+ * available to apply a function to all the file handles.
+ */
+/*#define HAS__FWALK /**/
+
+/* FCNTL_CAN_LOCK:
+ * This symbol, if defined, indicates that fcntl() can be used
+ * for file locking. Normally on Unix systems this is defined.
+ * It may be undefined on VMS.
+ */
+/*#define FCNTL_CAN_LOCK /**/
+
+/* HAS_FSYNC:
+ * This symbol, if defined, indicates that the fsync routine is
+ * available to write a file's modified data and attributes to
+ * permanent storage.
+ */
+/*#define HAS_FSYNC /**/
+
+/* HAS_SBRK_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the sbrk() function. Otherwise, it is up
+ * to the program to supply one. Good guesses are
+ * extern void* sbrk _((int));
+ * extern void* sbrk _((size_t));
+ */
+/*#define HAS_SBRK_PROTO /**/
#endif
diff --git a/gnu/usr.bin/perl/win32/config_H.gc b/gnu/usr.bin/perl/win32/config_H.gc
index 07e89dadb57..fe08aa9c601 100644
--- a/gnu/usr.bin/perl/win32/config_H.gc
+++ b/gnu/usr.bin/perl/win32/config_H.gc
@@ -13,7 +13,7 @@
/*
* Package name : perl5
* Source directory :
- * Configuration time: Tue Mar 21 01:26:44 2000
+ * Configuration time: Thu Feb 1 08:30:01 2001
* Configured by : gsar
* Target system :
*/
@@ -220,17 +220,6 @@
*/
/*#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_GETPGRP2:
* This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
* routine is available to get the current process group.
@@ -485,18 +474,6 @@
*/
/*#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.
- */
-/*#define HAS_SETPGRP /**/
-/*#define USE_BSD_SETPGRP /**/
-
/* HAS_SETPGRP2:
* This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
* routine is available to set the current process group.
@@ -980,12 +957,6 @@
*/
#define SH_PATH "cmd /x /c" /**/
-/* STDCHAR:
- * This symbol is defined to be the type of char used in stdio.h.
- * It has the values "unsigned char" or "char".
- */
-#define STDCHAR char /**/
-
/* CROSSCOMPILE:
* This symbol, if defined, signifies that we our
* build process is a cross-compilation.
@@ -1088,7 +1059,7 @@
* 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 "c:\\perl\\5.6.0\\lib\\MSWin32-x86" /**/
+#define ARCHLIB "c:\\perl\\5.6.1\\lib\\MSWin32-x86" /**/
/*#define ARCHLIB_EXP "" /**/
/* ARCHNAME:
@@ -1119,8 +1090,8 @@
* 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 "c:\\perl\\5.6.0\\bin\\MSWin32-x86" /**/
-#define BIN_EXP "c:\\perl\\5.6.0\\bin\\MSWin32-x86" /**/
+#define BIN "c:\\perl\\5.6.1\\bin\\MSWin32-x86" /**/
+#define BIN_EXP "c:\\perl\\5.6.1\\bin\\MSWin32-x86" /**/
/* PERL_BINCOMPAT_5005:
* This symbol, if defined, indicates that this version of Perl should be
@@ -1180,21 +1151,21 @@
* This macro surrounds its token with double quotes.
*/
#if 42 == 1
-# define CAT2(a,b) a/**/b
-# define STRINGIFY(a) "a"
+#define CAT2(a,b) a/**/b
+#define STRINGIFY(a) "a"
/* If you can get stringification with catify, tell me how! */
#endif
#if 42 == 42
-# define PeRl_CaTiFy(a, b) a ## b
-# define PeRl_StGiFy(a) #a
+#define PeRl_CaTiFy(a, b) a ## b
+#define PeRl_StGiFy(a) #a
/* the additional level of indirection enables these macros to be
* used as arguments to other macros. See K&R 2nd ed., page 231. */
-# define CAT2(a,b) PeRl_CaTiFy(a,b)
-# define StGiFy(a) PeRl_StGiFy(a)
-# define STRINGIFY(a) PeRl_StGiFy(a)
+#define CAT2(a,b) PeRl_CaTiFy(a,b)
+#define StGiFy(a) PeRl_StGiFy(a)
+#define STRINGIFY(a) PeRl_StGiFy(a)
#endif
#if 42 != 1 && 42 != 42
-#include "Bletch: How does this C preprocessor catenate tokens?"
+# include "Bletch: How does this C preprocessor catenate tokens?"
#endif
/* CPPSTDIN:
@@ -1324,23 +1295,30 @@
*/
/*#define HAS_ENDSERVENT /**/
-/* HAS_ENDSPENT:
- * This symbol, if defined, indicates that the endspent system call is
- * available to finalize the scan of SysV shadow password entries.
- */
-/*#define HAS_ENDSPENT /**/
-
/* HAS_FD_SET:
* This symbol, when defined, indicates presence of the fd_set typedef
* in <sys/types.h>
*/
#define HAS_FD_SET /**/
+/* FLEXFILENAMES:
+ * This symbol, if defined, indicates that the system supports filenames
+ * longer than 14 characters.
+ */
+#define FLEXFILENAMES /**/
+
/* HAS_FPOS64_T:
* This symbol will be defined if the C compiler supports fpos64_t.
*/
/*#define HAS_FPOS64_T /**/
+/* HAS_FREXPL:
+ * This symbol, if defined, indicates that the frexpl routine is
+ * available to break a long double floating-point number into
+ * a normalized fraction and an integral power of 2.
+ */
+/*#define HAS_FREXPL /**/
+
/* HAS_STRUCT_FS_DATA:
* This symbol, if defined, indicates that the struct fs_data
* to do statfs() is supported.
@@ -1388,6 +1366,12 @@
*/
/*#define HAS_GETCWD /**/
+/* HAS_GETESPWNAM:
+ * This symbol, if defined, indicates that the getespwnam system call is
+ * available to retrieve enchanced (shadow) password entries by name.
+ */
+/*#define HAS_GETESPWNAM /**/
+
/* HAS_GETFSSTAT:
* This symbol, if defined, indicates that the getfsstat routine is
* available to stat filesystems in bulk.
@@ -1493,6 +1477,13 @@
*/
/*#define HAS_GETNET_PROTOS /**/
+/* HAS_GETPAGESIZE:
+ * This symbol, if defined, indicates that the getpagesize system call
+ * is available to get system page size, which is the granularity of
+ * many memory management calls.
+ */
+/*#define HAS_GETPAGESIZE /**/
+
/* HAS_GETPROTOENT:
* This symbol, if defined, indicates that the getprotoent() routine is
* available to look up protocols in some data base or another.
@@ -1518,6 +1509,12 @@
*/
#define HAS_GETPROTO_PROTOS /**/
+/* HAS_GETPRPWNAM:
+ * This symbol, if defined, indicates that the getprpwnam system call is
+ * available to retrieve protected (shadow) password entries by name.
+ */
+/*#define HAS_GETPRPWNAM /**/
+
/* HAS_GETPWENT:
* This symbol, if defined, indicates that the getpwent routine is
* available for sequential access of the passwd database.
@@ -1539,12 +1536,6 @@
*/
#define HAS_GETSERV_PROTOS /**/
-/* HAS_GETSPENT:
- * This symbol, if defined, indicates that the getspent system call is
- * available to retrieve SysV shadow password entries sequentially.
- */
-/*#define HAS_GETSPENT /**/
-
/* HAS_GETSPNAM:
* This symbol, if defined, indicates that the getspnam system call is
* available to retrieve SysV shadow password entries by name.
@@ -1620,6 +1611,25 @@
*/
#define HAS_ISASCII /**/
+/* HAS_ISNAN:
+ * This symbol, if defined, indicates that the isnan routine is
+ * available to check whether a double is a NaN.
+ */
+#define HAS_ISNAN /**/
+
+/* HAS_ISNANL:
+ * This symbol, if defined, indicates that the isnanl routine is
+ * available to check whether a long double is a NaN.
+ */
+/*#define HAS_ISNANL /**/
+
+/* HAS_LCHOWN:
+ * This symbol, if defined, indicates that the lchown routine is
+ * available to operate on a symbolic link (instead of following the
+ * link).
+ */
+/*#define HAS_LCHOWN /**/
+
/* HAS_LDBL_DIG:
* This symbol, if defined, indicates that this system's <float.h>
* or <limits.h> defines the symbol LDBL_DIG, which is the number
@@ -1707,6 +1717,13 @@
/*#define HAS_MMAP /**/
#define Mmap_t void * /**/
+/* HAS_MODFL:
+ * This symbol, if defined, indicates that the modfl routine is
+ * available to split a long double x into a fractional part f and
+ * an integer part i such that |f| < 1.0 and (f + i) = x.
+ */
+/*#define HAS_MODFL /**/
+
/* HAS_MPROTECT:
* This symbol, if defined, indicates that the mprotect system call is
* available to modify the access protection of a memory mapped file.
@@ -1819,6 +1836,12 @@
*/
/*#define HAS_SETPROTOENT /**/
+/* HAS_SETPROCTITLE:
+ * This symbol, if defined, indicates that the setproctitle routine is
+ * available to set process title.
+ */
+/*#define HAS_SETPROCTITLE /**/
+
/* HAS_SETPWENT:
* This symbol, if defined, indicates that the setpwent routine is
* available for initializing sequential access of the passwd database.
@@ -1831,12 +1854,6 @@
*/
/*#define HAS_SETSERVENT /**/
-/* HAS_SETSPENT:
- * This symbol, if defined, indicates that the setspent system call is
- * available to initialize the scan of SysV shadow password entries.
- */
-/*#define HAS_SETSPENT /**/
-
/* HAS_SETVBUF:
* This symbol, if defined, indicates that the setvbuf routine is
* available to change buffering on an open stdio stream.
@@ -1940,6 +1957,12 @@
/*#define HAS_MSG_PROXY /**/
/*#define HAS_SCM_RIGHTS /**/
+/* HAS_SOCKS5_INIT:
+ * This symbol, if defined, indicates that the socks5_init routine is
+ * available to initialize SOCKS 5.
+ */
+/*#define HAS_SOCKS5_INIT /**/
+
/* HAS_SQRTL:
* This symbol, if defined, indicates that the sqrtl routine is
* available to do long double square roots.
@@ -2002,12 +2025,23 @@
* This symbol is defined if the FILE_cnt macro can be used as an
* lvalue.
*/
+/* STDIO_PTR_LVAL_SETS_CNT:
+ * This symbol is defined if using the FILE_ptr macro as an lvalue
+ * to increase the pointer by n has the side effect of decreasing the
+ * value of File_cnt(fp) by n.
+ */
+/* STDIO_PTR_LVAL_NOCHANGE_CNT:
+ * This symbol is defined if using the FILE_ptr macro as an lvalue
+ * to increase the pointer by n leaves File_cnt(fp) unchanged.
+ */
#define USE_STDIO_PTR /**/
#ifdef USE_STDIO_PTR
#define FILE_ptr(fp) ((fp)->_ptr)
#define STDIO_PTR_LVALUE /**/
#define FILE_cnt(fp) ((fp)->_cnt)
#define STDIO_CNT_LVALUE /**/
+/*#define STDIO_PTR_LVAL_SETS_CNT /**/
+/*#define STDIO_PTR_LVAL_NOCHANGE_CNT /**/
#endif
/* USE_STDIO_BASE:
@@ -2275,6 +2309,12 @@
*/
/*#define I_INTTYPES /**/
+/* I_LIBUTIL:
+ * This symbol, if defined, indicates that <libutil.h> exists and
+ * should be included.
+ */
+/*#define I_LIBUTIL /**/
+
/* I_MACH_CTHREADS:
* This symbol, if defined, indicates to the C program that it should
* include <mach/cthreads.h>.
@@ -2305,6 +2345,12 @@
*/
/*#define I_POLL /**/
+/* I_PROT:
+ * This symbol, if defined, indicates that <prot.h> exists and
+ * should be included.
+ */
+/*#define I_PROT /**/
+
/* I_PTHREAD:
* This symbol, if defined, indicates to the C program that it should
* include <pthread.h>.
@@ -2467,8 +2513,18 @@
* This symbol, if defined, contains the string used by stdio to
* format long doubles (format 'g') for output.
*/
+/* PERL_PRIeldbl:
+ * This symbol, if defined, contains the string used by stdio to
+ * format long doubles (format 'e') for output.
+ */
+/* PERL_SCNfldbl:
+ * This symbol, if defined, contains the string used by stdio to
+ * format long doubles (format 'f') for input.
+ */
/*#define PERL_PRIfldbl "f" /**/
/*#define PERL_PRIgldbl "g" /**/
+/*#define PERL_PRIeldbl "e" /**/
+/*#define PERL_SCNfldbl "f" /**/
/* Off_t:
* This symbol holds the type used to declare offsets in the kernel.
@@ -2556,6 +2612,16 @@
#define Netdb_name_t char * /**/
#define Netdb_net_t long /**/
+/* PERL_OTHERLIBDIRS:
+ * This variable contains a colon-separated set of paths for the perl
+ * binary to search for additional library files or modules.
+ * These directories will be tacked to the end of @INC.
+ * Perl will automatically search below each path for version-
+ * and architecture-specific directories. See PERL_INC_VERSION_LIST
+ * for more details.
+ */
+/*#define PERL_OTHERLIBDIRS "" /**/
+
/* IVTYPE:
* This symbol defines the C type used for Perl's IV.
*/
@@ -2619,9 +2685,16 @@
/* U64SIZE:
* This symbol contains the sizeof(U64).
*/
+/* NVSIZE:
+ * This symbol contains the sizeof(NV).
+ */
/* NV_PRESERVES_UV:
* This symbol, if defined, indicates that a variable of type NVTYPE
- * can preserve all the bit of a variable of type UVSIZE.
+ * can preserve all the bits of a variable of type UVTYPE.
+ */
+/* NV_PRESERVES_UV_BITS:
+ * This symbol contains the number of bits a variable of type NVTYPE
+ * can preserve of a variable of type UVTYPE.
*/
#define IVTYPE long /**/
#define UVTYPE unsigned long /**/
@@ -2648,7 +2721,9 @@
#define I64SIZE 8 /**/
#define U64SIZE 8 /**/
#endif
+#define NVSIZE 8 /**/
#define NV_PRESERVES_UV
+#define NV_PRESERVES_UV_BITS 32
/* IVdf:
* This symbol defines the format string used for printing a Perl IV
@@ -2664,12 +2739,27 @@
*/
/* UVxf:
* This symbol defines the format string used for printing a Perl UV
- * as an unsigned hexadecimal integer.
+ * as an unsigned hexadecimal integer in lowercase abcdef.
+ */
+/* NVef:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %e-ish floating point format.
+ */
+/* NVff:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %f-ish floating point format.
+ */
+/* NVgf:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %g-ish floating point format.
*/
#define IVdf "ld" /**/
#define UVuf "lu" /**/
#define UVof "lo" /**/
#define UVxf "lx" /**/
+#define NVef "e" /**/
+#define NVff "f" /**/
+#define NVgf "g" /**/
/* Pid_t:
* This symbol holds the type used to declare process ids in the kernel.
@@ -2688,8 +2778,8 @@
* 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 "c:\\perl\\5.6.0\\lib" /**/
-#define PRIVLIB_EXP (win32_get_privlib("5.6.0")) /**/
+#define PRIVLIB "c:\\perl\\5.6.1\\lib" /**/
+#define PRIVLIB_EXP (win32_get_privlib("5.6.1")) /**/
/* PTRSIZE:
* This symbol contains the size of a pointer, so that the C preprocessor
@@ -2787,7 +2877,7 @@
* 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 "c:\\perl\\site\\5.6.0\\lib\\MSWin32-x86" /**/
+#define SITEARCH "c:\\perl\\site\\5.6.1\\lib\\MSWin32-x86" /**/
/*#define SITEARCH_EXP "" /**/
/* SITELIB:
@@ -2810,8 +2900,8 @@
* removed. The elements in inc_version_list (inc_version_list.U) can
* be tacked onto this variable to generate a list of directories to search.
*/
-#define SITELIB "c:\\perl\\site\\5.6.0\\lib" /**/
-#define SITELIB_EXP (win32_get_sitelib("5.6.0")) /**/
+#define SITELIB "c:\\perl\\site\\5.6.1\\lib" /**/
+#define SITELIB_EXP (win32_get_sitelib("5.6.1")) /**/
#define SITELIB_STEM "" /**/
/* Size_t_size:
@@ -3036,7 +3126,7 @@
/* PERL_XS_APIVERSION:
* This variable contains the version of the oldest perl binary
* compatible with the present perl. perl.c:incpush() and
- * lib/lib.pm will automatically search in c:\\perl\\site\\5.6.0\\lib\\MSWin32-x86 for older
+ * lib/lib.pm will automatically search in c:\\perl\\site\\5.6.1\\lib\\MSWin32-x86 for older
* directories across major versions back to xs_apiversion.
* This is only useful if you have a perl library directory tree
* structured like the default one.
@@ -3055,7 +3145,7 @@
* compatible with the present perl. (That is, pure perl modules
* written for pm_apiversion will still work for the current
* version). perl.c:incpush() and lib/lib.pm will automatically
- * search in c:\\perl\\site\\5.6.0\\lib for older directories across major versions
+ * search in c:\\perl\\site\\5.6.1\\lib for older directories across major versions
* back to pm_apiversion. This is only useful if you have a perl
* library directory tree structured like the default one. The
* versioned site_perl library was introduced in 5.005, so that's
@@ -3068,17 +3158,62 @@
#define PERL_XS_APIVERSION "5.6.0"
#define PERL_PM_APIVERSION "5.005"
-/* HAS_LCHOWN:
- * This symbol, if defined, indicates that the lchown routine is
- * available to operate on a symbolic link (instead of following the
- * link).
+/* HAS_GETPGRP:
+ * This symbol, if defined, indicates that the getpgrp routine is
+ * available to get the current process group.
*/
-/*#define HAS_LCHOWN /**/
+/* 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 /**/
-/* FLEXFILENAMES:
- * This symbol, if defined, indicates that the system supports filenames
- * longer than 14 characters.
+/* HAS_SETPGRP:
+ * This symbol, if defined, indicates that the setpgrp routine is
+ * available to set the current process group.
*/
-#define FLEXFILENAMES /**/
+/* 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.
+ */
+/*#define HAS_SETPGRP /**/
+/*#define USE_BSD_SETPGRP /**/
+
+/* STDCHAR:
+ * This symbol is defined to be the type of char used in stdio.h.
+ * It has the values "unsigned char" or "char".
+ */
+#define STDCHAR char /**/
+
+/* HAS__FWALK:
+ * This symbol, if defined, indicates that the _fwalk system call is
+ * available to apply a function to all the file handles.
+ */
+/*#define HAS__FWALK /**/
+
+/* FCNTL_CAN_LOCK:
+ * This symbol, if defined, indicates that fcntl() can be used
+ * for file locking. Normally on Unix systems this is defined.
+ * It may be undefined on VMS.
+ */
+/*#define FCNTL_CAN_LOCK /**/
+
+/* HAS_FSYNC:
+ * This symbol, if defined, indicates that the fsync routine is
+ * available to write a file's modified data and attributes to
+ * permanent storage.
+ */
+/*#define HAS_FSYNC /**/
+
+/* HAS_SBRK_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the sbrk() function. Otherwise, it is up
+ * to the program to supply one. Good guesses are
+ * extern void* sbrk _((int));
+ * extern void* sbrk _((size_t));
+ */
+/*#define HAS_SBRK_PROTO /**/
#endif
diff --git a/gnu/usr.bin/perl/win32/config_H.vc b/gnu/usr.bin/perl/win32/config_H.vc
index 5d77c7b0329..e1b1f12bb01 100644
--- a/gnu/usr.bin/perl/win32/config_H.vc
+++ b/gnu/usr.bin/perl/win32/config_H.vc
@@ -13,7 +13,7 @@
/*
* Package name : perl5
* Source directory :
- * Configuration time: Tue Mar 21 01:26:24 2000
+ * Configuration time: Thu Feb 1 08:30:12 2001
* Configured by : gsar
* Target system :
*/
@@ -220,17 +220,6 @@
*/
/*#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_GETPGRP2:
* This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
* routine is available to get the current process group.
@@ -485,18 +474,6 @@
*/
/*#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.
- */
-/*#define HAS_SETPGRP /**/
-/*#define USE_BSD_SETPGRP /**/
-
/* HAS_SETPGRP2:
* This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
* routine is available to set the current process group.
@@ -980,12 +957,6 @@
*/
#define SH_PATH "cmd /x /c" /**/
-/* STDCHAR:
- * This symbol is defined to be the type of char used in stdio.h.
- * It has the values "unsigned char" or "char".
- */
-#define STDCHAR char /**/
-
/* CROSSCOMPILE:
* This symbol, if defined, signifies that we our
* build process is a cross-compilation.
@@ -1088,7 +1059,7 @@
* 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 "c:\\perl\\5.6.0\\lib\\MSWin32-x86" /**/
+#define ARCHLIB "c:\\perl\\5.6.1\\lib\\MSWin32-x86" /**/
/*#define ARCHLIB_EXP "" /**/
/* ARCHNAME:
@@ -1119,8 +1090,8 @@
* 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 "c:\\perl\\5.6.0\\bin\\MSWin32-x86" /**/
-#define BIN_EXP "c:\\perl\\5.6.0\\bin\\MSWin32-x86" /**/
+#define BIN "c:\\perl\\5.6.1\\bin\\MSWin32-x86" /**/
+#define BIN_EXP "c:\\perl\\5.6.1\\bin\\MSWin32-x86" /**/
/* PERL_BINCOMPAT_5005:
* This symbol, if defined, indicates that this version of Perl should be
@@ -1180,21 +1151,21 @@
* This macro surrounds its token with double quotes.
*/
#if 42 == 1
-# define CAT2(a,b) a/**/b
-# define STRINGIFY(a) "a"
+#define CAT2(a,b) a/**/b
+#define STRINGIFY(a) "a"
/* If you can get stringification with catify, tell me how! */
#endif
#if 42 == 42
-# define PeRl_CaTiFy(a, b) a ## b
-# define PeRl_StGiFy(a) #a
+#define PeRl_CaTiFy(a, b) a ## b
+#define PeRl_StGiFy(a) #a
/* the additional level of indirection enables these macros to be
* used as arguments to other macros. See K&R 2nd ed., page 231. */
-# define CAT2(a,b) PeRl_CaTiFy(a,b)
-# define StGiFy(a) PeRl_StGiFy(a)
-# define STRINGIFY(a) PeRl_StGiFy(a)
+#define CAT2(a,b) PeRl_CaTiFy(a,b)
+#define StGiFy(a) PeRl_StGiFy(a)
+#define STRINGIFY(a) PeRl_StGiFy(a)
#endif
#if 42 != 1 && 42 != 42
-#include "Bletch: How does this C preprocessor catenate tokens?"
+# include "Bletch: How does this C preprocessor catenate tokens?"
#endif
/* CPPSTDIN:
@@ -1324,23 +1295,30 @@
*/
/*#define HAS_ENDSERVENT /**/
-/* HAS_ENDSPENT:
- * This symbol, if defined, indicates that the endspent system call is
- * available to finalize the scan of SysV shadow password entries.
- */
-/*#define HAS_ENDSPENT /**/
-
/* HAS_FD_SET:
* This symbol, when defined, indicates presence of the fd_set typedef
* in <sys/types.h>
*/
#define HAS_FD_SET /**/
+/* FLEXFILENAMES:
+ * This symbol, if defined, indicates that the system supports filenames
+ * longer than 14 characters.
+ */
+#define FLEXFILENAMES /**/
+
/* HAS_FPOS64_T:
* This symbol will be defined if the C compiler supports fpos64_t.
*/
/*#define HAS_FPOS64_T /**/
+/* HAS_FREXPL:
+ * This symbol, if defined, indicates that the frexpl routine is
+ * available to break a long double floating-point number into
+ * a normalized fraction and an integral power of 2.
+ */
+/*#define HAS_FREXPL /**/
+
/* HAS_STRUCT_FS_DATA:
* This symbol, if defined, indicates that the struct fs_data
* to do statfs() is supported.
@@ -1388,6 +1366,12 @@
*/
/*#define HAS_GETCWD /**/
+/* HAS_GETESPWNAM:
+ * This symbol, if defined, indicates that the getespwnam system call is
+ * available to retrieve enchanced (shadow) password entries by name.
+ */
+/*#define HAS_GETESPWNAM /**/
+
/* HAS_GETFSSTAT:
* This symbol, if defined, indicates that the getfsstat routine is
* available to stat filesystems in bulk.
@@ -1493,6 +1477,13 @@
*/
/*#define HAS_GETNET_PROTOS /**/
+/* HAS_GETPAGESIZE:
+ * This symbol, if defined, indicates that the getpagesize system call
+ * is available to get system page size, which is the granularity of
+ * many memory management calls.
+ */
+/*#define HAS_GETPAGESIZE /**/
+
/* HAS_GETPROTOENT:
* This symbol, if defined, indicates that the getprotoent() routine is
* available to look up protocols in some data base or another.
@@ -1518,6 +1509,12 @@
*/
#define HAS_GETPROTO_PROTOS /**/
+/* HAS_GETPRPWNAM:
+ * This symbol, if defined, indicates that the getprpwnam system call is
+ * available to retrieve protected (shadow) password entries by name.
+ */
+/*#define HAS_GETPRPWNAM /**/
+
/* HAS_GETPWENT:
* This symbol, if defined, indicates that the getpwent routine is
* available for sequential access of the passwd database.
@@ -1539,12 +1536,6 @@
*/
#define HAS_GETSERV_PROTOS /**/
-/* HAS_GETSPENT:
- * This symbol, if defined, indicates that the getspent system call is
- * available to retrieve SysV shadow password entries sequentially.
- */
-/*#define HAS_GETSPENT /**/
-
/* HAS_GETSPNAM:
* This symbol, if defined, indicates that the getspnam system call is
* available to retrieve SysV shadow password entries by name.
@@ -1620,6 +1611,25 @@
*/
#define HAS_ISASCII /**/
+/* HAS_ISNAN:
+ * This symbol, if defined, indicates that the isnan routine is
+ * available to check whether a double is a NaN.
+ */
+#define HAS_ISNAN /**/
+
+/* HAS_ISNANL:
+ * This symbol, if defined, indicates that the isnanl routine is
+ * available to check whether a long double is a NaN.
+ */
+/*#define HAS_ISNANL /**/
+
+/* HAS_LCHOWN:
+ * This symbol, if defined, indicates that the lchown routine is
+ * available to operate on a symbolic link (instead of following the
+ * link).
+ */
+/*#define HAS_LCHOWN /**/
+
/* HAS_LDBL_DIG:
* This symbol, if defined, indicates that this system's <float.h>
* or <limits.h> defines the symbol LDBL_DIG, which is the number
@@ -1707,6 +1717,13 @@
/*#define HAS_MMAP /**/
#define Mmap_t void * /**/
+/* HAS_MODFL:
+ * This symbol, if defined, indicates that the modfl routine is
+ * available to split a long double x into a fractional part f and
+ * an integer part i such that |f| < 1.0 and (f + i) = x.
+ */
+/*#define HAS_MODFL /**/
+
/* HAS_MPROTECT:
* This symbol, if defined, indicates that the mprotect system call is
* available to modify the access protection of a memory mapped file.
@@ -1819,6 +1836,12 @@
*/
/*#define HAS_SETPROTOENT /**/
+/* HAS_SETPROCTITLE:
+ * This symbol, if defined, indicates that the setproctitle routine is
+ * available to set process title.
+ */
+/*#define HAS_SETPROCTITLE /**/
+
/* HAS_SETPWENT:
* This symbol, if defined, indicates that the setpwent routine is
* available for initializing sequential access of the passwd database.
@@ -1831,12 +1854,6 @@
*/
/*#define HAS_SETSERVENT /**/
-/* HAS_SETSPENT:
- * This symbol, if defined, indicates that the setspent system call is
- * available to initialize the scan of SysV shadow password entries.
- */
-/*#define HAS_SETSPENT /**/
-
/* HAS_SETVBUF:
* This symbol, if defined, indicates that the setvbuf routine is
* available to change buffering on an open stdio stream.
@@ -1940,6 +1957,12 @@
/*#define HAS_MSG_PROXY /**/
/*#define HAS_SCM_RIGHTS /**/
+/* HAS_SOCKS5_INIT:
+ * This symbol, if defined, indicates that the socks5_init routine is
+ * available to initialize SOCKS 5.
+ */
+/*#define HAS_SOCKS5_INIT /**/
+
/* HAS_SQRTL:
* This symbol, if defined, indicates that the sqrtl routine is
* available to do long double square roots.
@@ -2002,12 +2025,23 @@
* This symbol is defined if the FILE_cnt macro can be used as an
* lvalue.
*/
+/* STDIO_PTR_LVAL_SETS_CNT:
+ * This symbol is defined if using the FILE_ptr macro as an lvalue
+ * to increase the pointer by n has the side effect of decreasing the
+ * value of File_cnt(fp) by n.
+ */
+/* STDIO_PTR_LVAL_NOCHANGE_CNT:
+ * This symbol is defined if using the FILE_ptr macro as an lvalue
+ * to increase the pointer by n leaves File_cnt(fp) unchanged.
+ */
#define USE_STDIO_PTR /**/
#ifdef USE_STDIO_PTR
#define FILE_ptr(fp) ((fp)->_ptr)
#define STDIO_PTR_LVALUE /**/
#define FILE_cnt(fp) ((fp)->_cnt)
#define STDIO_CNT_LVALUE /**/
+/*#define STDIO_PTR_LVAL_SETS_CNT /**/
+/*#define STDIO_PTR_LVAL_NOCHANGE_CNT /**/
#endif
/* USE_STDIO_BASE:
@@ -2275,6 +2309,12 @@
*/
/*#define I_INTTYPES /**/
+/* I_LIBUTIL:
+ * This symbol, if defined, indicates that <libutil.h> exists and
+ * should be included.
+ */
+/*#define I_LIBUTIL /**/
+
/* I_MACH_CTHREADS:
* This symbol, if defined, indicates to the C program that it should
* include <mach/cthreads.h>.
@@ -2305,6 +2345,12 @@
*/
/*#define I_POLL /**/
+/* I_PROT:
+ * This symbol, if defined, indicates that <prot.h> exists and
+ * should be included.
+ */
+/*#define I_PROT /**/
+
/* I_PTHREAD:
* This symbol, if defined, indicates to the C program that it should
* include <pthread.h>.
@@ -2467,8 +2513,18 @@
* This symbol, if defined, contains the string used by stdio to
* format long doubles (format 'g') for output.
*/
+/* PERL_PRIeldbl:
+ * This symbol, if defined, contains the string used by stdio to
+ * format long doubles (format 'e') for output.
+ */
+/* PERL_SCNfldbl:
+ * This symbol, if defined, contains the string used by stdio to
+ * format long doubles (format 'f') for input.
+ */
/*#define PERL_PRIfldbl "f" /**/
/*#define PERL_PRIgldbl "g" /**/
+/*#define PERL_PRIeldbl "e" /**/
+/*#define PERL_SCNfldbl "f" /**/
/* Off_t:
* This symbol holds the type used to declare offsets in the kernel.
@@ -2556,6 +2612,16 @@
#define Netdb_name_t char * /**/
#define Netdb_net_t long /**/
+/* PERL_OTHERLIBDIRS:
+ * This variable contains a colon-separated set of paths for the perl
+ * binary to search for additional library files or modules.
+ * These directories will be tacked to the end of @INC.
+ * Perl will automatically search below each path for version-
+ * and architecture-specific directories. See PERL_INC_VERSION_LIST
+ * for more details.
+ */
+/*#define PERL_OTHERLIBDIRS "" /**/
+
/* IVTYPE:
* This symbol defines the C type used for Perl's IV.
*/
@@ -2619,9 +2685,16 @@
/* U64SIZE:
* This symbol contains the sizeof(U64).
*/
+/* NVSIZE:
+ * This symbol contains the sizeof(NV).
+ */
/* NV_PRESERVES_UV:
* This symbol, if defined, indicates that a variable of type NVTYPE
- * can preserve all the bit of a variable of type UVSIZE.
+ * can preserve all the bits of a variable of type UVTYPE.
+ */
+/* NV_PRESERVES_UV_BITS:
+ * This symbol contains the number of bits a variable of type NVTYPE
+ * can preserve of a variable of type UVTYPE.
*/
#define IVTYPE long /**/
#define UVTYPE unsigned long /**/
@@ -2648,7 +2721,9 @@
#define I64SIZE 8 /**/
#define U64SIZE 8 /**/
#endif
+#define NVSIZE 8 /**/
#define NV_PRESERVES_UV
+#define NV_PRESERVES_UV_BITS 32
/* IVdf:
* This symbol defines the format string used for printing a Perl IV
@@ -2664,12 +2739,27 @@
*/
/* UVxf:
* This symbol defines the format string used for printing a Perl UV
- * as an unsigned hexadecimal integer.
+ * as an unsigned hexadecimal integer in lowercase abcdef.
+ */
+/* NVef:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %e-ish floating point format.
+ */
+/* NVff:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %f-ish floating point format.
+ */
+/* NVgf:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %g-ish floating point format.
*/
#define IVdf "ld" /**/
#define UVuf "lu" /**/
#define UVof "lo" /**/
#define UVxf "lx" /**/
+#define NVef "e" /**/
+#define NVff "f" /**/
+#define NVgf "g" /**/
/* Pid_t:
* This symbol holds the type used to declare process ids in the kernel.
@@ -2688,8 +2778,8 @@
* 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 "c:\\perl\\5.6.0\\lib" /**/
-#define PRIVLIB_EXP (win32_get_privlib("5.6.0")) /**/
+#define PRIVLIB "c:\\perl\\5.6.1\\lib" /**/
+#define PRIVLIB_EXP (win32_get_privlib("5.6.1")) /**/
/* PTRSIZE:
* This symbol contains the size of a pointer, so that the C preprocessor
@@ -2787,7 +2877,7 @@
* 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 "c:\\perl\\site\\5.6.0\\lib\\MSWin32-x86" /**/
+#define SITEARCH "c:\\perl\\site\\5.6.1\\lib\\MSWin32-x86" /**/
/*#define SITEARCH_EXP "" /**/
/* SITELIB:
@@ -2810,8 +2900,8 @@
* removed. The elements in inc_version_list (inc_version_list.U) can
* be tacked onto this variable to generate a list of directories to search.
*/
-#define SITELIB "c:\\perl\\site\\5.6.0\\lib" /**/
-#define SITELIB_EXP (win32_get_sitelib("5.6.0")) /**/
+#define SITELIB "c:\\perl\\site\\5.6.1\\lib" /**/
+#define SITELIB_EXP (win32_get_sitelib("5.6.1")) /**/
#define SITELIB_STEM "" /**/
/* Size_t_size:
@@ -3036,7 +3126,7 @@
/* PERL_XS_APIVERSION:
* This variable contains the version of the oldest perl binary
* compatible with the present perl. perl.c:incpush() and
- * lib/lib.pm will automatically search in c:\\perl\\site\\5.6.0\\lib\\MSWin32-x86 for older
+ * lib/lib.pm will automatically search in c:\\perl\\site\\5.6.1\\lib\\MSWin32-x86 for older
* directories across major versions back to xs_apiversion.
* This is only useful if you have a perl library directory tree
* structured like the default one.
@@ -3055,7 +3145,7 @@
* compatible with the present perl. (That is, pure perl modules
* written for pm_apiversion will still work for the current
* version). perl.c:incpush() and lib/lib.pm will automatically
- * search in c:\\perl\\site\\5.6.0\\lib for older directories across major versions
+ * search in c:\\perl\\site\\5.6.1\\lib for older directories across major versions
* back to pm_apiversion. This is only useful if you have a perl
* library directory tree structured like the default one. The
* versioned site_perl library was introduced in 5.005, so that's
@@ -3068,17 +3158,62 @@
#define PERL_XS_APIVERSION "5.6.0"
#define PERL_PM_APIVERSION "5.005"
-/* HAS_LCHOWN:
- * This symbol, if defined, indicates that the lchown routine is
- * available to operate on a symbolic link (instead of following the
- * link).
+/* HAS_GETPGRP:
+ * This symbol, if defined, indicates that the getpgrp routine is
+ * available to get the current process group.
*/
-/*#define HAS_LCHOWN /**/
+/* 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 /**/
-/* FLEXFILENAMES:
- * This symbol, if defined, indicates that the system supports filenames
- * longer than 14 characters.
+/* HAS_SETPGRP:
+ * This symbol, if defined, indicates that the setpgrp routine is
+ * available to set the current process group.
*/
-#define FLEXFILENAMES /**/
+/* 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.
+ */
+/*#define HAS_SETPGRP /**/
+/*#define USE_BSD_SETPGRP /**/
+
+/* STDCHAR:
+ * This symbol is defined to be the type of char used in stdio.h.
+ * It has the values "unsigned char" or "char".
+ */
+#define STDCHAR char /**/
+
+/* HAS__FWALK:
+ * This symbol, if defined, indicates that the _fwalk system call is
+ * available to apply a function to all the file handles.
+ */
+/*#define HAS__FWALK /**/
+
+/* FCNTL_CAN_LOCK:
+ * This symbol, if defined, indicates that fcntl() can be used
+ * for file locking. Normally on Unix systems this is defined.
+ * It may be undefined on VMS.
+ */
+/*#define FCNTL_CAN_LOCK /**/
+
+/* HAS_FSYNC:
+ * This symbol, if defined, indicates that the fsync routine is
+ * available to write a file's modified data and attributes to
+ * permanent storage.
+ */
+/*#define HAS_FSYNC /**/
+
+/* HAS_SBRK_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the sbrk() function. Otherwise, it is up
+ * to the program to supply one. Good guesses are
+ * extern void* sbrk _((int));
+ * extern void* sbrk _((size_t));
+ */
+/*#define HAS_SBRK_PROTO /**/
#endif
diff --git a/gnu/usr.bin/perl/win32/include/sys/socket.h b/gnu/usr.bin/perl/win32/include/sys/socket.h
index 194de9581f8..d1f1de6b6aa 100644
--- a/gnu/usr.bin/perl/win32/include/sys/socket.h
+++ b/gnu/usr.bin/perl/win32/include/sys/socket.h
@@ -10,49 +10,16 @@
extern "C" {
#endif
-#ifndef _WINDOWS_
-#ifdef __GNUC__
#define WIN32_LEAN_AND_MEAN
#ifdef __GNUC__
-#define Win32_Winsock
+# define Win32_Winsock
#endif
#include <windows.h>
-#else
-#define _WINDOWS_
-
-#define FAR
-#define PASCAL __stdcall
-#define WINAPI __stdcall
-
-#undef WORD
-typedef int BOOL;
-typedef unsigned short WORD;
-typedef void* HANDLE;
-typedef void* HWND;
-typedef int (FAR WINAPI *FARPROC)();
-
-typedef unsigned long DWORD;
-typedef void *PVOID;
-
-#define IN
-#define OUT
-
-typedef struct _OVERLAPPED {
- DWORD Internal;
- DWORD InternalHigh;
- DWORD Offset;
- DWORD OffsetHigh;
- HANDLE hEvent;
-} OVERLAPPED, *LPOVERLAPPED;
-
-#endif
-#endif //_WINDOWS_
-// #ifndef __GNUC__
#include <winsock.h>
-// #endif
+
+#include "win32.h"
#define ENOTSOCK WSAENOTSOCK
-#undef HOST_NOT_FOUND
#ifdef USE_SOCKETS_AS_HANDLES
diff --git a/gnu/usr.bin/perl/win32/makefile.mk b/gnu/usr.bin/perl/win32/makefile.mk
index 7ed23dd3be1..040eaee2028 100644
--- a/gnu/usr.bin/perl/win32/makefile.mk
+++ b/gnu/usr.bin/perl/win32/makefile.mk
@@ -5,26 +5,104 @@
# Borland C++ 5.02
# Mingw32 with gcc-2.95.2 or better **experimental**
#
-# This is set up to build a perl.exe that runs off a shared library
-# (perl56.dll). Also makes individual DLLs for the XS extensions.
-#
##
## Make sure you read README.win32 *before* you mess with anything here!
##
+## If you want a configuration that is the same as ActivePerl (see
+## www.ActiveState.com) make sure you set at least BUILD_FLAVOR below!
+##
##
## Build configuration. Edit the values below to suit your needs.
##
#
-# Set these to wherever you want "dmake install" to put your
-# newly built perl.
+# Set these to wherever you want "dmake install" to put your newly
+# built perl. Setting it to a path with spaces is NOT recommended.
#
INST_DRV *= c:
INST_TOP *= $(INST_DRV)\perl
#
+# uncomment exactly one of the following
+#
+# Visual C++ 2.x
+#CCTYPE *= MSVC20
+# Visual C++ > 2.x and < 5.x SP3
+#CCTYPE *= MSVC_PRE_50SP3
+# Visual C++ >= 5.x SP3
+#CCTYPE *= MSVC60
+# Borland 5.02 or later
+#CCTYPE *= BORLAND
+# mingw32+gcc-2.95.2 or better
+CCTYPE *= GCC
+
+#
+# uncomment this if your Borland compiler is older than v5.4.
+#
+#BCCOLD = define
+
+#
+# uncomment this if you want to use Borland's VCL as your CRT.
+#
+#BCCVCL = define
+
+#
+# set the install locations of the compiler include/libraries. Running
+# VCVARS32.BAT is *required* when using Visual C. Some versions of
+# Visual C earlier than 5.x SP3 don't define MSVCDIR in the environment.
+# If such is the case you may have to set CCHOME explicitly. Spaces in
+# the path name should not be quoted.
+#
+#CCHOME *= F:\Borland\BC5
+#CCHOME *= $(MSVCDIR)
+CCHOME *= c:\gcc-2.95.2-msvcrt
+
+CCINCDIR *= $(CCHOME)\include
+CCLIBDIR *= $(CCHOME)\lib
+
+#
+# uncomment this if you are compiling under Windows 95/98 and command.com
+# (not needed if you're running under 4DOS/NT 6.01 or later)
+#IS_WIN95 *= define
+
+#
+# if you have the source for des_fcrypt(), uncomment CRYPT_SRC and make sure
+# the file exists (see README.win32). File should be located in the same
+# directory as this makefile.
+#
+# If you didn't set CRYPT_SRC and if you have des_fcrypt() available in a
+# library, uncomment CRYPT_LIB, and make sure the library exists (see
+# README.win32). Specify the full pathname of the library.
+#
+# If you don't enable one of these, the crypt() builtin will fail to work.
+# (Generally not critical.)
+#
+#CRYPT_SRC *= fcrypt.c
+#CRYPT_LIB *= fcrypt.lib
+
+#
+# uncomment this option if you want to bulk-enable all the options that
+# ActiveState uses to build their ActivePerl distribution. If you set this,
+# there should be no need to set any of the other options that follow.
+#
+# If you don't enable this, the defaults below will get you the most
+# efficient perl configuration possible that will also be compatible
+# with the build defaults used on Unix platforms. On the other hand,
+# the ActivePerl configuration will get you fork() emulation at the
+# cost of some added bloat.
+#
+#BUILD_FLAVOR *= ActivePerl
+
+#
+# uncomment next line if you want debug version of perl (big and slow).
+# If not enabled, we automatically try to use maximum optimization
+# with all compilers that are known to have a working optimizer.
+#
+#CFG *= Debug
+
+#
# Comment this out if you DON'T want your perl installation to be versioned.
# This means that the new installation will overwrite any files from the
# old installation at the same INST_TOP location. Leaving it enabled is
@@ -33,7 +111,7 @@ INST_TOP *= $(INST_DRV)\perl
# versioned installation can be obtained by setting INST_TOP above to a
# path that includes an arbitrary version string.
#
-INST_VER *= \5.6.0
+INST_VER *= \5.6.1
#
# Comment this out if you DON'T want your perl installation to have
@@ -83,37 +161,11 @@ INST_ARCH *= \$(ARCHNAME)
# uncomment next line if you want to use the PERL_OBJECT build option.
# DO NOT ENABLE unless you have legacy code that relies on the C++
# CPerlObj class that was available in 5.005. This cannot be enabled
-# if you ask for USE_5005THREADS above.
+# if you ask for USE_5005THREADS or USE_MULTI above.
#
#USE_OBJECT *= define
#
-# uncomment exactly one of the following
-#
-# Visual C++ 2.x
-#CCTYPE *= MSVC20
-# Visual C++ > 2.x and < 6.x
-#CCTYPE *= MSVC
-# Visual C++ >= 6.x
-#CCTYPE *= MSVC60
-# Borland 5.02 or later
-#CCTYPE *= BORLAND
-# mingw32+gcc-2.95.2 or better
-CCTYPE *= GCC
-
-#
-# uncomment this if you are compiling under Windows 95/98 and command.com
-# (not needed if you're running under 4DOS/NT 6.01 or later)
-#IS_WIN95 *= define
-
-#
-# uncomment next line if you want debug version of perl (big,slow)
-# If not enabled, we automatically try to use maximum optimization
-# with all compilers that are known to have a working optimizer.
-#
-#CFG *= Debug
-
-#
# uncomment to enable use of PerlCRT.DLL when using the Visual C compiler.
# It has patches that fix known bugs in older versions of MSVCRT.DLL.
# This currently requires VC 5.0 with Service Pack 3 or later.
@@ -126,28 +178,15 @@ CCTYPE *= GCC
#
# uncomment to enable linking with setargv.obj under the Visual C
-# compiler. Setting this options enables perl to expand wildcards in
+# compiler. Setting this option enables perl to expand wildcards in
# arguments, but it may be harder to use alternate methods like
-# File::DosGlob that are more powerful. This option is supported only with
-# Visual C.
+# File::DosGlob that are more powerful, or use perl inside shells
+# that do the expansion for you. This option is supported only
+# with Visual C.
#
#USE_SETARGV *= define
#
-# if you have the source for des_fcrypt(), uncomment this and make sure the
-# file exists (see README.win32). File should be located in the same
-# directory as this file.
-#
-#CRYPT_SRC *= fcrypt.c
-
-#
-# if you didn't set CRYPT_SRC and if you have des_fcrypt() available in a
-# library, uncomment this, and make sure the library exists (see README.win32)
-# Specify the full pathname of the library.
-#
-#CRYPT_LIB *= fcrypt.lib
-
-#
# set this if you wish to use perl's malloc
# WARNING: Turning this on/off WILL break binary compatibility with extensions
# you may have compiled with/without it. Be prepared to recompile all
@@ -157,19 +196,6 @@ CCTYPE *= GCC
#PERL_MALLOC *= define
#
-# set the install locations of the compiler include/libraries
-# Running VCVARS32.BAT is *required* when using Visual C.
-# Some versions of Visual C don't define MSVCDIR in the environment,
-# so you may have to set CCHOME explicitly (spaces in the path name should
-# not be quoted)
-#
-#CCHOME *= c:\bc5
-#CCHOME *= $(MSVCDIR)
-CCHOME *= c:\gcc-2.95.2-msvcrt
-CCINCDIR *= $(CCHOME)\include
-CCLIBDIR *= $(CCHOME)\lib
-
-#
# Additional compiler flags can be specified here.
#
@@ -218,6 +244,19 @@ EXTRALIBDIRS *=
##################### CHANGE THESE ONLY IF YOU MUST #####################
+.IF "$(BUILD_FLAVOR)" == "ActivePerl"
+INST_VER !=
+INST_ARCH !=
+USE_MULTI != define
+USE_ITHREADS != define
+USE_IMP_SYS != define
+USE_5005THREADS != undef
+USE_OBJECT != undef
+USE_PERLCRT != undef
+USE_SETARGV !=
+PERL_MALLOC != undef
+.ENDIF
+
.IF "$(CRYPT_SRC)$(CRYPT_LIB)" == ""
D_CRYPT = undef
.ELSE
@@ -312,7 +351,7 @@ INST_LIB = $(INST_TOP)$(INST_VER)\lib
INST_ARCHLIB = $(INST_LIB)$(INST_ARCH)
INST_COREDIR = $(INST_ARCHLIB)\CORE
INST_POD = $(INST_LIB)\pod
-INST_HTML = $(INST_POD)\html
+INST_HTML = $(INST_TOP)$(INST_VER)\html
#
# Programs to compile, build .lib files and link
@@ -323,7 +362,11 @@ INST_HTML = $(INST_POD)\html
.IF "$(CCTYPE)" == "BORLAND"
CC = bcc32
+.IF "$(BCCOLD)" != "define"
+LINK32 = ilink32
+.ELSE
LINK32 = tlink32
+.END
LIB32 = tlib /P128
IMPLIB = implib -c
RSC = rc
@@ -339,10 +382,10 @@ SUBSYS = console
CXX_FLAG = -P
LIBC = cw32mti.lib
-LIBFILES = $(CRYPT_LIB) import32.lib $(LIBC) odbc32.lib odbccp32.lib
+LIBFILES = $(CRYPT_LIB) import32.lib $(LIBC)
.IF "$(CFG)" == "Debug"
-OPTIMIZE = -v -D_RTLDLL -DDEBUGGING
+OPTIMIZE = -v -D_RTLDLL -DDEBUGGING -y -R
LINK_DBG = -v
.ELSE
OPTIMIZE = -O2 -D_RTLDLL
@@ -355,6 +398,14 @@ LINK_FLAGS = $(LINK_DBG) -L"$(INST_COREDIR)" -L"$(CCLIBDIR)"
OBJOUT_FLAG = -o
EXEOUT_FLAG = -e
LIBOUT_FLAG =
+.IF "$(BCCOLD)" != "define"
+LINK_FLAGS += -Gn
+DEFINES += -D_MT
+.IF "$(BCCVCL)" == "define"
+LIBC != cp32mti.lib vcl.lib vcl50.lib vclx50.lib vcle50.lib
+LINK_FLAGS += -L"$(CCLIBDIR)\Release"
+.END
+.END
.ELIF "$(CCTYPE)" == "GCC"
@@ -809,6 +860,7 @@ CFG_VARS = \
INST_ARCH=$(INST_ARCH) ~ \
archname=$(ARCHNAME) ~ \
cc=$(CC) ~ \
+ ld=$(LINK32) ~ \
ccflags=$(OPTIMIZE) $(DEFINES) $(BUILDOPT) ~ \
cf_email=$(EMAIL) ~ \
d_crypt=$(D_CRYPT) ~ \
@@ -1070,7 +1122,7 @@ $(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
$(LINK32) -mconsole -o $@ $(BLINK_FLAGS) \
$(PERLEXE_OBJ) $(PERLIMPLIB) $(LIBFILES)
.ELSE
- $(LINK32) -subsystem:console -out:$@ -stack:0x8000000 $(BLINK_FLAGS) \
+ $(LINK32) -subsystem:console -out:$@ -stack:0x1000000 $(BLINK_FLAGS) \
$(LIBFILES) $(PERLEXE_OBJ) $(SETARGV_OBJ) $(PERLIMPLIB) $(PERLEXE_RES)
.ENDIF
copy $(PERLEXE) $(WPERLEXE)
@@ -1182,14 +1234,23 @@ doc: $(PERLEXE)
utils: $(PERLEXE) $(X2P)
cd ..\utils && $(MAKE) PERL=$(MINIPERL)
- copy ..\README.amiga ..\pod\perlamiga.pod
- copy ..\README.cygwin ..\pod\perlcygwin.pod
- copy ..\README.dos ..\pod\perldos.pod
- copy ..\README.hpux ..\pod\perlhpux.pod
- copy ..\README.machten ..\pod\perlmachten.pod
- copy ..\README.os2 ..\pod\perlos2.pod
- copy ..\README.os2 ..\pod\perlos2.pod
- copy ..\vms\perlvms.pod ..\pod\perlvms.pod
+ copy ..\README.aix ..\pod\perlaix.pod
+ copy ..\README.amiga ..\pod\perlamiga.pod
+ copy ..\README.bs2000 ..\pod\perlbs2000.pod
+ copy ..\README.cygwin ..\pod\perlcygwin.pod
+ copy ..\README.dos ..\pod\perldos.pod
+ copy ..\README.epoc ..\pod\perlepoc.pod
+ copy ..\README.hpux ..\pod\perlhpux.pod
+ copy ..\README.machten ..\pod\perlmachten.pod
+ copy ..\README.macos ..\pod\perlmacos.pod
+ copy ..\README.mpeix ..\pod\perlmpeix.pod
+ copy ..\README.os2 ..\pod\perlos2.pod
+ copy ..\README.os390 ..\pod\perlos390.pod
+ copy ..\README.solaris ..\pod\perlsolaris.pod
+ copy ..\README.vmesa ..\pod\perlvmesa.pod
+ copy ..\vms\perlvms.pod ..\pod\perlvms.pod
+ copy ..\README.vos ..\pod\perlvos.pod
+ copy ..\README.win32 ..\pod\perlwin32.pod
cd ..\pod && $(MAKE) -f ..\win32\pod.mak converters
$(PERLEXE) $(PL2BAT) $(UTILS)
@@ -1199,32 +1260,38 @@ distclean: clean
-del /f *.def *.map
-del /f $(EXTENSION_DLL) $(EXTENSION_PM)
-del /f $(EXTENSION_C) $(DYNALOADER).c $(ERRNO).pm
- -del /f $(EXTDIR)\DynaLoader\dl_win32.xs
+ -del /f $(EXTDIR)\DynaLoader\dl_win32.xs $(EXTDIR)\DynaLoader\DynaLoader.pm
-del /f $(LIBDIR)\.exists $(LIBDIR)\attrs.pm $(LIBDIR)\DynaLoader.pm
- -del /f $(LIBDIR)\XSLoader.pm
+ -del /f $(LIBDIR)\XSLoader.pm $(EXTDIR)\DynaLoader\XSLoader.pm
+ -del /f $(LIBDIR)\Devel\.exists $(LIBDIR)\File\.exists $(LIBDIR)\Sys\.exists
-del /f $(LIBDIR)\Fcntl.pm $(LIBDIR)\IO.pm $(LIBDIR)\Opcode.pm
-del /f $(LIBDIR)\ops.pm $(LIBDIR)\Safe.pm $(LIBDIR)\Thread.pm
-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)\B.pm $(EXTDIR)\B\defsubs.h $(LIBDIR)\O.pm $(LIBDIR)\re.pm
-del /f $(LIBDIR)\Data\Dumper.pm $(LIBDIR)\ByteLoader.pm
-del /f $(LIBDIR)\Devel\Peek.pm $(LIBDIR)\Devel\DProf.pm
-del /f $(LIBDIR)\File\Glob.pm
- -rmdir /s /q $(LIBDIR)\IO || rmdir /s $(LIBDIR)\IO
- -rmdir /s /q $(LIBDIR)\Thread || rmdir /s $(LIBDIR)\Thread
- -rmdir /s /q $(LIBDIR)\B || rmdir /s $(LIBDIR)\B
- -rmdir /s /q $(LIBDIR)\Data || rmdir /s $(LIBDIR)\Data
- -del /f $(PODDIR)\*.html
- -del /f $(PODDIR)\*.bat
+ -if exist $(LIBDIR)\IO rmdir /s /q $(LIBDIR)\IO || rmdir /s $(LIBDIR)\IO
+ -if exist $(LIBDIR)\Thread rmdir /s /q $(LIBDIR)\Thread || rmdir /s $(LIBDIR)\Thread
+ -if exist $(LIBDIR)\B rmdir /s /q $(LIBDIR)\B || rmdir /s $(LIBDIR)\B
+ -if exist $(LIBDIR)\Data rmdir /s /q $(LIBDIR)\Data || rmdir /s $(LIBDIR)\Data
+ -cd $(PODDIR) && del /f *.html *.bat checkpods \
+ perlaix.pod perlamiga.pod perlbs2000.pod perlcygwin.pod \
+ perldos.pod perlepoc.pod perlhpux.pod perlmachten.pod \
+ perlmacos.pod perlmpeix.pod perlos2.pod perlos390.pod \
+ perlsolaris.pod perlvmesa.pod perlvms.pod perlvos.pod \
+ perlwin32.pod pod2html pod2latex pod2man pod2text pod2usage \
+ podchecker podselect
-cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph h2xs perldoc \
- dprofpp *.bat
+ dprofpp *.bat perlcc pstruct
-cd ..\x2p && del /f find2perl s2p *.bat
-del /f ..\config.sh ..\splittree.pl perlmain.c dlutils.c config.h.new
-del /f $(CONFIGPM)
-del /f bin\*.bat
-cd $(EXTDIR) && del /s *$(a) *.def *.map *.pdb *.bs Makefile *$(o) \
pm_to_blib
- -rmdir /s /q $(AUTODIR) || rmdir /s $(AUTODIR)
- -rmdir /s /q $(COREDIR) || rmdir /s $(COREDIR)
+ -if exist $(AUTODIR) rmdir /s /q $(AUTODIR) || rmdir /s $(AUTODIR)
+ -if exist $(COREDIR) rmdir /s /q $(COREDIR) || rmdir /s $(COREDIR)
install : all installbare installhtml
@@ -1291,7 +1358,7 @@ clean :
-@erase $(WPERLEXE)
-@erase $(PERLDLL)
-@erase $(CORE_OBJ)
- -rmdir /s /q $(MINIDIR) || rmdir /s $(MINIDIR)
+ -if exist $(MINIDIR) rmdir /s /q $(MINIDIR) || rmdir /s $(MINIDIR)
-@erase $(WIN32_OBJ)
-@erase $(DLL_OBJ)
-@erase $(X2P_OBJ)
@@ -1300,3 +1367,19 @@ clean :
-@erase ..\x2p\*.exe ..\x2p\*.bat
-@erase *.ilk
-@erase *.pdb
+
+# Handy way to run perlbug -ok without having to install and run the
+# installed perlbug. We don't re-run the tests here - we trust the user.
+# Please *don't* use this unless all tests pass.
+# If you want to report test failures, use "dmake nok" instead.
+ok: utils
+ $(PERLEXE) -I..\lib ..\utils\perlbug -ok -s "(UNINSTALLED)"
+
+okfile: utils
+ $(PERLEXE) -I..\lib ..\utils\perlbug -ok -s "(UNINSTALLED)" -F perl.ok
+
+nok: utils
+ $(PERLEXE) -I..\lib ..\utils\perlbug -nok -s "(UNINSTALLED)"
+
+nokfile: utils
+ $(PERLEXE) -I..\lib ..\utils\perlbug -nok -s "(UNINSTALLED)" -F perl.nok
diff --git a/gnu/usr.bin/perl/win32/perllib.c b/gnu/usr.bin/perl/win32/perllib.c
index 857aada2471..e2b245d84f8 100644
--- a/gnu/usr.bin/perl/win32/perllib.c
+++ b/gnu/usr.bin/perl/win32/perllib.c
@@ -338,6 +338,10 @@ RunPerl(int argc, char **argv, char **env)
EXTERN_C void
set_w32_module_name(void);
+EXTERN_C void
+EndSockets(void);
+
+
#ifdef __MINGW32__
EXTERN_C /* GCC in C++ mode mangles the name, otherwise */
#endif
@@ -367,6 +371,11 @@ DllMain(HANDLE hModule, /* DLL module handle */
* process termination or call to FreeLibrary.
*/
case DLL_PROCESS_DETACH:
+ EndSockets();
+#if defined(USE_THREADS) || defined(USE_ITHREADS)
+ if (PL_curinterp)
+ FREE_THREAD_KEY;
+#endif
break;
/* The attached process creates a new thread. */
diff --git a/gnu/usr.bin/perl/win32/pod.mak b/gnu/usr.bin/perl/win32/pod.mak
index b1a1b9c56ae..cd00eea2491 100644
--- a/gnu/usr.bin/perl/win32/pod.mak
+++ b/gnu/usr.bin/perl/win32/pod.mak
@@ -323,6 +323,7 @@ podselect: podselect.PL ../lib/Config.pm
$(PERL) -I ../lib podselect.PL
compile: all
- $(REALPERL) -I../lib ../utils/perlcc -regex 's/$$/.exe/' pod2latex pod2man pod2text checkpods -prog -verbose dcf -log ../compilelog;
-
-
+ $(REALPERL) -I../lib ../utils/perlcc pod2latex -o pod2latex.exe -v 10 -log ../compilelog
+ $(REALPERL) -I../lib ../utils/perlcc pod2man -o pod2man.exe -v 10 -log ../compilelog
+ $(REALPERL) -I../lib ../utils/perlcc pod2text -o pod2text.exe -v 10 -log ../compilelog
+ $(REALPERL) -I../lib ../utils/perlcc checkpods -o checkpods.exe -v 10 -log ../compilelog
diff --git a/gnu/usr.bin/perl/win32/win32.c b/gnu/usr.bin/perl/win32/win32.c
index 840274beab5..cceb2e53ea2 100644
--- a/gnu/usr.bin/perl/win32/win32.c
+++ b/gnu/usr.bin/perl/win32/win32.c
@@ -53,7 +53,6 @@
#else
#include <utime.h>
#endif
-
#ifdef __GNUC__
/* Mingw32 defaults to globing command line
* So we turn it off like this:
@@ -177,7 +176,9 @@ get_regstr_from(HKEY hkey, const char *valuename, SV **svp)
if (retval == ERROR_SUCCESS) {
DWORD datalen;
retval = RegQueryValueEx(handle, valuename, 0, &type, NULL, &datalen);
- if (retval == ERROR_SUCCESS && type == REG_SZ) {
+ if (retval == ERROR_SUCCESS
+ && (type == REG_SZ || type == REG_EXPAND_SZ))
+ {
dTHXo;
if (!*svp)
*svp = sv_2mortal(newSVpvn("",0));
@@ -435,12 +436,19 @@ win32_os_id(void)
DllExport int
win32_getpid(void)
{
+ int pid;
#ifdef USE_ITHREADS
dTHXo;
if (w32_pseudo_id)
return -((int)w32_pseudo_id);
#endif
- return _getpid();
+ pid = _getpid();
+ /* Windows 9x appears to always reports a pid for threads and processes
+ * that has the high bit set. So we treat the lower 31 bits as the
+ * "real" PID for Perl's purposes. */
+ if (IsWin95() && pid < 0)
+ pid = -pid;
+ return pid;
}
/* Tokenize a string. Words are null-separated, and the list
@@ -567,9 +575,12 @@ do_aspawn(void *vreally, void **vmark, void **vsp)
(const char* const*)argv);
}
- if (flag != P_NOWAIT) {
+ if (flag == P_NOWAIT) {
+ if (IsWin95())
+ PL_statusvalue = -1; /* >16bits hint for pp_system() */
+ }
+ else {
if (status < 0) {
- dTHR;
if (ckWARN(WARN_EXEC))
Perl_warner(aTHX_ WARN_EXEC, "Can't spawn \"%s\": %s", argv[0], strerror(errno));
status = 255 * 256;
@@ -656,9 +667,12 @@ do_spawn2(char *cmd, int exectype)
cmd = argv[0];
Safefree(argv);
}
- if (exectype != EXECF_SPAWN_NOWAIT) {
+ if (exectype == EXECF_SPAWN_NOWAIT) {
+ if (IsWin95())
+ PL_statusvalue = -1; /* >16bits hint for pp_system() */
+ }
+ else {
if (status < 0) {
- dTHR;
if (ckWARN(WARN_EXEC))
Perl_warner(aTHX_ WARN_EXEC, "Can't %s \"%s\": %s",
(exectype == EXECF_EXEC ? "exec" : "spawn"),
@@ -1020,10 +1034,11 @@ win32_kill(int pid, int sig)
{
dTHXo;
HANDLE hProcess;
+ long child;
#ifdef USE_ITHREADS
if (pid < 0) {
/* it is a pseudo-forked child */
- long child = find_pseudo_pid(-pid);
+ child = find_pseudo_pid(-pid);
if (child >= 0) {
if (!sig)
return 0;
@@ -1033,11 +1048,15 @@ win32_kill(int pid, int sig)
return 0;
}
}
+ else if (IsWin95()) {
+ pid = -pid;
+ goto alien_process;
+ }
}
else
#endif
{
- long child = find_pid(pid);
+ child = find_pid(pid);
if (child >= 0) {
if (!sig)
return 0;
@@ -1048,7 +1067,9 @@ win32_kill(int pid, int sig)
}
}
else {
- hProcess = OpenProcess(PROCESS_ALL_ACCESS, TRUE, pid);
+alien_process:
+ hProcess = OpenProcess(PROCESS_ALL_ACCESS, TRUE,
+ (IsWin95() ? -pid : pid));
if (hProcess) {
if (!sig)
return 0;
@@ -1276,8 +1297,6 @@ win32_longpath(char *path)
return path;
}
-#ifndef USE_WIN32_RTL_ENV
-
DllExport char *
win32_getenv(const char *name)
{
@@ -1379,8 +1398,6 @@ win32_putenv(const char *name)
return relval;
}
-#endif
-
static long
filetime_to_clock(PFILETIME ft)
{
@@ -1610,7 +1627,7 @@ win32_uname(struct utsname *name)
char *arch;
GetSystemInfo(&info);
-#if defined(__BORLANDC__) || defined(__MINGW32__)
+#if (defined(__BORLANDC__)&&(__BORLANDC__<=0x520)) || defined(__MINGW32__)
switch (info.u.s.wProcessorArchitecture) {
#else
switch (info.wProcessorArchitecture) {
@@ -1635,34 +1652,48 @@ DllExport int
win32_waitpid(int pid, int *status, int flags)
{
dTHXo;
+ DWORD timeout = (flags & WNOHANG) ? 0 : INFINITE;
int retval = -1;
+ long child;
if (pid == -1) /* XXX threadid == 1 ? */
return win32_wait(status);
#ifdef USE_ITHREADS
else if (pid < 0) {
- long child = find_pseudo_pid(-pid);
+ child = find_pseudo_pid(-pid);
if (child >= 0) {
HANDLE hThread = w32_pseudo_child_handles[child];
- DWORD waitcode = WaitForSingleObject(hThread, INFINITE);
- if (waitcode != WAIT_FAILED) {
+ DWORD waitcode = WaitForSingleObject(hThread, timeout);
+ if (waitcode == WAIT_TIMEOUT) {
+ return 0;
+ }
+ else if (waitcode != WAIT_FAILED) {
if (GetExitCodeThread(hThread, &waitcode)) {
*status = (int)((waitcode & 0xff) << 8);
retval = (int)w32_pseudo_child_pids[child];
remove_dead_pseudo_process(child);
- return retval;
+ return -retval;
}
}
else
errno = ECHILD;
}
+ else if (IsWin95()) {
+ pid = -pid;
+ goto alien_process;
+ }
}
#endif
else {
- long child = find_pid(pid);
+ HANDLE hProcess;
+ DWORD waitcode;
+ child = find_pid(pid);
if (child >= 0) {
- HANDLE hProcess = w32_child_handles[child];
- DWORD waitcode = WaitForSingleObject(hProcess, INFINITE);
- if (waitcode != WAIT_FAILED) {
+ hProcess = w32_child_handles[child];
+ waitcode = WaitForSingleObject(hProcess, timeout);
+ if (waitcode == WAIT_TIMEOUT) {
+ return 0;
+ }
+ else if (waitcode != WAIT_FAILED) {
if (GetExitCodeProcess(hProcess, &waitcode)) {
*status = (int)((waitcode & 0xff) << 8);
retval = (int)w32_child_pids[child];
@@ -1674,12 +1705,25 @@ win32_waitpid(int pid, int *status, int flags)
errno = ECHILD;
}
else {
- retval = cwait(status, pid, WAIT_CHILD);
- /* cwait() returns "correctly" on Borland */
-#ifndef __BORLANDC__
- if (status)
- *status *= 256;
-#endif
+alien_process:
+ hProcess = OpenProcess(PROCESS_ALL_ACCESS, TRUE,
+ (IsWin95() ? -pid : pid));
+ if (hProcess) {
+ waitcode = WaitForSingleObject(hProcess, timeout);
+ if (waitcode == WAIT_TIMEOUT) {
+ return 0;
+ }
+ else if (waitcode != WAIT_FAILED) {
+ if (GetExitCodeProcess(hProcess, &waitcode)) {
+ *status = (int)((waitcode & 0xff) << 8);
+ CloseHandle(hProcess);
+ return pid;
+ }
+ }
+ CloseHandle(hProcess);
+ }
+ else
+ errno = ECHILD;
}
}
return retval >= 0 ? pid : retval;
@@ -1711,7 +1755,7 @@ win32_wait(int *status)
*status = (int)((exitcode & 0xff) << 8);
retval = (int)w32_pseudo_child_pids[i];
remove_dead_pseudo_process(i);
- return retval;
+ return -retval;
}
}
}
@@ -1755,7 +1799,7 @@ static VOID CALLBACK TimerProc(HWND win, UINT msg, UINT id, DWORD time)
dTHXo;
KillTimer(NULL,timerid);
timerid=0;
- sighandler(14);
+ CALL_FPTR(PL_sighandlerp)(14);
}
#endif /* !PERL_OBJECT */
@@ -1800,7 +1844,6 @@ win32_crypt(const char *txt, const char *salt)
{
dTHXo;
#ifdef HAVE_DES_FCRYPT
- dTHR;
return des_fcrypt(txt, salt, w32_crypt_buffer);
#else
Perl_croak(aTHX_ "The crypt() function is unimplemented due to excessive paranoia.");
@@ -1808,53 +1851,6 @@ win32_crypt(const char *txt, const char *salt)
#endif
}
-/* C doesn't like repeat struct definitions */
-
-#if defined(USE_FIXED_OSFHANDLE) || defined(PERL_MSVCRT_READFIX)
-
-#ifndef _CRTIMP
-#define _CRTIMP __declspec(dllimport)
-#endif
-
-/*
- * Control structure for lowio file handles
- */
-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 */
- int lockinitflag;
- CRITICAL_SECTION lock;
-} ioinfo;
-
-
-/*
- * Array of arrays of control structures for lowio files.
- */
-EXTERN_C _CRTIMP ioinfo* __pioinfo[];
-
-/*
- * Definition of IOINFO_L2E, the log base 2 of the number of elements in each
- * array of ioinfo structs.
- */
-#define IOINFO_L2E 5
-
-/*
- * Definition of IOINFO_ARRAY_ELTS, the number of elements in ioinfo array
- */
-#define IOINFO_ARRAY_ELTS (1 << IOINFO_L2E)
-
-/*
- * Access macros for getting at an ioinfo struct and its fields from a
- * file handle
- */
-#define _pioinfo(i) (__pioinfo[(i) >> IOINFO_L2E] + ((i) & (IOINFO_ARRAY_ELTS - 1)))
-#define _osfhnd(i) (_pioinfo(i)->osfhnd)
-#define _osfile(i) (_pioinfo(i)->osfile)
-#define _pipech(i) (_pioinfo(i)->pipech)
-
-#endif
-
#ifdef USE_FIXED_OSFHANDLE
#define FOPEN 0x01 /* file handle open */
@@ -1893,10 +1889,6 @@ EXTERN_C _CRTIMP ioinfo* __pioinfo[];
* -- BKS, 1-23-2000
*/
-/* since we are not doing a dup2(), this works fine */
-
-#define _set_osfhnd(fh, osfh) (void)(_osfhnd(fh) = osfh)
-
/* create an ioinfo entry, kill its handle, and steal the entry */
static int
@@ -2313,7 +2305,25 @@ win32_abort(void)
DllExport int
win32_fstat(int fd,struct stat *sbufptr)
{
- return fstat(fd,sbufptr);
+#ifdef __BORLANDC__
+ /* A file designated by filehandle is not shown as accessible
+ * for write operations, probably because it is opened for reading.
+ * --Vadim Konovalov
+ */
+ int rc = fstat(fd,sbufptr);
+ BY_HANDLE_FILE_INFORMATION bhfi;
+ if (GetFileInformationByHandle((HANDLE)_get_osfhandle(fd), &bhfi)) {
+ sbufptr->st_mode &= 0xFE00;
+ if (bhfi.dwFileAttributes & FILE_ATTRIBUTE_READONLY)
+ sbufptr->st_mode |= (S_IREAD + (S_IREAD >> 3) + (S_IREAD >> 6));
+ else
+ sbufptr->st_mode |= ((S_IREAD|S_IWRITE) + ((S_IREAD|S_IWRITE) >> 3)
+ + ((S_IREAD|S_IWRITE) >> 6));
+ }
+ return rc;
+#else
+ return my_fstat(fd,sbufptr);
+#endif
}
DllExport int
@@ -2391,7 +2401,9 @@ win32_popen(const char *command, const char *mode)
/* close saved handle */
win32_close(oldfd);
+ LOCK_FDPID_MUTEX;
sv_setiv(*av_fetch(w32_fdpid, p[parent], TRUE), childpid);
+ UNLOCK_FDPID_MUTEX;
/* set process id so that it can be returned by perl's open() */
PL_forkprocess = childpid;
@@ -2427,7 +2439,9 @@ win32_pclose(FILE *pf)
int childpid, status;
SV *sv;
+ LOCK_FDPID_MUTEX;
sv = *av_fetch(w32_fdpid, win32_fileno(pf), TRUE);
+
if (SvIOK(sv))
childpid = SvIVX(sv);
else
@@ -2440,6 +2454,7 @@ win32_pclose(FILE *pf)
win32_fclose(pf);
SvIVX(sv) = 0;
+ UNLOCK_FDPID_MUTEX;
if (win32_waitpid(childpid, &status, 0) == -1)
return -1;
@@ -3259,9 +3274,12 @@ RETRY:
if (mode == P_NOWAIT) {
/* asynchronous spawn -- store handle, return PID */
- w32_child_handles[w32_num_children] = ProcessInformation.hProcess;
- w32_child_pids[w32_num_children] = ProcessInformation.dwProcessId;
ret = (int)ProcessInformation.dwProcessId;
+ if (IsWin95() && ret < 0)
+ ret = -ret;
+
+ w32_child_handles[w32_num_children] = ProcessInformation.hProcess;
+ w32_child_pids[w32_num_children] = (DWORD)ret;
++w32_num_children;
}
else {
@@ -3506,6 +3524,25 @@ win32_dynaload(const char* filename)
{
dTHXo;
HMODULE hModule;
+ char buf[MAX_PATH+1];
+ char *first;
+
+ /* LoadLibrary() doesn't recognize forward slashes correctly,
+ * so turn 'em back. */
+ first = strchr(filename, '/');
+ if (first) {
+ STRLEN len = strlen(filename);
+ if (len <= MAX_PATH) {
+ strcpy(buf, filename);
+ filename = &buf[first - filename];
+ while (*filename) {
+ if (*filename == '/')
+ *(char*)filename = '\\';
+ ++filename;
+ }
+ filename = buf;
+ }
+ }
if (USING_WIDE()) {
WCHAR wfilename[MAX_PATH+1];
A2WHELPER(filename, wfilename, sizeof(wfilename));
@@ -3821,8 +3858,11 @@ XS(w32_Spawn)
&stStartInfo, /* -> Startup info */
&stProcInfo)) /* <- Process info (if OK) */
{
+ int pid = (int)stProcInfo.dwProcessId;
+ if (IsWin95() && pid < 0)
+ pid = -pid;
+ sv_setiv(ST(2), pid);
CloseHandle(stProcInfo.hThread);/* library source code does this. */
- sv_setiv(ST(2), stProcInfo.dwProcessId);
bSuccess = TRUE;
}
XSRETURN_IV(bSuccess);
@@ -3851,6 +3891,9 @@ XS(w32_GetShortPathName)
shortpath = sv_mortalcopy(ST(0));
SvUPGRADE(shortpath, SVt_PV);
+ if (!SvPVX(shortpath) || !SvLEN(shortpath))
+ XSRETURN_UNDEF;
+
/* src == target is allowed */
do {
len = GetShortPathName(SvPVX(shortpath),
@@ -3880,6 +3923,9 @@ XS(w32_GetFullPathName)
filename = ST(0);
fullpath = sv_mortalcopy(filename);
SvUPGRADE(fullpath, SVt_PV);
+ if (!SvPVX(fullpath) || !SvLEN(fullpath))
+ XSRETURN_UNDEF;
+
do {
len = GetFullPathName(SvPVX(filename),
SvLEN(fullpath),
@@ -3966,18 +4012,6 @@ Perl_init_os_extras(void)
char *file = __FILE__;
dXSUB_SYS;
- w32_perlshell_tokens = Nullch;
- w32_perlshell_items = -1;
- w32_fdpid = newAV(); /* XXX needs to be in Perl_win32_init()? */
- New(1313, w32_children, 1, child_tab);
- w32_num_children = 0;
- w32_init_socktype = 0;
-#ifdef USE_ITHREADS
- w32_pseudo_id = 0;
- New(1313, w32_pseudo_children, 1, child_tab);
- w32_num_pseudo_children = 0;
-#endif
-
/* these names are Activeware compatible */
newXS("Win32::GetCwd", w32_GetCwd, file);
newXS("Win32::SetCwd", w32_SetCwd, file);
@@ -4035,16 +4069,50 @@ win32_get_child_IO(child_IO_table* ptbl)
ptbl->childStdErr = GetStdHandle(STD_ERROR_HANDLE);
}
-
-#ifdef USE_ITHREADS
+#ifdef HAVE_INTERP_INTERN
# ifdef PERL_OBJECT
+# undef Perl_sys_intern_init
+# define Perl_sys_intern_init CPerlObj::Perl_sys_intern_init
# undef Perl_sys_intern_dup
# define Perl_sys_intern_dup CPerlObj::Perl_sys_intern_dup
+# undef Perl_sys_intern_clear
+# define Perl_sys_intern_clear CPerlObj::Perl_sys_intern_clear
# define pPerl this
# endif
void
+Perl_sys_intern_init(pTHX)
+{
+ w32_perlshell_tokens = Nullch;
+ w32_perlshell_vec = (char**)NULL;
+ w32_perlshell_items = 0;
+ w32_fdpid = newAV();
+ New(1313, w32_children, 1, child_tab);
+ w32_num_children = 0;
+# ifdef USE_ITHREADS
+ w32_pseudo_id = 0;
+ New(1313, w32_pseudo_children, 1, child_tab);
+ w32_num_pseudo_children = 0;
+# endif
+ w32_init_socktype = 0;
+}
+
+void
+Perl_sys_intern_clear(pTHX)
+{
+ Safefree(w32_perlshell_tokens);
+ Safefree(w32_perlshell_vec);
+ /* NOTE: w32_fdpid is freed by sv_clean_all() */
+ Safefree(w32_children);
+# ifdef USE_ITHREADS
+ Safefree(w32_pseudo_children);
+# endif
+}
+
+# ifdef USE_ITHREADS
+
+void
Perl_sys_intern_dup(pTHX_ struct interp_intern *src, struct interp_intern *dst)
{
dst->perlshell_tokens = Nullch;
@@ -4052,12 +4120,12 @@ Perl_sys_intern_dup(pTHX_ struct interp_intern *src, struct interp_intern *dst)
dst->perlshell_items = 0;
dst->fdpid = newAV();
Newz(1313, dst->children, 1, child_tab);
- Newz(1313, dst->pseudo_children, 1, child_tab);
dst->pseudo_id = 0;
- dst->children->num = 0;
- dst->thr_intern.Winit_socktype = src->thr_intern.Winit_socktype;
+ Newz(1313, dst->pseudo_children, 1, child_tab);
+ dst->thr_intern.Winit_socktype = 0;
}
-#endif
+# endif /* USE_ITHREADS */
+#endif /* HAVE_INTERP_INTERN */
#ifdef PERL_OBJECT
# undef this
diff --git a/gnu/usr.bin/perl/win32/win32.h b/gnu/usr.bin/perl/win32/win32.h
index 35d5bdfa985..f5cc83e5e57 100644
--- a/gnu/usr.bin/perl/win32/win32.h
+++ b/gnu/usr.bin/perl/win32/win32.h
@@ -122,11 +122,6 @@ struct utsname {
#define PERL_NO_FORCE_LINK /* no need for PL_force_link_funcs */
-/* if USE_WIN32_RTL_ENV is not defined, Perl uses direct Win32 calls
- * to read the environment, bypassing the runtime's (usually broken)
- * facilities for accessing the same. See note in util.c/my_setenv(). */
-/*#define USE_WIN32_RTL_ENV */
-
/* Define USE_FIXED_OSFHANDLE to fix MSVCRT's _open_osfhandle() on W95.
It now uses some black magic to work seamlessly with the DLL CRT and
works with MSVC++ 4.0+ or GCC/Mingw32
@@ -135,6 +130,12 @@ struct utsname {
#define USE_FIXED_OSFHANDLE
#endif
+/* Define PERL_WIN32_SOCK_DLOAD to have Perl dynamically load the winsock
+ DLL when needed. Don't use if your compiler supports delayloading (ie, VC++ 6.0)
+ -- BKS 5-29-2000 */
+#if !(defined(_M_IX86) && _MSC_VER >= 1200)
+#define PERL_WIN32_SOCK_DLOAD
+#endif
#define ENV_IS_CASELESS
#ifndef VER_PLATFORM_WIN32_WINDOWS /* VC-2.0 headers don't have this */
@@ -153,14 +154,22 @@ struct utsname {
# define F_OK 0
#endif
+/* for waitpid() */
+#ifndef WNOHANG
+# define WNOHANG 1
+#endif
+
#define PERL_GET_CONTEXT_DEFINED
/* Compiler-specific stuff. */
#ifdef __BORLANDC__ /* Borland C++ */
+#if (__BORLANDC__ <= 0x520)
#define _access access
#define _chdir chdir
+#endif
+
#define _getpid getpid
#define wcsicmp _wcsicmp
#include <sys/types.h>
@@ -177,8 +186,6 @@ struct utsname {
#pragma warn -aus /* "'foo' is assigned a value that is never used" */
#pragma warn -use /* "'foo' is declared but never used" */
#pragma warn -csu /* "comparing signed and unsigned values" */
-#pragma warn -pro /* "call to function with no prototype" */
-#pragma warn -stu /* "undefined structure 'foo'" */
/* Borland is picky about a bare member function name used as its ptr */
#ifdef PERL_OBJECT
@@ -188,6 +195,8 @@ struct utsname {
/* Borland C thinks that a pointer to a member variable is 12 bytes in size. */
#define PERL_MEMBER_PTR_SIZE 12
+#define isnan _isnan
+
#endif
#ifdef _MSC_VER /* Microsoft Visual C++ */
@@ -200,6 +209,8 @@ typedef unsigned short mode_t;
/* Visual C thinks that a pointer to a member variable is 16 bytes in size. */
#define PERL_MEMBER_PTR_SIZE 16
+#define isnan _isnan
+
#endif /* _MSC_VER */
#ifdef __MINGW32__ /* Minimal Gnu-Win32 */
@@ -211,6 +222,7 @@ typedef long gid_t;
#endif
#define flushall _flushall
#define fcloseall _fcloseall
+#define isnan _isnan /* ...same libraries as MSVC */
#ifdef PERL_OBJECT
# define MEMBER_TO_FPTR(name) &(name)
@@ -294,7 +306,7 @@ extern int chown(const char *p, uid_t o, gid_t g);
#define init_os_extras Perl_init_os_extras
DllExport void Perl_win32_init(int *argcp, char ***argvp);
-DllExport void Perl_init_os_extras();
+DllExport void Perl_init_os_extras(void);
DllExport void win32_str_os_error(void *sv, DWORD err);
DllExport int RunPerl(int argc, char **argv, char **env);
@@ -327,6 +339,7 @@ DllExport void win32_get_child_IO(child_IO_table* ptr);
extern FILE * my_fdopen(int, char *);
#endif
extern int my_fclose(FILE *);
+extern int my_fstat(int fd, struct stat *sbufptr);
extern int do_aspawn(void *really, void **mark, void **sp);
extern int do_spawn(char *cmd);
extern int do_spawn_nowait(char *cmd);
@@ -477,11 +490,63 @@ struct interp_intern {
} STMT_END
#endif
+#if defined(USE_FIXED_OSFHANDLE) || defined(PERL_MSVCRT_READFIX)
+#ifdef PERL_CORE
+
+/* C doesn't like repeat struct definitions */
+#ifndef _CRTIMP
+#define _CRTIMP __declspec(dllimport)
+#endif
+
+/*
+ * Control structure for lowio file handles
+ */
+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 */
+ int lockinitflag;
+ CRITICAL_SECTION lock;
+} ioinfo;
+
+
+/*
+ * Array of arrays of control structures for lowio files.
+ */
+EXTERN_C _CRTIMP ioinfo* __pioinfo[];
+
+/*
+ * Definition of IOINFO_L2E, the log base 2 of the number of elements in each
+ * array of ioinfo structs.
+ */
+#define IOINFO_L2E 5
+
+/*
+ * Definition of IOINFO_ARRAY_ELTS, the number of elements in ioinfo array
+ */
+#define IOINFO_ARRAY_ELTS (1 << IOINFO_L2E)
+
+/*
+ * Access macros for getting at an ioinfo struct and its fields from a
+ * file handle
+ */
+#define _pioinfo(i) (__pioinfo[(i) >> IOINFO_L2E] + ((i) & (IOINFO_ARRAY_ELTS - 1)))
+#define _osfhnd(i) (_pioinfo(i)->osfhnd)
+#define _osfile(i) (_pioinfo(i)->osfile)
+#define _pipech(i) (_pioinfo(i)->pipech)
+
+/* since we are not doing a dup2(), this works fine */
+#define _set_osfhnd(fh, osfh) (void)(_osfhnd(fh) = (long)osfh)
+#endif
+#endif
+
/*
* This provides a layer of functions and macros to ensure extensions will
* get to use the same RTL functions as the core.
*/
#include "win32iop.h"
+#define EXEC_ARGV_CAST(x) ((const char *const *) x)
+
#endif /* _INC_WIN32_PERL5 */
diff --git a/gnu/usr.bin/perl/win32/win32iop.h b/gnu/usr.bin/perl/win32/win32iop.h
index d7c2ac4f743..9b814f25531 100644
--- a/gnu/usr.bin/perl/win32/win32iop.h
+++ b/gnu/usr.bin/perl/win32/win32iop.h
@@ -120,10 +120,8 @@ DllExport void win32_seekdir(DIR *dirp, long loc);
DllExport void win32_rewinddir(DIR *dirp);
DllExport int win32_closedir(DIR *dirp);
-#ifndef USE_WIN32_RTL_ENV
DllExport char* win32_getenv(const char *name);
DllExport int win32_putenv(const char *name);
-#endif
DllExport unsigned win32_sleep(unsigned int);
DllExport int win32_times(struct tms *timebuf);
@@ -300,12 +298,10 @@ END_EXTERN_C
#undef crypt
#define crypt(t,s) win32_crypt(t,s)
-#ifndef USE_WIN32_RTL_ENV
#undef getenv
#define getenv win32_getenv
#undef putenv
#define putenv win32_putenv
-#endif
#endif /* WIN32IO_IS_STDIO */
#endif /* WIN32IOP_H */
diff --git a/gnu/usr.bin/perl/win32/win32sck.c b/gnu/usr.bin/perl/win32/win32sck.c
index 93d501edefb..c1b24d5e6a4 100644
--- a/gnu/usr.bin/perl/win32/win32sck.c
+++ b/gnu/usr.bin/perl/win32/win32sck.c
@@ -39,12 +39,12 @@
# define TO_SOCKET(x) (x)
#endif /* USE_SOCKETS_AS_HANDLES */
-#ifdef USE_THREADS
+#if defined(USE_THREADS) || defined(USE_ITHREADS)
#define StartSockets() \
STMT_START { \
if (!wsock_started) \
start_sockets(); \
- set_socktype(); \
+ set_socktype(); \
} STMT_END
#else
#define StartSockets() \
@@ -56,12 +56,6 @@
} STMT_END
#endif
-#define EndSockets() \
- STMT_START { \
- if (wsock_started) \
- WSACleanup(); \
- } STMT_END
-
#define SOCKET_TEST(x, y) \
STMT_START { \
StartSockets(); \
@@ -77,6 +71,13 @@ static struct servent* win32_savecopyservent(struct servent*d,
static int wsock_started = 0;
+EXTERN_C void
+EndSockets(void)
+{
+ if (wsock_started)
+ WSACleanup();
+}
+
void
start_sockets(void)
{
@@ -103,8 +104,8 @@ void
set_socktype(void)
{
#ifdef USE_SOCKETS_AS_HANDLES
-#ifdef USE_THREADS
- dTHX;
+#if defined(USE_THREADS) || defined(USE_ITHREADS)
+ dTHXo;
if (!w32_init_socktype) {
#endif
int iSockOpt = SO_SYNCHRONOUS_NONALERT;
@@ -113,7 +114,7 @@ set_socktype(void)
*/
setsockopt(INVALID_SOCKET, SOL_SOCKET, SO_OPENTYPE,
(char *)&iSockOpt, sizeof(iSockOpt));
-#ifdef USE_THREADS
+#if defined(USE_THREADS) || defined(USE_ITHREADS)
w32_init_socktype = 1;
}
#endif
@@ -142,7 +143,7 @@ my_fdopen(int fd, char *mode)
/*
* If we get here, then fd is actually a socket.
*/
- Newz(1310, fp, 1, FILE);
+ Newz(1310, fp, 1, FILE); /* XXX leak, good thing this code isn't used */
if(fp == NULL) {
errno = ENOMEM;
return NULL;
@@ -421,18 +422,70 @@ win32_socket(int af, int type, int protocol)
int
my_fclose (FILE *pf)
{
- int osf, retval;
+ int osf;
if (!wsock_started) /* No WinSock? */
return(fclose(pf)); /* Then not a socket. */
osf = TO_SOCKET(fileno(pf));/* Get it now before it's gone! */
- retval = fclose(pf); /* Must fclose() before closesocket() */
- if (osf != -1
- && closesocket(osf) == SOCKET_ERROR
- && WSAGetLastError() != WSAENOTSOCK)
- {
- return EOF;
+ if (osf != -1) {
+ int err;
+ win32_fflush(pf);
+ err = closesocket(osf);
+ if (err == 0) {
+#if defined(USE_FIXED_OSFHANDLE) || defined(PERL_MSVCRT_READFIX)
+ _set_osfhnd(fileno(pf), INVALID_HANDLE_VALUE);
+#endif
+ (void)fclose(pf); /* handle already closed, ignore error */
+ return 0;
+ }
+ else if (err == SOCKET_ERROR) {
+ err = WSAGetLastError();
+ if (err != WSAENOTSOCK) {
+ (void)fclose(pf);
+ errno = err;
+ return EOF;
+ }
+ }
}
- return retval;
+ return fclose(pf);
+}
+
+#undef fstat
+int
+my_fstat(int fd, struct stat *sbufptr)
+{
+ /* This fixes a bug in fstat() on Windows 9x. fstat() uses the
+ * GetFileType() win32 syscall, which will fail on Windows 9x.
+ * So if we recognize a socket on Windows 9x, we return the
+ * same results as on Windows NT/2000.
+ * XXX this should be extended further to set S_IFSOCK on
+ * sbufptr->st_mode.
+ */
+ int osf;
+ if (!wsock_started || IsWinNT())
+ return fstat(fd, sbufptr);
+
+ osf = TO_SOCKET(fd);
+ if (osf != -1) {
+ char sockbuf[256];
+ int optlen = sizeof(sockbuf);
+ int retval;
+
+ retval = getsockopt((SOCKET)osf, SOL_SOCKET, SO_TYPE, sockbuf, &optlen);
+ if (retval != SOCKET_ERROR || WSAGetLastError() != WSAENOTSOCK) {
+#if defined(__BORLANDC__)&&(__BORLANDC__<=0x520)
+ sbufptr->st_mode = S_IFIFO;
+#else
+ sbufptr->st_mode = _S_IFIFO;
+#endif
+ sbufptr->st_rdev = sbufptr->st_dev = (dev_t)fd;
+ sbufptr->st_nlink = 1;
+ sbufptr->st_uid = sbufptr->st_gid = sbufptr->st_ino = 0;
+ sbufptr->st_atime = sbufptr->st_mtime = sbufptr->st_ctime = 0;
+ sbufptr->st_size = (off_t)0;
+ return 0;
+ }
+ }
+ return fstat(fd, sbufptr);
}
struct hostent *