summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2000-02-09 02:07:08 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2000-02-09 02:07:08 +0000
commitfe749a9feb9cbf8d28d589c8fd24caaf6b33a0a4 (patch)
tree8fd43ad8313fa03e4b962667f1a1b0bb21b56845
parent1761cee512762c09b2a848d3c6cbd5a3b4232ffa (diff)
downloadperl-fe749a9feb9cbf8d28d589c8fd24caaf6b33a0a4.tar.gz
Add/restore probes for getcwd/mk*temp*/mmap.
p4raw-id: //depot/cfgperl@5044
-rwxr-xr-xConfigure187
-rw-r--r--Porting/Glossary106
-rw-r--r--Porting/config.sh66
-rw-r--r--Porting/config_H129
-rw-r--r--config_h.SH93
-rw-r--r--perl.h13
-rw-r--r--vms/subconfigure.com76
-rw-r--r--vos/config.def8
-rw-r--r--win32/config.bc18
-rw-r--r--win32/config.gc18
-rw-r--r--win32/config.vc18
-rw-r--r--win32/config_H.bc32
-rw-r--r--win32/config_H.gc32
-rw-r--r--win32/config_H.vc32
14 files changed, 720 insertions, 108 deletions
diff --git a/Configure b/Configure
index 7a6f9d6e77..1d0c88c3d3 100755
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Fri Feb 4 21:57:24 EET 2000 [metaconfig 3.0 PL70]
+# Generated on Wed Feb 9 04:05:32 EET 2000 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.com)
cat >/tmp/c1$$ <<EOF
@@ -423,13 +423,21 @@ d_memcpy=''
d_memmove=''
d_memset=''
d_mkdir=''
+d_mkdtemp=''
d_mkfifo=''
+d_mkstemp=''
+d_mkstemps=''
d_mktime=''
+d_mmap=''
+mmaptype=''
+d_mprotect=''
d_msg=''
d_msgctl=''
d_msgget=''
d_msgrcv=''
d_msgsnd=''
+d_msync=''
+d_munmap=''
d_nice=''
d_open3=''
d_fpathconf=''
@@ -642,6 +650,7 @@ i_bsdioctl=''
i_sysfilio=''
i_sysioctl=''
i_syssockio=''
+i_sysmman=''
i_sysmount=''
i_sysndir=''
i_sysparam=''
@@ -895,6 +904,8 @@ vendorprefix=''
vendorprefixexp=''
defvoidused=''
voidflags=''
+pm_apiversion=''
+xs_apiversion=''
CONFIG=''
define='define'
@@ -3686,9 +3697,12 @@ esac
for thislib in $libswanted; do
libname="$thislib"
- if xxx=`./loc lib$thislib.$so.[0-9]'*' X $libpth`;
- $test -f "$xxx" -a "X$ignore_versioned_solibs" = "X"; then
- libstyle=shared
+ if xxx=`./loc lib$thislib.$so.[0-9]'*' X $libpth`; $test -f "$xxx"; then
+ if $test "X$ignore_versioned_solibs" = "X"; then
+ xxx=/ignored$xxx
+ else
+ libstyle=shared
+ fi
elif xxx=`./loc lib$thislib.$so X $libpth` ; $test -f "$xxx"; then
libstyle=shared
elif xxx=`./loc lib$thislib$_a X $libpth`; $test -f "$xxx"; then
@@ -5366,9 +5380,9 @@ case "$ans" in
esac
case "$inc_version_list" in
''|' ')
- inc_version_list_init='0';;
+ inc_version_list_init='""';;
*) inc_version_list_init=`echo $inc_version_list |
- $sed -e 's/^/"/' -e 's/ /","/g' -e 's/$/",0/'`
+ $sed -e 's/^/"/' -e 's/ /","/g' -e 's/$/"/'`
;;
esac
$rm -f getverlist
@@ -9268,6 +9282,51 @@ set d_index; eval $setvar
set inet_aton d_inetaton
eval $inlibc
+: see if inttypes.h is available
+: we want a real compile instead of Inhdr because some systems
+: have an inttypes.h which includes non-existent headers
+echo " "
+$cat >try.c <<EOCP
+#include <inttypes.h>
+int main() {
+ static int32_t foo32 = 0x12345678;
+}
+EOCP
+set try
+if eval $compile; then
+ echo "<inttypes.h> found." >&4
+ val="$define"
+else
+ echo "<inttypes.h> NOT found." >&4
+ val="$undef"
+fi
+$rm -f try.c try
+set i_inttypes
+eval $setvar
+
+: check for int64_t
+echo " "
+$echo $n "Checking to see if your system supports int64_t...$c" >&4
+$cat >try.c <<EOCP
+#include <sys/types.h>
+#$i_inttypes I_INTTYPES
+#ifdef I_INTTYPES
+#include <inttypes.h>
+#endif
+int main() { int64_t x = 7; }
+EOCP
+set try
+if eval $compile; then
+ val="$define"
+ echo " Yes, it does." >&4
+else
+ val="$undef"
+ echo " No, it doesn't." >&4
+fi
+$rm -f try try.*
+set d_int64t
+eval $setvar
+
: Look for isascii
echo " "
$cat >isascii.c <<'EOCP'
@@ -9456,14 +9515,30 @@ eval $inlibc
set mkdir d_mkdir
eval $inlibc
+: see if mkdtemp exists
+set mkdtemp d_mkdtemp
+eval $inlibc
+
: see if mkfifo exists
set mkfifo d_mkfifo
eval $inlibc
+: see if mkstemp exists
+set mkstemp d_mkstemp
+eval $inlibc
+
+: see if mkstemps exists
+set mkstemps d_mkstemps
+eval $inlibc
+
: see if mktime exists
set mktime d_mktime
eval $inlibc
+: see if mprotect exists
+set mprotect d_mprotect
+eval $inlibc
+
: see if msgctl exists
set msgctl d_msgctl
eval $inlibc
@@ -9516,54 +9591,17 @@ fi
set d_msg
eval $setvar
-: see if nice exists
-set nice d_nice
+: see if msync exists
+set msync d_msync
eval $inlibc
-: see if inttypes.h is available
-: we want a real compile instead of Inhdr because some systems
-: have an inttypes.h which includes non-existent headers
-echo " "
-$cat >try.c <<EOCP
-#include <inttypes.h>
-int main() {
- static int32_t foo32 = 0x12345678;
-}
-EOCP
-set try
-if eval $compile; then
- echo "<inttypes.h> found." >&4
- val="$define"
-else
- echo "<inttypes.h> NOT found." >&4
- val="$undef"
-fi
-$rm -f try.c try
-set i_inttypes
-eval $setvar
+: see if munmap exists
+set munmap d_munmap
+eval $inlibc
-: check for int64_t
-echo " "
-$echo $n "Checking to see if your system supports int64_t...$c" >&4
-$cat >try.c <<EOCP
-#include <sys/types.h>
-#$i_inttypes I_INTTYPES
-#ifdef I_INTTYPES
-#include <inttypes.h>
-#endif
-int main() { int64_t x = 7; }
-EOCP
-set try
-if eval $compile; then
- val="$define"
- echo " Yes, it does." >&4
-else
- val="$undef"
- echo " No, it doesn't." >&4
-fi
-$rm -f try try.*
-set d_int64t
-eval $setvar
+: see if nice exists
+set nice d_nice
+eval $inlibc
echo " "
@@ -12606,6 +12644,33 @@ case "$make_set_make" in
*) echo "Nope, it doesn't.";;
esac
+: see if this is a sys/mman.h system
+set sys/mman.h i_sysmman
+eval $inhdr
+
+: see if mmap exists
+set mmap d_mmap
+eval $inlibc
+: see what shmat returns
+: default to something harmless
+mmaptype='void *'
+case "$i_sysmman$d_mmap" in
+"$define$define")
+ $cat >mmap.c <<'END'
+#include <sys/mman.h>
+void *mmap();
+END
+ if $cc $ccflags -c mmap.c >/dev/null 2>&1; then
+ mmaptype='void *'
+ else
+ mmaptype='caddr_t'
+ fi
+ echo "and it returns ($mmaptype)." >&4
+ ;;
+esac
+
+
+
: see what type is used for mode_t
rp="What is the type used for file modes for system calls (e.g. fchmod())?"
set mode_t modetype int stdio.h sys/types.h
@@ -12814,6 +12879,15 @@ rp="What is the type of process ids on this system?"
set pid_t pidtype int stdio.h sys/types.h
eval $typedef_ask
+: Find earliest binary compatible site_perl subdirectory perl can use.
+case "$bincompat5005" in
+"$define") xs_apiversion='5.005' ;;
+*) xs_apiversion=$version ;; # The current site_perl version.
+esac
+: Find earliest pure perl site_perl subdirectory perl can use.
+: The versioned directories started at 5.005.
+pm_apiversion='5.005'
+
: check for length of pointer
echo " "
case "$ptrsize" in
@@ -14617,8 +14691,13 @@ d_memcpy='$d_memcpy'
d_memmove='$d_memmove'
d_memset='$d_memset'
d_mkdir='$d_mkdir'
+d_mkdtemp='$d_mkdtemp'
d_mkfifo='$d_mkfifo'
+d_mkstemp='$d_mkstemp'
+d_mkstemps='$d_mkstemps'
d_mktime='$d_mktime'
+d_mmap='$d_mmap'
+d_mprotect='$d_mprotect'
d_msg='$d_msg'
d_msg_ctrunc='$d_msg_ctrunc'
d_msg_dontroute='$d_msg_dontroute'
@@ -14629,6 +14708,8 @@ d_msgctl='$d_msgctl'
d_msgget='$d_msgget'
d_msgrcv='$d_msgrcv'
d_msgsnd='$d_msgsnd'
+d_msync='$d_msync'
+d_munmap='$d_munmap'
d_mymalloc='$d_mymalloc'
d_nice='$d_nice'
d_nv_preserves_uv='$d_nv_preserves_uv'
@@ -14857,6 +14938,7 @@ i_sysfile='$i_sysfile'
i_sysfilio='$i_sysfilio'
i_sysin='$i_sysin'
i_sysioctl='$i_sysioctl'
+i_sysmman='$i_sysmman'
i_sysmount='$i_sysmount'
i_sysndir='$i_sysndir'
i_sysparam='$i_sysparam'
@@ -14957,6 +15039,7 @@ man3ext='$man3ext'
medium='$medium'
mips_type='$mips_type'
mkdir='$mkdir'
+mmaptype='$mmaptype'
models='$models'
modetype='$modetype'
more='$more'
@@ -14997,6 +15080,7 @@ pg='$pg'
phostname='$phostname'
pidtype='$pidtype'
plibpth='$plibpth'
+pm_apiversion='$pm_apiversion'
pmake='$pmake'
pr='$pr'
prefix='$prefix'
@@ -15146,6 +15230,7 @@ version='$version'
vi='$vi'
voidflags='$voidflags'
xlibpth='$xlibpth'
+xs_apiversion='$xs_apiversion'
zcat='$zcat'
zip='$zip'
EOT
diff --git a/Porting/Glossary b/Porting/Glossary
index 17b408de2e..ec69037292 100644
--- a/Porting/Glossary
+++ b/Porting/Glossary
@@ -193,8 +193,6 @@ ccflags (ccflags.U):
ccsymbols (Cppsym.U):
The variable contains the symbols defined by the C compiler alone.
- The symbols defined by cpp or by cc when it calls cpp are not in
- this list, see cppsymbols and cppccsymbols.
The list is a space-separated list of symbol=value tokens.
cf_by (cf_who.U):
@@ -268,9 +266,9 @@ cpp_stuff (cpp_stuff.U):
used by the C preprocessor.
cppccsymbols (Cppsym.U):
- The variable contains the symbols defined by the C compiler
- when it calls cpp. The symbols defined by the cc alone or cpp
- alone are not in this list, see ccsymbols and cppsymbols.
+ The variable contains the symbols defined by both
+ the bare C compiler and during a compilation that
+ includes stdio.h.
The list is a space-separated list of symbol=value tokens.
cppflags (ccflags.U):
@@ -302,9 +300,8 @@ cppstdin (cppstdin.U):
preprocessor symbols.
cppsymbols (Cppsym.U):
- The variable contains the symbols defined by the C preprocessor
- alone. The symbols defined by cc or by cc when it calls cpp are
- not in this list, see ccsymbols and cppccsymbols.
+ The variable contains the symbols during a compilation
+ that includes stdio.h.
The list is a space-separated list of symbol=value tokens.
crosscompile (crosscompile.U):
@@ -780,6 +777,10 @@ d_htonl (d_htonl.U):
This variable conditionally defines HAS_HTONL if htonl() and its
friends are available to do network order byte swapping.
+d_iconv (d_iconv.U):
+ This variable conditionally defines the HAS_ICONV symbol, which
+ indicates to the C program that the iconv() routine is available.
+
d_index (d_strchr.U):
This variable conditionally defines HAS_INDEX if index() and
rindex() are available for string searching.
@@ -880,14 +881,38 @@ d_mkdir (d_mkdir.U):
indicates to the C program that the mkdir() routine is available
to create directories..
+d_mkdtemp (d_mkdtemp.U):
+ This variable conditionally defines the HAS_MKDTEMP symbol, which
+ indicates to the C program that the mkdtemp() routine is available
+ to exclusively create a uniquely named temporary directory.
+
d_mkfifo (d_mkfifo.U):
This variable conditionally defines the HAS_MKFIFO symbol, which
indicates to the C program that the mkfifo() routine is available.
+d_mkstemp (d_mkstemp.U):
+ This variable conditionally defines the HAS_MKSTEMP symbol, which
+ indicates to the C program that the mkstemp() routine is available
+ to exclusively create and open a uniquely named temporary file.
+
+d_mkstemps (d_mkstemps.U):
+ This variable conditionally defines the HAS_MKSTEMPS symbol, which
+ indicates to the C program that the mkstemps() routine is available
+ to exclusively create and open a uniquely named (with a suffix)
+ temporary file.
+
d_mktime (d_mktime.U):
This variable conditionally defines the HAS_MKTIME symbol, which
indicates to the C program that the mktime() routine is available.
+d_mmap (d_mmap.U):
+ This variable conditionally defines HAS_MMAP if mmap() is
+ available to map a file into memory.
+
+d_mprotect (d_mprotect.U):
+ This variable conditionally defines HAS_MPROTECT if mprotect() is
+ available to modify the access protection of a memory mapped file.
+
d_msg (d_msg.U):
This variable conditionally defines the HAS_MSG symbol, which
indicates that the entire msg*(2) library is present.
@@ -933,6 +958,14 @@ d_msgsnd (d_msgsnd.U):
This variable conditionally defines the HAS_MSGSND symbol, which
indicates to the C program that the msgsnd() routine is available.
+d_msync (d_msync.U):
+ This variable conditionally defines HAS_MSYNC if msync() is
+ available to synchronize a mapped file.
+
+d_munmap (d_munmap.U):
+ This variable conditionally defines HAS_MUNMAP if munmap() is
+ available to unmap a region mapped by mmap().
+
d_mymalloc (mallocsrc.U):
This variable conditionally defines MYMALLOC in case other parts
of the source want to take special action if MYMALLOC is used.
@@ -1862,6 +1895,10 @@ i_grp (i_grp.U):
This variable conditionally defines the I_GRP symbol, and indicates
whether a C program should include <grp.h>.
+i_iconv (i_iconv.U):
+ This variable conditionally defines the I_ICONV symbol, and indicates
+ whether a C program should include <iconv.h>.
+
i_inttypes (i_inttypes.U):
This variable conditionally defines the I_INTTYPES symbol,
and indicates whether a C program should include <inttypes.h>.
@@ -1998,6 +2035,10 @@ i_sysioctl (i_sysioctl.U):
indicates to the C program that <sys/ioctl.h> exists and should
be included.
+i_sysmman (i_sysmman.U):
+ This variable conditionally defines the I_SYS_MMAN symbol, and
+ indicates whether a C program should include <sys/mman.h>.
+
i_sysmount (i_sysmount.U):
This variable conditionally defines the I_SYSMOUNT symbol,
and indicates whether a C program should include <sys/mount.h>.
@@ -2313,6 +2354,18 @@ libs (libs.U):
This variable holds the additional libraries we want to use.
It is up to the Makefile to deal with it.
+libsdirs (libs.U):
+ This variable holds the directory names aka dirnames of the libraries
+ we found and accepted, duplicates are removed.
+
+libsfiles (libs.U):
+ This variable holds the filenames aka basenames of the libraries
+ we found and accepted.
+
+libsfound (libs.U):
+ This variable holds the full pathnames of the libraries
+ we found and accepted.
+
libswanted (Myinit.U):
This variable holds a list of all the libraries we want to
search. The order is chosen to pick up the c library
@@ -2478,6 +2531,11 @@ mkdir (Loc.U):
full pathname (if any) of the mkdir program. After Configure runs,
the value is reset to a plain "mkdir" and is not useful.
+mmaptype (d_mmap.U):
+ This symbol contains the type of pointer returned by mmap()
+ (and simultaneously the type of the first argument).
+ It can be 'void *' or 'caddr_t'.
+
models (models.U):
This variable contains the list of memory models supported by this
system. Possible component values are none, split, unsplit, small,
@@ -2693,6 +2751,21 @@ plibpth (libpth.U):
Its value is prepend to libpth. This variable takes care of special
machines, like the mips. Usually, it should be empty.
+pm_apiversion (xs_apiversion.U):
+ This variable contains the version of the oldest perl
+ 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 $sitelib 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
+ the default setting for this variable. It's hard to imagine
+ it changing before Perl6. It is included here for symmetry
+ with xs_apiveprsion -- the searching algorithms will
+ (presumably) be similar.
+ See the INSTALL file for how this works.
+
pmake (Loc.U):
This variable is defined but not used by Configure.
The value is a plain '' and is not useful.
@@ -3412,6 +3485,23 @@ xlibpth (libpth.U):
libraries on this platform, for example CPU-specific libraries
(on multi-CPU platforms) may be listed here.
+xs_apiversion (xs_apiversion.U):
+ 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 $sitearch 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.
+ See INSTALL for how this works.
+ The versioned site_perl directory was introduced in 5.005,
+ so that is the lowest possible value.
+ Since this can depend on compile time options (such as
+ bincompat) it is set by Configure. Other non-default sources
+ of potential incompatibility, such as multiplicity, threads,
+ debugging, 64bits, sfio, etc., are not checked for currently,
+ though in principle we could go snooping around in old
+ Config.pm files.
+
zcat (Loc.U):
This variable is defined but not used by Configure.
The value is a plain '' and is not useful.
diff --git a/Porting/config.sh b/Porting/config.sh
index c91d1d16a6..5098924e6b 100644
--- a/Porting/config.sh
+++ b/Porting/config.sh
@@ -8,7 +8,7 @@
# Package name : perl5
# Source directory : .
-# Configuration time: Wed Jan 26 09:55:17 EET 2000
+# Configuration time: Wed Feb 9 04:06:18 EET 2000
# Configured by : jhi
# Target system : osf1 alpha.hut.fi v4.0 878 alpha
@@ -35,8 +35,8 @@ api_subversion='0'
api_version='5'
api_versionstring='5.005'
ar='ar'
-archlib='/opt/perl/lib/5.5.640/alpha-dec_osf-thread-multi'
-archlibexp='/opt/perl/lib/5.5.640/alpha-dec_osf-thread-multi'
+archlib='/opt/perl/lib/5.5.650/alpha-dec_osf-thread-multi'
+archlibexp='/opt/perl/lib/5.5.650/alpha-dec_osf-thread-multi'
archname64=''
archname='alpha-dec_osf-thread-multi'
archobjs=''
@@ -54,12 +54,12 @@ castflags='0'
cat='cat'
cc='cc'
cccdlflags=' '
-ccdlflags=' -Wl,-rpath,/opt/perl/lib/5.5.640/alpha-dec_osf-thread-multi/CORE'
+ccdlflags=' -Wl,-rpath,/opt/perl/lib/5.5.650/alpha-dec_osf-thread-multi/CORE'
ccflags='-pthread -std -DLANGUAGE_C'
-ccsymbols='__alpha=1 __LANGUAGE_C__=1 __osf__=1 __unix__=1 _LONGLONG=1 _SYSTYPE_BSD=1 SYSTYPE_BSD=1'
+ccsymbols='__alpha=1 __LANGUAGE_C__=1 __osf__=1 __unix__=1 _LONGLONG=1 _SYSTYPE_BSD=1 SYSTYPE_BSD=1 unix=1'
cf_by='jhi'
cf_email='yourname@yourhost.yourplace.com'
-cf_time='Wed Jan 26 09:55:17 EET 2000'
+cf_time='Wed Feb 9 04:06:18 EET 2000'
charsize='1'
chgrp=''
chmod=''
@@ -72,13 +72,13 @@ cp='cp'
cpio=''
cpp='cpp'
cpp_stuff='42'
-cppccsymbols='LANGUAGE_C=1 unix=1'
+cppccsymbols='LANGUAGE_C=1'
cppflags='-pthread -std -DLANGUAGE_C'
cpplast=''
cppminus=''
cpprun='/usr/bin/cpp'
cppstdin='cppstdin'
-cppsymbols=''
+cppsymbols='_AES_SOURCE=1 __alpha=1 __ALPHA=1 _ANSI_C_SOURCE=1 __LANGUAGE_C__=1 _LONGLONG=1 __osf__=1 _OSF_SOURCE=1 _POSIX_C_SOURCE=199506 _POSIX_SOURCE=1 _REENTRANT=1 __STDC__=1 _SYSTYPE_BSD=1 __unix__=1 _XOPEN_SOURCE=1'
crosscompile='undef'
cryptlib=''
csh='csh'
@@ -193,6 +193,7 @@ d_gnulibc='undef'
d_grpasswd='define'
d_hasmntopt='undef'
d_htonl='define'
+d_iconv='undef'
d_index='undef'
d_inetaton='define'
d_int64t='undef'
@@ -215,8 +216,13 @@ d_memcpy='define'
d_memmove='define'
d_memset='define'
d_mkdir='define'
+d_mkdtemp='undef'
d_mkfifo='define'
+d_mkstemp='define'
+d_mkstemps='undef'
d_mktime='define'
+d_mmap='define'
+d_mprotect='define'
d_msg='define'
d_msg_ctrunc='define'
d_msg_dontroute='define'
@@ -227,6 +233,8 @@ d_msgctl='define'
d_msgget='define'
d_msgrcv='define'
d_msgsnd='define'
+d_msync='define'
+d_munmap='define'
d_mymalloc='undef'
d_nice='define'
d_nv_preserves_uv='undef'
@@ -368,7 +376,7 @@ dlext='so'
dlsrc='dl_dlopen.xs'
doublesize='8'
drand01='drand48()'
-dynamic_ext='B ByteLoader DB_File Data/Dumper Devel/DProf Devel/Peek Fcntl File/Glob IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Thread attrs re'
+dynamic_ext='B ByteLoader DB_File Data/Dumper Devel/DProf Devel/Peek Fcntl File/Glob IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Sys/Syslog Thread attrs re'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
@@ -377,7 +385,7 @@ emacs=''
eunicefix=':'
exe_ext=''
expr='expr'
-extensions='B ByteLoader DB_File Data/Dumper Devel/DProf Devel/Peek Fcntl File/Glob IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Thread attrs re Errno'
+extensions='B ByteLoader DB_File Data/Dumper Devel/DProf Devel/Peek Fcntl File/Glob IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Sys/Syslog Thread attrs re Errno'
fflushNULL='define'
fflushall='undef'
find=''
@@ -423,6 +431,7 @@ i_fcntl='undef'
i_float='define'
i_gdbm='undef'
i_grp='define'
+i_iconv='define'
i_inttypes='undef'
i_limits='define'
i_locale='define'
@@ -454,6 +463,7 @@ i_sysfile='define'
i_sysfilio='undef'
i_sysin='undef'
i_sysioctl='define'
+i_sysmman='define'
i_sysmount='define'
i_sysndir='undef'
i_sysparam='define'
@@ -487,17 +497,17 @@ inc_version_list=' '
inc_version_list_init='""'
incpath=''
inews=''
-installarchlib='/opt/perl/lib/5.5.640/alpha-dec_osf-thread-multi'
+installarchlib='/opt/perl/lib/5.5.650/alpha-dec_osf-thread-multi'
installbin='/opt/perl/bin'
installman1dir='/opt/perl/man/man1'
installman3dir='/opt/perl/man/man3'
installprefix='/opt/perl'
installprefixexp='/opt/perl'
-installprivlib='/opt/perl/lib/5.5.640'
+installprivlib='/opt/perl/lib/5.5.650'
installscript='/opt/perl/bin'
-installsitearch='/opt/perl/lib/site_perl/5.5.640/alpha-dec_osf-thread-multi'
+installsitearch='/opt/perl/lib/site_perl/5.5.650/alpha-dec_osf-thread-multi'
installsitebin='/opt/perl/bin'
-installsitelib='/opt/perl/lib/site_perl/5.5.640'
+installsitelib='/opt/perl/lib/site_perl/5.5.650'
installstyle='lib'
installusrbinperl='define'
installvendorbin=''
@@ -506,7 +516,7 @@ intsize='4'
ivdformat='"ld"'
ivsize='8'
ivtype='long'
-known_extensions='B ByteLoader DB_File Data/Dumper Devel/DProf Devel/Peek Fcntl File/Glob GDBM_File IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Thread attrs re'
+known_extensions='B ByteLoader DB_File Data/Dumper Devel/DProf Devel/Peek Fcntl File/Glob GDBM_File IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Sys/Syslog Thread attrs re'
ksh=''
large=''
ld='ld'
@@ -519,6 +529,9 @@ libc='/usr/shlib/libc.so'
libperl='libperl.so'
libpth='/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /var/shlib'
libs='-lgdbm -ldbm -ldb -lm -lpthread -lexc'
+libsdirs=' /usr/shlib /usr/ccs/lib'
+libsfiles=' libgdbm.so libdbm.a libdb.so libm.so libpthread.so libexc.so'
+libsfound=' /usr/shlib/libgdbm.so /usr/ccs/lib/libdbm.a /usr/shlib/libdb.so /usr/shlib/libm.so /usr/shlib/libpthread.so /usr/shlib/libexc.so'
libswanted='sfio socket inet nsl nm gdbm dbm db malloc dld ld sun m cposix posix ndir dir crypt sec ucb BSD x pthread exc'
line=''
lint=''
@@ -551,6 +564,7 @@ man3ext='3'
medium=''
mips_type=''
mkdir='mkdir'
+mmaptype='void *'
models='none'
modetype='mode_t'
more='more'
@@ -591,12 +605,13 @@ pg='pg'
phostname=''
pidtype='pid_t'
plibpth=''
+pm_apiversion='5.005'
pmake=''
pr=''
prefix='/opt/perl'
prefixexp='/opt/perl'
-privlib='/opt/perl/lib/5.5.640'
-privlibexp='/opt/perl/lib/5.5.640'
+privlib='/opt/perl/lib/5.5.650'
+privlibexp='/opt/perl/lib/5.5.650'
prototype='define'
ptrsize='8'
quadkind='2'
@@ -642,12 +657,12 @@ sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE"
sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 6 6 16 20 23 23 23 29 48 '
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 6, 6, 16, 20, 23, 23, 23, 29, 48, 0'
signal_t='void'
-sitearch='/opt/perl/lib/site_perl/5.5.640/alpha-dec_osf-thread-multi'
-sitearchexp='/opt/perl/lib/site_perl/5.5.640/alpha-dec_osf-thread-multi'
+sitearch='/opt/perl/lib/site_perl/5.5.650/alpha-dec_osf-thread-multi'
+sitearchexp='/opt/perl/lib/site_perl/5.5.650/alpha-dec_osf-thread-multi'
sitebin='/opt/perl/bin'
sitebinexp='/opt/perl/bin'
-sitelib='/opt/perl/lib/site_perl/5.5.640'
-sitelibexp='/opt/perl/lib/site_perl/5.5.640'
+sitelib='/opt/perl/lib/site_perl/5.5.650'
+sitelibexp='/opt/perl/lib/site_perl/5.5.650'
siteprefix='/opt/perl'
siteprefixexp='/opt/perl'
sizetype='size_t'
@@ -675,7 +690,7 @@ stdio_ptr='((fp)->_ptr)'
stdio_stream_array='_iob'
strings='/usr/include/string.h'
submit=''
-subversion='640'
+subversion='650'
sysman='/usr/man/man1'
tail=''
tar=''
@@ -709,7 +724,7 @@ usedl='define'
useithreads='define'
uselargefiles='define'
uselongdouble='undef'
-uselonglong='undef'
+uselonglong='define'
usemorebits='undef'
usemultiplicity='define'
usemymalloc='n'
@@ -736,10 +751,11 @@ vendorlib=''
vendorlibexp=''
vendorprefix=''
vendorprefixexp=''
-version='5.5.640'
+version='5.5.650'
vi=''
voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
+xs_apiversion='5.5.650'
zcat=''
zip='zip'
# Configure command line arguments.
@@ -759,7 +775,7 @@ config_arg10='-Dmyhostname=yourhost'
config_arg11='-dE'
PERL_REVISION=5
PERL_VERSION=5
-PERL_SUBVERSION=640
+PERL_SUBVERSION=650
PERL_API_REVISION=5
PERL_API_VERSION=5
PERL_API_SUBVERSION=0
diff --git a/Porting/config_H b/Porting/config_H
index 03aafe7f9e..2c78b547a7 100644
--- a/Porting/config_H
+++ b/Porting/config_H
@@ -17,7 +17,7 @@
/*
* Package name : perl5
* Source directory : .
- * Configuration time: Wed Jan 26 09:55:17 EET 2000
+ * Configuration time: Wed Feb 9 04:06:18 EET 2000
* Configured by : jhi
* Target system : osf1 alpha.hut.fi v4.0 878 alpha
*/
@@ -362,6 +362,18 @@
*/
#define HAS_MKTIME /**/
+/* HAS_MSYNC:
+ * This symbol, if defined, indicates that the msync system call is
+ * available to synchronize a mapped file.
+ */
+#define HAS_MSYNC /**/
+
+/* HAS_MUNMAP:
+ * This symbol, if defined, indicates that the munmap system call is
+ * available to unmap a region, usually mapped by mmap().
+ */
+#define HAS_MUNMAP /**/
+
/* HAS_NICE:
* This symbol, if defined, indicates that the nice routine is
* available.
@@ -1086,8 +1098,8 @@
* 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 "/opt/perl/lib/5.5.640/alpha-dec_osf-thread-multi" /**/
-#define ARCHLIB_EXP "/opt/perl/lib/5.5.640/alpha-dec_osf-thread-multi" /**/
+#define ARCHLIB "/opt/perl/lib/5.5.650/alpha-dec_osf-thread-multi" /**/
+#define ARCHLIB_EXP "/opt/perl/lib/5.5.650/alpha-dec_osf-thread-multi" /**/
/* ARCHNAME:
* This symbol holds a string representing the architecture name.
@@ -1418,7 +1430,7 @@
*/
#define HAS_GETHOSTNAME /**/
#define HAS_UNAME /**/
-#undef HAS_PHOSTNAME
+/*#define HAS_PHOSTNAME / **/
#ifdef HAS_PHOSTNAME
#define PHOSTNAME "" /* How to get the host name */
#endif
@@ -1577,6 +1589,19 @@
#define HAS_NTOHL /**/
#define HAS_NTOHS /**/
+/* HAS_ICONV:
+ * This symbol, if defined, indicates that the iconv routine is
+ * available to do character set conversions.
+ */
+/*#define HAS_ICONV / **/
+
+/* HAS_INT64_T:
+ * This symbol will defined if the C compiler supports int64_t.
+ * Usually the <inttypes.h> needs to be included, but sometimes
+ * <sys/types.h> is enough.
+ */
+/*#define HAS_INT64_T / **/
+
/* HAS_ISASCII:
* This manifest constant lets the C program know that isascii
* is available.
@@ -1631,6 +1656,39 @@
*/
#define HAS_MEMCHR /**/
+/* HAS_MKDTEMP:
+ * This symbol, if defined, indicates that the mkdtemp routine is
+ * available to exclusively create a uniquely named temporary directory.
+ */
+/*#define HAS_MKDTEMP / **/
+
+/* HAS_MKSTEMP:
+ * This symbol, if defined, indicates that the mkstemp routine is
+ * available to exclusively create and open a uniquely named
+ * temporary file.
+ */
+#define HAS_MKSTEMP /**/
+
+/* HAS_MKSTEMPS:
+ * This symbol, if defined, indicates that the mkstemps routine is
+ * available to excluslvely create and open a uniquely named
+ * (with a suffix) temporary file.
+ */
+/*#define HAS_MKSTEMPS / **/
+
+/* Mmap_t:
+ * This symbol holds the return type of the mmap() system call
+ * (and simultaneously the type of the first argument).
+ * Usually set to 'void *' or 'cadd_t'.
+ */
+#define Mmap_t void * /**/
+
+/* HAS_MPROTECT:
+ * This symbol, if defined, indicates that the mprotect system call is
+ * available to modify the access protection of a memory mapped file.
+ */
+#define HAS_MPROTECT /**/
+
/* HAS_MSG:
* This symbol, if defined, indicates that the entire msg*(2) library is
* supported (IPC mechanism based on message queues).
@@ -2164,6 +2222,12 @@
#define I_GRP /**/
#define GRPASSWD /**/
+/* I_ICONV:
+ * This symbol, if defined, indicates that <iconv.h> exists and
+ * should be included.
+ */
+#define I_ICONV /**/
+
/* I_INTTYPES:
* This symbol, if defined, indicates to the C program that it should
* include <inttypes.h>.
@@ -2324,6 +2388,12 @@
*/
#define PERL_INC_VERSION_LIST "" /**/
+/* INSTALL_USR_BIN_PERL:
+ * This symbol, if defined, indicates that Perl is to be installed
+ * also as /usr/bin/perl.
+ */
+#define INSTALL_USR_BIN_PERL /**/
+
/* HAS_OFF64_T:
* This symbol will be defined if the C compiler supports off64_t.
*/
@@ -2562,8 +2632,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 "/opt/perl/lib/5.5.640" /**/
-#define PRIVLIB_EXP "/opt/perl/lib/5.5.640" /**/
+#define PRIVLIB "/opt/perl/lib/5.5.650" /**/
+#define PRIVLIB_EXP "/opt/perl/lib/5.5.650" /**/
/* PTRSIZE:
* This symbol contains the size of a pointer, so that the C preprocessor
@@ -2661,8 +2731,8 @@
* 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 "/opt/perl/lib/site_perl/5.5.640/alpha-dec_osf-thread-multi" /**/
-#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.5.640/alpha-dec_osf-thread-multi" /**/
+#define SITEARCH "/opt/perl/lib/site_perl/5.5.650/alpha-dec_osf-thread-multi" /**/
+#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.5.650/alpha-dec_osf-thread-multi" /**/
/* SITELIB:
* This symbol contains the name of the private library for this package.
@@ -2679,8 +2749,8 @@
* This symbol contains the ~name expanded version of SITELIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define SITELIB "/opt/perl/lib/site_perl/5.5.640" /**/
-#define SITELIB_EXP "/opt/perl/lib/site_perl/5.5.640" /**/
+#define SITELIB "/opt/perl/lib/site_perl/5.5.650" /**/
+#define SITELIB_EXP "/opt/perl/lib/site_perl/5.5.650" /**/
/* Size_t:
* This symbol holds the type used to declare length parameters
@@ -2766,7 +2836,7 @@
* be used when available.
*/
#ifndef USE_LONG_LONG
-/*#define USE_LONG_LONG / **/
+#define USE_LONG_LONG /**/
#endif
/* USE_MORE_BITS:
@@ -2781,7 +2851,7 @@
* This symbol, if defined, indicates that Perl should
* be built to use multiplicity.
*/
-#ifndef MULTIPLICTY
+#ifndef MULTIPLICITY
#define MULTIPLICITY /**/
#endif
@@ -2852,4 +2922,39 @@
#define M_VOID /* Xenix strikes again */
#endif
+/* 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 /opt/perl/lib/site_perl/5.5.650/alpha-dec_osf-thread-multi 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.
+ * See INSTALL for how this works.
+ * The versioned site_perl directory was introduced in 5.005,
+ * so that is the lowest possible value.
+ * Since this can depend on compile time options (such as
+ * bincompat) it is set by Configure. Other non-default sources
+ * of potential incompatibility, such as multiplicity, threads,
+ * debugging, 64bits, sfio, etc., are not checked for currently,
+ * though in principle we could go snooping around in old
+ * Config.pm files.
+ */
+/* PERL_PM_APIVERSION:
+ * This variable contains the version of the oldest perl
+ * 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 /opt/perl/lib/site_perl/5.5.650 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
+ * the default setting for this variable. It's hard to imagine
+ * it changing before Perl6. It is included here for symmetry
+ * with xs_apiveprsion -- the searching algorithms will
+ * (presumably) be similar.
+ * See the INSTALL file for how this works.
+ */
+#define PERL_XS_APIVERSION "5.5.650"
+#define PERL_PM_APIVERSION "5.005"
+
#endif
diff --git a/config_h.SH b/config_h.SH
index 8dfb5db1ec..3fb93ae1cc 100644
--- a/config_h.SH
+++ b/config_h.SH
@@ -376,6 +376,18 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
*/
#$d_mktime HAS_MKTIME /**/
+/* HAS_MSYNC:
+ * This symbol, if defined, indicates that the msync system call is
+ * available to synchronize a mapped file.
+ */
+#$d_msync HAS_MSYNC /**/
+
+/* HAS_MUNMAP:
+ * This symbol, if defined, indicates that the munmap system call is
+ * available to unmap a region, usually mapped by mmap().
+ */
+#$d_munmap HAS_MUNMAP /**/
+
/* HAS_NICE:
* This symbol, if defined, indicates that the nice routine is
* available.
@@ -1597,6 +1609,13 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
*/
#$d_iconv HAS_ICONV /**/
+/* HAS_INT64_T:
+ * This symbol will defined if the C compiler supports int64_t.
+ * Usually the <inttypes.h> needs to be included, but sometimes
+ * <sys/types.h> is enough.
+ */
+#$d_int64t HAS_INT64_T /**/
+
/* HAS_ISASCII:
* This manifest constant lets the C program know that isascii
* is available.
@@ -1651,6 +1670,39 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
*/
#$d_memchr HAS_MEMCHR /**/
+/* HAS_MKDTEMP:
+ * This symbol, if defined, indicates that the mkdtemp routine is
+ * available to exclusively create a uniquely named temporary directory.
+ */
+#$d_mkdtemp HAS_MKDTEMP /**/
+
+/* HAS_MKSTEMP:
+ * This symbol, if defined, indicates that the mkstemp routine is
+ * available to exclusively create and open a uniquely named
+ * temporary file.
+ */
+#$d_mkstemp HAS_MKSTEMP /**/
+
+/* HAS_MKSTEMPS:
+ * This symbol, if defined, indicates that the mkstemps routine is
+ * available to excluslvely create and open a uniquely named
+ * (with a suffix) temporary file.
+ */
+#$d_mkstemps HAS_MKSTEMPS /**/
+
+/* Mmap_t:
+ * This symbol holds the return type of the mmap() system call
+ * (and simultaneously the type of the first argument).
+ * Usually set to 'void *' or 'cadd_t'.
+ */
+#define Mmap_t $mmaptype /**/
+
+/* HAS_MPROTECT:
+ * This symbol, if defined, indicates that the mprotect system call is
+ * available to modify the access protection of a memory mapped file.
+ */
+#$d_mprotect HAS_MPROTECT /**/
+
/* HAS_MSG:
* This symbol, if defined, indicates that the entire msg*(2) library is
* supported (IPC mechanism based on message queues).
@@ -2350,6 +2402,12 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
*/
#define PERL_INC_VERSION_LIST $inc_version_list_init /**/
+/* INSTALL_USR_BIN_PERL:
+ * This symbol, if defined, indicates that Perl is to be installed
+ * also as /usr/bin/perl.
+ */
+#$installusrbinperl INSTALL_USR_BIN_PERL /**/
+
/* HAS_OFF64_T:
* This symbol will be defined if the C compiler supports off64_t.
*/
@@ -2878,5 +2936,40 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
#define M_VOID /* Xenix strikes again */
#endif
+/* 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 $sitearch 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.
+ * See INSTALL for how this works.
+ * The versioned site_perl directory was introduced in 5.005,
+ * so that is the lowest possible value.
+ * Since this can depend on compile time options (such as
+ * bincompat) it is set by Configure. Other non-default sources
+ * of potential incompatibility, such as multiplicity, threads,
+ * debugging, 64bits, sfio, etc., are not checked for currently,
+ * though in principle we could go snooping around in old
+ * Config.pm files.
+ */
+/* PERL_PM_APIVERSION:
+ * This variable contains the version of the oldest perl
+ * 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 $sitelib 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
+ * the default setting for this variable. It's hard to imagine
+ * it changing before Perl6. It is included here for symmetry
+ * with xs_apiveprsion -- the searching algorithms will
+ * (presumably) be similar.
+ * See the INSTALL file for how this works.
+ */
+#define PERL_XS_APIVERSION "$xs_apiversion"
+#define PERL_PM_APIVERSION "$pm_apiversion"
+
#endif
!GROK!THIS!
diff --git a/perl.h b/perl.h
index ebc0dba0b5..b3a697e2d9 100644
--- a/perl.h
+++ b/perl.h
@@ -3171,9 +3171,22 @@ typedef struct am_table_short AMTS;
/* Mention
NV_PRESERVES_UV
+
HAS_ICONV
I_ICONV
+ HAS_MKSTEMP
+ HAS_MKSTEMPS
+ HAS_MKDTEMP
+
+ HAS-MMAP
+ HAS_MPROTECT
+ HAS_MSYNC
+ HAS_MADVSISE
+ HAS_MUNMAP
+ I_SYSMMAN
+ Mmap_t
+
so that Configure picks them up. */
#endif /* Include guard */
diff --git a/vms/subconfigure.com b/vms/subconfigure.com
index b5d89bfaf1..f2852abcea 100644
--- a/vms/subconfigure.com
+++ b/vms/subconfigure.com
@@ -63,6 +63,7 @@ $ myname = myhostname
$ if "''myname'" .eqs. "" THEN myname = f$trnlnm("SYS$NODE")
$!
$! ##ADD NEW CONSTANTS HERE##
+$ perl_d_getcwd = "undef"
$ perl_d_nv_preserves_uv = "define"
$ perl_d_fs_data_s = "undef"
$ perl_d_getmnt = "undef"
@@ -1998,6 +1999,78 @@ $ perl_d_mkstemp="define"
$ ENDIF
$ WRITE_RESULT "d_mkstemp is ''perl_d_mkstemp'"
$!
+$! Check for mkstemps
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "int main()
+$ WS "{"
+$ WS "mkstemps(""foo"", 1);
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_mkstemps="undef"
+$ ELSE
+$ perl_d_mkstemps="define"
+$ ENDIF
+$ WRITE_RESULT "d_mkstemps is ''perl_d_mkstemps'"
+$!
+$! Check for mkstemp
+$!
+$ OS
+$ WS "#ifdef __DECC
+$ WS "#include <stdlib.h>
+$ WS "#endif
+$ WS "#include <stdio.h>
+$ WS "int main()
+$ WS "{"
+$ WS "mkdtemp(""foo"");
+$ WS "exit(0);
+$ WS "}"
+$ CS
+$ DEFINE SYS$ERROR _NLA0:
+$ DEFINE SYS$OUTPUT _NLA0:
+$ on error then continue
+$ on warning then continue
+$ 'Checkcc' temp.c
+$ If (Needs_Opt.eqs."Yes")
+$ THEN
+$ link temp.obj,temp.opt/opt
+$ else
+$ link temp.obj
+$ endif
+$ savedstatus = $status
+$ teststatus = f$extract(9,1,savedstatus)
+$ DEASSIGN SYS$OUTPUT
+$ DEASSIGN SYS$ERROR
+$ if (teststatus.nes."1")
+$ THEN
+$ perl_d_mkdtemp="undef"
+$ ELSE
+$ perl_d_mkdtemp="define"
+$ ENDIF
+$ WRITE_RESULT "d_mkdtemp is ''perl_d_mkdtemp'"
+$!
$! Check for setvbuf
$!
$ OS
@@ -3617,6 +3690,8 @@ $ WC "d_longlong='" + perl_d_longlong + "'"
$ WC "uselonglong='" + perl_d_longlong + "'"
$ WC "longlongsize='" + perl_longlongsize + "'"
$ WC "d_mkstemp='" + perl_d_mkstemp + "'"
+$ WC "d_mkstemps='" + perl_d_mkstemps + "'"
+$ WC "d_mkdtemp='" + perl_d_mkdtemp + "'"
$ WC "d_setvbuf='" + perl_d_setvbuf + "'"
$ WC "d_setenv='" + perl_d_setenv + "'"
$ WC "d_endhent='" + perl_d_endhent + "'"
@@ -3757,6 +3832,7 @@ $ WC "quadtype='" + perl_quadtype + "'"
$ WC "uquadtype='" + perl_uquadtype + "'"
$ ENDIF
$ WC "d_fs_data_s='" + perl_d_fs_data_s + "'"
+$ WC "d_getcwd='" + perl_d_getcwd + "'"
$ WC "d_getmnt='" + perl_d_getmnt + "'"
$ WC "d_sqrtl='" + perl_d_sqrtl + "'"
$ WC "d_statfs_f_flags='" + perl_d_statfs_f_flags + "'"
diff --git a/vos/config.def b/vos/config.def
index ce33890996..23b0fcc518 100644
--- a/vos/config.def
+++ b/vos/config.def
@@ -72,6 +72,7 @@ $d_fstatfs='undef'
$d_fstatvfs='undef'
$d_ftello='undef'
$d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+$d_getcwd='define'
$d_getgrent='undef'
$d_getgrps='undef'
$d_gethbyaddr='define'
@@ -107,6 +108,7 @@ $d_gnulibc='undef'
$d_grpasswd='undef'
$d_hasmntopt='undef'
$d_htonl='define'
+$d_iconv='undef'
$d_index='undef'
$d_inetaton='undef'
$d_int64t='undef'
@@ -120,6 +122,7 @@ $d_lockf='define'
$d_longdbl='define'
$d_longlong='undef'
$d_lstat='define'
+$d_madvise='undef'
$d_mblen='define'
$d_mbstowcs='define'
$d_mbtowc='define'
@@ -131,12 +134,16 @@ $d_memset='define'
$d_mkdir='define'
$d_mkfifo='define'
$d_mktime='define'
+$d_mmap='undef'
+$d_mprotect='undef'
$d_msg='undef'
$d_msg_ctrunc='undef'
$d_msg_dontroute='undef'
$d_msg_oob='undef'
$d_msg_peek='undef'
$d_msg_proxy='undef'
+$d_msync='undef'
+$d_munmap='undef'
$d_mymalloc='undef'
$d_nice='undef'
$d_nv_preserves_uv='define'
@@ -289,6 +296,7 @@ $i_dlfcn='undef'
$i_fcntl='define'
$i_float='define'
$i_grp='undef'
+$i_iconv='undef'
$i_inttypes='undef'
$i_limits='define'
$i_locale='define'
diff --git a/win32/config.bc b/win32/config.bc
index fd70a3f560..70054d67fd 100644
--- a/win32/config.bc
+++ b/win32/config.bc
@@ -147,6 +147,7 @@ d_fstatfs='undef'
d_fstatvfs='undef'
d_ftello='undef'
d_ftime='define'
+d_getcwd='undef'
d_getgrent='undef'
d_getgrps='undef'
d_gethbyaddr='define'
@@ -164,13 +165,13 @@ d_getnetprotos='undef'
d_getpbyname='define'
d_getpbynumber='define'
d_getpent='undef'
-d_getpwent='undef'
d_getpgid='undef'
d_getpgrp2='undef'
d_getpgrp='undef'
d_getppid='undef'
d_getprior='undef'
d_getprotoprotos='define'
+d_getpwent='undef'
d_getsbyname='define'
d_getsbyport='define'
d_getsent='undef'
@@ -178,23 +179,24 @@ d_getservprotos='define'
d_getspent='undef'
d_getspnam='undef'
d_gettimeod='undef'
+d_gnulibc='undef'
d_grpasswd='undef'
d_hasmntopt='undef'
-d_gnulibc='undef'
d_htonl='define'
d_index='undef'
d_inetaton='undef'
d_int64t='undef'
d_isascii='define'
d_killpg='undef'
-d_ldbl_dig='define'
d_lchown='undef'
+d_ldbl_dig='define'
d_link='define'
d_locconv='define'
d_lockf='undef'
d_longdbl='define'
d_longlong='undef'
d_lstat='undef'
+d_madvise='undef'
d_mblen='define'
d_mbstowcs='define'
d_mbtowc='define'
@@ -204,8 +206,13 @@ d_memcpy='define'
d_memmove='define'
d_memset='define'
d_mkdir='define'
+d_mkdtemp='undef'
d_mkfifo='undef'
+d_mkstemp='undef'
+d_mkstemps='undef'
d_mktime='define'
+d_mmap='undef'
+d_mprotect='undef'
d_msg='undef'
d_msg_ctrunc='undef'
d_msg_dontroute='undef'
@@ -216,6 +223,8 @@ d_msgctl='undef'
d_msgget='undef'
d_msgrcv='undef'
d_msgsnd='undef'
+d_msync='undef'
+d_munmap='undef'
d_mymalloc='undef'
d_nice='undef'
d_off64_t='undef'
@@ -262,7 +271,6 @@ d_seteuid='undef'
d_setgrent='undef'
d_setgrps='undef'
d_sethent='undef'
-d_setpwent='undef'
d_setlinebuf='undef'
d_setlocale='define'
d_setnent='undef'
@@ -271,6 +279,7 @@ d_setpgid='undef'
d_setpgrp2='undef'
d_setpgrp='undef'
d_setprior='undef'
+d_setpwent='undef'
d_setregid='undef'
d_setresgid='undef'
d_setresuid='undef'
@@ -540,6 +549,7 @@ man3ext='3'
medium=''
mips_type=''
mkdir='mkdir'
+mmaptype='void *'
models='none'
modetype='mode_t'
more='more /e'
diff --git a/win32/config.gc b/win32/config.gc
index 10a1c778f9..9b613d939e 100644
--- a/win32/config.gc
+++ b/win32/config.gc
@@ -147,6 +147,7 @@ d_fstatfs='undef'
d_fstatvfs='undef'
d_ftello='undef'
d_ftime='define'
+d_getcwd='undef'
d_getgrent='undef'
d_getgrps='undef'
d_gethbyaddr='define'
@@ -164,13 +165,13 @@ d_getnetprotos='undef'
d_getpbyname='define'
d_getpbynumber='define'
d_getpent='undef'
-d_getpwent='undef'
d_getpgid='undef'
d_getpgrp2='undef'
d_getpgrp='undef'
d_getppid='undef'
d_getprior='undef'
d_getprotoprotos='define'
+d_getpwent='undef'
d_getsbyname='define'
d_getsbyport='define'
d_getsent='undef'
@@ -178,23 +179,24 @@ d_getservprotos='define'
d_getspent='undef'
d_getspnam='undef'
d_gettimeod='undef'
+d_gnulibc='undef'
d_grpasswd='undef'
d_hasmntopt='undef'
-d_gnulibc='undef'
d_htonl='define'
d_index='undef'
d_inetaton='undef'
d_int64t='undef'
d_isascii='define'
d_killpg='undef'
-d_ldbl_dig='define'
d_lchown='undef'
+d_ldbl_dig='define'
d_link='define'
d_locconv='define'
d_lockf='undef'
d_longdbl='define'
d_longlong='undef'
d_lstat='undef'
+d_madvise='undef'
d_mblen='define'
d_mbstowcs='define'
d_mbtowc='define'
@@ -204,8 +206,13 @@ d_memcpy='define'
d_memmove='define'
d_memset='define'
d_mkdir='define'
+d_mkdtemp='undef'
d_mkfifo='undef'
+d_mkstemp='undef'
+d_mkstemps='undef'
d_mktime='define'
+d_mmap='undef'
+d_mprotect='undef'
d_msg='undef'
d_msg_ctrunc='undef'
d_msg_dontroute='undef'
@@ -216,6 +223,8 @@ d_msgctl='undef'
d_msgget='undef'
d_msgrcv='undef'
d_msgsnd='undef'
+d_msync='undef'
+d_munmap='undef'
d_mymalloc='undef'
d_nice='undef'
d_off64_t='undef'
@@ -262,7 +271,6 @@ d_seteuid='undef'
d_setgrent='undef'
d_setgrps='undef'
d_sethent='undef'
-d_setpwent='undef'
d_setlinebuf='undef'
d_setlocale='define'
d_setnent='undef'
@@ -271,6 +279,7 @@ d_setpgid='undef'
d_setpgrp2='undef'
d_setpgrp='undef'
d_setprior='undef'
+d_setpwent='undef'
d_setregid='undef'
d_setresgid='undef'
d_setresuid='undef'
@@ -540,6 +549,7 @@ man3ext='3'
medium=''
mips_type=''
mkdir='mkdir'
+mmaptype='void *'
models='none'
modetype='mode_t'
more='more /e'
diff --git a/win32/config.vc b/win32/config.vc
index 5514827e86..fa5ab64b7e 100644
--- a/win32/config.vc
+++ b/win32/config.vc
@@ -147,6 +147,7 @@ d_fstatfs='undef'
d_fstatvfs='undef'
d_ftello='undef'
d_ftime='define'
+d_getcwd='undef'
d_getgrent='undef'
d_getgrps='undef'
d_gethbyaddr='define'
@@ -164,13 +165,13 @@ d_getnetprotos='undef'
d_getpbyname='define'
d_getpbynumber='define'
d_getpent='undef'
-d_getpwent='undef'
d_getpgid='undef'
d_getpgrp2='undef'
d_getpgrp='undef'
d_getppid='undef'
d_getprior='undef'
d_getprotoprotos='define'
+d_getpwent='undef'
d_getsbyname='define'
d_getsbyport='define'
d_getsent='undef'
@@ -178,23 +179,24 @@ d_getservprotos='define'
d_getspent='undef'
d_getspnam='undef'
d_gettimeod='undef'
+d_gnulibc='undef'
d_grpasswd='undef'
d_hasmntopt='undef'
-d_gnulibc='undef'
d_htonl='define'
d_index='undef'
d_inetaton='undef'
d_int64t='undef'
d_isascii='define'
d_killpg='undef'
-d_ldbl_dig='define'
d_lchown='undef'
+d_ldbl_dig='define'
d_link='define'
d_locconv='define'
d_lockf='undef'
d_longdbl='define'
d_longlong='undef'
d_lstat='undef'
+d_madvise='undef'
d_mblen='define'
d_mbstowcs='define'
d_mbtowc='define'
@@ -204,8 +206,13 @@ d_memcpy='define'
d_memmove='define'
d_memset='define'
d_mkdir='define'
+d_mkdtemp='undef'
d_mkfifo='undef'
+d_mkstemp='undef'
+d_mkstemps='undef'
d_mktime='define'
+d_mmap='undef'
+d_mprotect='undef'
d_msg='undef'
d_msg_ctrunc='undef'
d_msg_dontroute='undef'
@@ -216,6 +223,8 @@ d_msgctl='undef'
d_msgget='undef'
d_msgrcv='undef'
d_msgsnd='undef'
+d_msync='undef'
+d_munmap='undef'
d_mymalloc='undef'
d_nice='undef'
d_off64_t='undef'
@@ -262,7 +271,6 @@ d_seteuid='undef'
d_setgrent='undef'
d_setgrps='undef'
d_sethent='undef'
-d_setpwent='undef'
d_setlinebuf='undef'
d_setlocale='define'
d_setnent='undef'
@@ -271,6 +279,7 @@ d_setpgid='undef'
d_setpgrp2='undef'
d_setpgrp='undef'
d_setprior='undef'
+d_setpwent='undef'
d_setregid='undef'
d_setresgid='undef'
d_setresuid='undef'
@@ -540,6 +549,7 @@ man3ext='3'
medium=''
mips_type=''
mkdir='mkdir'
+mmaptype='void *'
models='none'
modetype='mode_t'
more='more /e'
diff --git a/win32/config_H.bc b/win32/config_H.bc
index e89f71eecd..7ce21cbd9d 100644
--- a/win32/config_H.bc
+++ b/win32/config_H.bc
@@ -293,6 +293,12 @@
*/
/*#define HAS_LSTAT /**/
+/* HAS_MADVISE:
+ * This symbol, if defined, indicates that the madvise routine is
+ * available to hint about the expected access behavior.
+ */
+/*#define HAS_MADVISE /**/
+
/* HAS_MBLEN:
* This symbol, if defined, indicates that the mblen routine is available
* to find the number of bytes in a multibye character.
@@ -344,6 +350,12 @@
*/
#define HAS_MKDIR /**/
+/* HAS_MKDTEMP:
+ * This symbol, if defined, indicates that the mkdtemp routine is
+ * available to exclusively create a uniquely named temporary directory.
+ */
+/*#define HAS_MKDTEMP /**/
+
/* HAS_MKFIFO:
* This symbol, if defined, indicates that the mkfifo routine is
* available to create FIFOs. Otherwise, mknod should be able to
@@ -352,6 +364,20 @@
*/
/*#define HAS_MKFIFO /**/
+/* HAS_MKSTEMP:
+ * This symbol, if defined, indicates that the mkstemp routine is
+ * available to exclusively create and open a uniquely named
+ * extemporary file.
+ */
+/*#define HAS_MKSTEMP /**/
+
+/* HAS_MKSTEMPS:
+ * This symbol, if defined, indicates that the mkstemps routine is
+ * available to exclusively create and open a uniquely named
+ * (with a suffix) temporary file.
+ */
+/*#define HAS_MKSTEMPS /**/
+
/* HAS_MKTIME:
* This symbol, if defined, indicates that the mktime routine is
* available.
@@ -1361,6 +1387,12 @@
*/
#define Gconvert(x,n,t,b) gcvt((x),(n),(b))
+/* HAS_GETCWD:
+ * This symbol, if defined, indicates that the getcwd routine is
+ * available to get the current working directory.
+ */
+/*#define HAS_GETCWD /**/
+
/* HAS_GETGRENT:
* This symbol, if defined, indicates that the getgrent routine is
* available for sequential access of the group database.
diff --git a/win32/config_H.gc b/win32/config_H.gc
index d9adb8f8d7..f7b3ff96b6 100644
--- a/win32/config_H.gc
+++ b/win32/config_H.gc
@@ -293,6 +293,12 @@
*/
/*#define HAS_LSTAT /**/
+/* HAS_MADVISE:
+ * This symbol, if defined, indicates that the madvise routine is
+ * available to hint about the expected access behavior.
+ */
+/*#define HAS_MADVISE /**/
+
/* HAS_MBLEN:
* This symbol, if defined, indicates that the mblen routine is available
* to find the number of bytes in a multibye character.
@@ -344,6 +350,12 @@
*/
#define HAS_MKDIR /**/
+/* HAS_MKDTEMP:
+ * This symbol, if defined, indicates that the mkdtemp routine is
+ * available to exclusively create a uniquely named temporary directory.
+ */
+/*#define HAS_MKDTEMP /**/
+
/* HAS_MKFIFO:
* This symbol, if defined, indicates that the mkfifo routine is
* available to create FIFOs. Otherwise, mknod should be able to
@@ -352,6 +364,20 @@
*/
/*#define HAS_MKFIFO /**/
+/* HAS_MKSTEMP:
+ * This symbol, if defined, indicates that the mkstemp routine is
+ * available to exclusively create and open a uniquely named
+ * temporary file.
+ */
+/*#define HAS_MKSTEMP /**/
+
+/* HAS_MKSTEMPS:
+ * This symbol, if defined, indicates that the mkstemps routine is
+ * available to exclusively create and open a uniquely named
+ * (with a suffix) temporary file.
+ */
+/*#define HAS_MKSTEMPS /**/
+
/* HAS_MKTIME:
* This symbol, if defined, indicates that the mktime routine is
* available.
@@ -1361,6 +1387,12 @@
*/
#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
+/* HAS_GETCWD:
+ * This symbol, if defined, indicates that the getcwd routine is
+ * available to get the current working directory.
+ */
+/*#define HAS_GETCWD /**/
+
/* HAS_GETGRENT:
* This symbol, if defined, indicates that the getgrent routine is
* available for sequential access of the group database.
diff --git a/win32/config_H.vc b/win32/config_H.vc
index 1cd5e65a60..c4d9c4292f 100644
--- a/win32/config_H.vc
+++ b/win32/config_H.vc
@@ -293,6 +293,12 @@
*/
/*#define HAS_LSTAT /**/
+/* HAS_MADVISE:
+ * This symbol, if defined, indicates that the madvise routine is
+ * available to hint about the expected access behavior.
+ */
+/*#define HAS_MADVISE /**/
+
/* HAS_MBLEN:
* This symbol, if defined, indicates that the mblen routine is available
* to find the number of bytes in a multibye character.
@@ -344,6 +350,12 @@
*/
#define HAS_MKDIR /**/
+/* HAS_MKDTEMP:
+ * This symbol, if defined, indicates that the mkdtemp routine is
+ * available to exclusively create a uniquely named temporary directory.
+ */
+/*#define HAS_MKDTEMP /**/
+
/* HAS_MKFIFO:
* This symbol, if defined, indicates that the mkfifo routine is
* available to create FIFOs. Otherwise, mknod should be able to
@@ -352,6 +364,20 @@
*/
/*#define HAS_MKFIFO /**/
+/* HAS_MKSTEMP:
+ * This symbol, if defined, indicates that the mkstemp routine is
+ * available to exclusively create and open a uniquely named
+ * temporary file.
+ */
+/*#define HAS_MKSTEMP /**/
+
+/* HAS_MKSTEMPS:
+ * This symbol, if defined, indicates that the mkstemps routine is
+ * available to exclusively create and open a uniquely named
+ * (with a suffix) temporary file.
+ */
+/*#define HAS_MKSTEMPS /**/
+
/* HAS_MKTIME:
* This symbol, if defined, indicates that the mktime routine is
* available.
@@ -1361,6 +1387,12 @@
*/
#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
+/* HAS_GETCWD:
+ * This symbol, if defined, indicates that the getcwd routine is
+ * available to get the current working directory.
+ */
+/*#define HAS_GETCWD /**/
+
/* HAS_GETGRENT:
* This symbol, if defined, indicates that the getgrent routine is
* available for sequential access of the group database.