summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2000-02-25 22:53:51 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2000-02-25 22:53:51 +0000
commitc890dc6c586a442573099f83869005d8d2629877 (patch)
tree1feae4ab17619f4d188e986081f3c2a4ce9adcf2
parent24dd13bfb27be66180ff24c7f9b889c5a068c2c2 (diff)
downloadperl-c890dc6c586a442573099f83869005d8d2629877.tar.gz
Configure nits; add socksizetype; add getfsstat for completeness;
add lseekproto, usefull64bits, socksizetype getfsstat to non-UNIX lands; regen Configure. p4raw-id: //depot/cfgperl@5259
-rwxr-xr-xConfigure112
-rw-r--r--Porting/Glossary56
-rw-r--r--Porting/config.sh12
-rw-r--r--Porting/config_H60
-rw-r--r--config_h.SH23
-rw-r--r--doio.c14
-rw-r--r--epoc/config.sh26
-rw-r--r--perl.c2
-rw-r--r--pp_sys.c14
-rw-r--r--vms/subconfigure.com18
-rw-r--r--vos/config.def4
-rw-r--r--win32/config.bc4
-rw-r--r--win32/config.gc4
-rw-r--r--win32/config.vc4
-rw-r--r--win32/config_H.bc43
-rw-r--r--win32/config_H.gc43
-rw-r--r--win32/config_H.vc43
17 files changed, 360 insertions, 122 deletions
diff --git a/Configure b/Configure
index 126ff93ddb..5de329572c 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 25 07:45:17 EET 2000 [metaconfig 3.0 PL70]
+# Generated on Sat Feb 26 00:48:15 EET 2000 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.com)
cat >/tmp/c1$$ <<EOF
@@ -364,6 +364,7 @@ d_ftime=''
d_gettimeod=''
d_Gconvert=''
d_getcwd=''
+d_getfsstat=''
d_getgrent=''
d_getgrps=''
d_gethbyaddr=''
@@ -864,6 +865,7 @@ siteprefix=''
siteprefixexp=''
sizetype=''
so=''
+socksizetype=''
sharpbang=''
shsharp=''
spitshell=''
@@ -4276,7 +4278,7 @@ if eval $compile_ok; then
echo "(I can't execute the test program--guessing $fpossize.)" >&4
;;
*) fpossize=$yyy
- echo "Your $zzz is bytes long." >&4
+ echo "Your $zzz is $fpossize bytes long."
;;
esac
else
@@ -9008,6 +9010,11 @@ esac
set getcwd d_getcwd
eval $inlibc
+
+: see if getfsstat exists
+set getfsstat d_getfsstat
+eval $inlibc
+
: see if getgrent exists
set getgrent d_getgrent
eval $inlibc
@@ -11044,37 +11051,6 @@ set d_sigsetjmp
eval $setvar
$rm -f try.c try
-: see what type is used for size_t
-rp="What is the type used for the length parameter for string functions?"
-set size_t sizetype 'unsigned int' stdio.h sys/types.h
-eval $typedef_ask
-
-: check for socklen_t
-echo " "
-echo "Checking to see if you have socklen_t..." >&4
-$cat >try.c <<EOCP
-#include <sys/types.h>
-#$d_socket HAS_SOCKET
-#ifdef HAS_SOCKET
-#include <sys/socket.h>
-#endif
-int main() { socklen_t x = 16; }
-EOCP
-set try
-if eval $compile; then
- val="$define"
- echo "You have socklen_t."
-else
- val="$undef"
- echo "You do not have socklen_t."
- case "$sizetype" in
- size_t) echo "(You do have size_t, that might work.)" ;;
- esac
-fi
-$rm -f try try.*
-set d_socklen_t
-eval $setvar
-
: see if sys/stat.h is available
set sys/stat.h i_sysstat
eval $inhdr
@@ -12849,6 +12825,11 @@ EOSH
chmod +x protochk
$eunicefix protochk
+: see what type is used for size_t
+rp="What is the type used for the length parameter for string functions?"
+set size_t sizetype 'unsigned int' stdio.h sys/types.h
+eval $typedef_ask
+
: check for type of arguments to gethostbyaddr.
if test "X$netdb_host_type" = X -o "X$netdb_hlen_type" = X; then
case "$d_gethbyaddr" in
@@ -13500,6 +13481,69 @@ echo $sig_name | $awk \
}'
$rm -f signal signal.c signal.awk signal.lst signal_cmd
+: check for socklen_t
+echo " "
+echo "Checking to see if you have socklen_t..." >&4
+$cat >try.c <<EOCP
+#include <sys/types.h>
+#$d_socket HAS_SOCKET
+#ifdef HAS_SOCKET
+#include <sys/socket.h>
+#endif
+int main() { socklen_t x = 16; }
+EOCP
+set try
+if eval $compile; then
+ val="$define"
+ echo "You have socklen_t."
+else
+ val="$undef"
+ echo "You do not have socklen_t."
+ case "$sizetype" in
+ size_t) echo "(You do have size_t, that might work.)" ;;
+ esac
+fi
+$rm -f try try.*
+set d_socklen_t
+eval $setvar
+
+: check for type of the size argument to socket calls
+case "$d_socket" in
+"$define")
+ $cat <<EOM
+
+Checking to see what type is the last argument of accept().
+EOM
+ hdrs="$define sys/types.h $d_socket sys/socket.h"
+ yyy=''
+ case "$d_socklen_t" in
+ "$define") yyy="$yyy socklen_t"
+ esac
+ yyy="$yyy $sizetype int long"
+ for xxx in $yyy; do
+ case "$socksizetype" in
+ '') try="extern int accept(int, struct sockaddr *, $xxx *);"
+ if ./protochk "$try" $hdrs; then
+ echo "Your system accepts '$xxx *' for the last argument of accept()."
+ socksizetype="$xxx *"
+ fi
+ ;;
+ esac
+ done
+: In case none of those worked, prompt the user.
+ case "$socksizetype" in
+ '') rp='What is the type for the last argument to accept()?'
+ dflt='int *'
+ . ./myread
+ socksizetype=$ans
+ ;;
+ esac
+ ;;
+*) : no gethostbyaddr, so pick relatively harmless defaults
+ socksizetype='char *'
+ ;;
+esac
+
: see what type is used for signed size_t
set ssize_t ssizetype int stdio.h sys/types.h
eval $typedef
@@ -14794,6 +14838,7 @@ d_fstatvfs='$d_fstatvfs'
d_ftello='$d_ftello'
d_ftime='$d_ftime'
d_getcwd='$d_getcwd'
+d_getfsstat='$d_getfsstat'
d_getgrent='$d_getgrent'
d_getgrps='$d_getgrps'
d_gethbyaddr='$d_gethbyaddr'
@@ -15316,6 +15361,7 @@ small='$small'
so='$so'
sockethdr='$sockethdr'
socketlib='$socketlib'
+socksizetype='$socksizetype'
sort='$sort'
spackage='$spackage'
spitshell='$spitshell'
diff --git a/Porting/Glossary b/Porting/Glossary
index 89f694373d..296bd24b5f 100644
--- a/Porting/Glossary
+++ b/Porting/Glossary
@@ -566,7 +566,7 @@ d_fpathconf (d_pathconf.U):
to determine file-system related limits and options associated
with a given open file descriptor.
-d_fpos64_t (io64.U):
+d_fpos64_t (d_fpos64_t.U):
This symbol will be defined if the C compiler supports fpos64_t.
d_fs_data_s (d_fs_data_s.U):
@@ -612,6 +612,10 @@ d_getcwd (d_getcwd.U):
indicates to the C program that the getcwd() routine is available
to get the current working directory.
+d_getfsstat (d_getfsstat.U):
+ This variable conditionally defines the HAS_GETFSSTAT symbol, which
+ indicates to the C program that the getfsstat() routine is available.
+
d_getgrent (d_getgrent.U):
This variable conditionally defines the HAS_GETGRENT symbol, which
indicates to the C program that the getgrent() routine is available
@@ -838,6 +842,12 @@ d_longlong (d_longlong.U):
This variable conditionally defines HAS_LONG_LONG if
the long long type is supported.
+d_lseekproto (d_lseekproto.U):
+ This variable conditionally defines the HAS_LSEEK_PROTO symbol,
+ which indicates to the C program that the system provides
+ a prototype for the lseek() function. Otherwise, it is
+ up to the program to supply one.
+
d_lstat (d_lstat.U):
This variable conditionally defines HAS_LSTAT if lstat() is
available to do file stats on symbolic links.
@@ -985,7 +995,7 @@ d_nv_preserves_uv (perlxv.U):
This variable indicates whether a variable of type nvtype
can preserve all the bits a variable of type uvtype.
-d_off64_t (io64.U):
+d_off64_t (d_off64_t.U):
This symbol will be defined if the C compiler supports off64_t.
d_old_pthread_create_joinable (d_pthrattrj.U):
@@ -2722,16 +2732,20 @@ patchlevel (patchlevel.U):
The patchlevel level of this package.
The value of patchlevel comes from the patchlevel.h file.
In a version number such as 5.6.1, this is the "6".
- In patchlevel.h, this is referred to as the "PERL_VERSION".
+ In patchlevel.h, this is referred to as "PERL_VERSION".
path_sep (Unix.U):
This is an old synonym for p_ in Head.U, the character
used to separate elements in the command shell search PATH.
+perl5 (perl5.U):
+ This variable contains the full path (if any) to a previously
+ installed perl5.005 or later suitable for running the script
+ to determine inc_version_list.
+
perl (Loc.U):
- This variable is used internally by Configure to determine the
- full pathname (if any) of the perl program. After Configure runs,
- the value is reset to a plain "perl" and is not useful.
+ This variable is defined but not used by Configure.
+ The value is a plain '' and is not useful.
PERL_REVISION (Oldsyms.U):
In a Perl version number such as 5.6.2, this is the 5.
@@ -2859,6 +2873,11 @@ rd_nodata (nblock_io.U):
used, which is a shame because you cannot make the difference between
no data and an EOF.. Sigh!
+revision (patchlevel.U):
+ The value of revision comes from the patchlevel.h file.
+ In a version number such as 5.6.1, this is the "5".
+ In patchlevel.h, this is referred to as "PERL_REVISION".
+
rm (Loc.U):
This variable is used internally by Configure to determine the
full pathname (if any) of the rm program. After Configure runs,
@@ -3074,6 +3093,11 @@ sockethdr (d_socket.U):
socketlib (d_socket.U):
This variable has the names of any libraries needed for socket support.
+socksizetype (socksizetype.U):
+ This variable holds the type used for the size argument
+ for various socket calls like accept. Usual values include
+ socklen_t, size_t, and int.
+
sort (Loc.U):
This variable is used internally by Configure to determine the
full pathname (if any) of the sort program. After Configure runs,
@@ -3218,6 +3242,7 @@ subversion (patchlevel.U):
The subversion level of this package.
The value of subversion comes from the patchlevel.h file.
In a version number such as 5.6.1, this is the "1".
+ In patchlevel.h, this is referred to as "PERL_SUBVERSION".
This is unique to perl.
sysman (sysman.U):
@@ -3336,12 +3361,25 @@ use5005threads (usethreads.U):
use64bits (use64bits.U):
This variable conditionally defines the USE_64_BITS symbol,
and indicates that 64-bit integer types should be used
- when available.
+ when available. The minimal possible 64-bitness
+ is employed, just enough to get 64-bit integers into Perl.
+ This may mean using for example "long longs", while your memory
+ may still be limited to 2 gigabytes.
usedl (dlsrc.U):
This variable indicates if the system supports dynamic
loading of some sort. See also dlsrc and dlobj.
+usefull64bits (use64bits.U):
+ This variable conditionally defines the USE_FULL_64_BITS symbol,
+ and indicates that 64-bit integer types should be used
+ when available. The maximal possible
+ 64-bitness is employed: LP64 or ILP64, meaning that you will
+ be able to use more than 2 gigabytes of memory. This mode is
+ even more binary incompatible than USE_64_BITS. You may not
+ be able to run the resulting executable in a 32-bit CPU at all or
+ you may need at least to reboot your OS to 64-bit mode.
+
useithreads (usethreads.U):
This variable conditionally defines the USE_ITHREADS symbol,
and indicates that Perl should be built to use the interpreter-based
@@ -3350,7 +3388,7 @@ useithreads (usethreads.U):
uselargefiles (uselfs.U):
This variable conditionally defines the USE_LARGE_FILES symbol,
and indicates that large file interfaces should be used when
- available. The use64bits symbol will also be turned on if necessary.
+ available.
uselongdouble (uselongdbl.U):
This variable conditionally defines the USE_LONG_DOUBLE symbol,
@@ -3486,7 +3524,7 @@ vendorprefixexp (vendorprefix.U):
version (patchlevel.U):
The full version number of this package, such as 5.6.1 (or 5_6_1).
- This combines baserev, patchlevel, and subversion to get the
+ This combines revision, patchlevel, and subversion to get the
full version number, including any possible subversions.
This is suitable for use as a directory name, and hence is
filesystem dependent.
diff --git a/Porting/config.sh b/Porting/config.sh
index 073beacb71..ed01b7edf2 100644
--- a/Porting/config.sh
+++ b/Porting/config.sh
@@ -8,7 +8,7 @@
# Package name : perl5
# Source directory : .
-# Configuration time: Tue Feb 22 23:57:36 EET 2000
+# Configuration time: Sat Feb 26 00:49:19 EET 2000
# Configured by : jhi
# Target system : osf1 alpha.hut.fi v4.0 878 alpha
@@ -59,7 +59,7 @@ ccflags='-pthread -std -DLANGUAGE_C'
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='Tue Feb 22 23:57:36 EET 2000'
+cf_time='Sat Feb 26 00:49:19 EET 2000'
charsize='1'
chgrp=''
chmod=''
@@ -159,6 +159,7 @@ d_fstatvfs='define'
d_ftello='undef'
d_ftime='undef'
d_getcwd='define'
+d_getfsstat='define'
d_getgrent='define'
d_getgrps='define'
d_gethbyaddr='define'
@@ -207,6 +208,7 @@ d_locconv='define'
d_lockf='define'
d_longdbl='define'
d_longlong='define'
+d_lseekproto='define'
d_lstat='define'
d_mblen='define'
d_mbstowcs='define'
@@ -604,7 +606,8 @@ pager='/c/bin/less'
passcat='cat /etc/passwd'
patchlevel='5'
path_sep=':'
-perl='perl'
+perl5='/u/vieraat/vieraat/jhi/Perl/bin/perl'
+perl=''
perladmin='yourname@yourhost.yourplace.com'
perlpath='/opt/perl/bin/perl'
pg='pg'
@@ -627,6 +630,7 @@ randfunc='drand48'
randseedtype='long'
ranlib=':'
rd_nodata='-1'
+revision='5'
rm='rm'
rmail=''
runnm='true'
@@ -678,6 +682,7 @@ small=''
so='so'
sockethdr=''
socketlib=''
+socksizetype='int *'
sort='sort'
spackage='Perl5'
spitshell='cat'
@@ -727,6 +732,7 @@ uquadtype='unsigned long'
use5005threads='undef'
use64bits='define'
usedl='define'
+usefull64bits='define'
useithreads='define'
uselargefiles='define'
uselongdouble='undef'
diff --git a/Porting/config_H b/Porting/config_H
index 16fb48fd7d..5a3e2c572f 100644
--- a/Porting/config_H
+++ b/Porting/config_H
@@ -17,7 +17,7 @@
/*
* Package name : perl5
* Source directory : .
- * Configuration time: Tue Feb 22 23:57:36 EET 2000
+ * Configuration time: Sat Feb 26 00:49:19 EET 2000
* Configured by : jhi
* Target system : osf1 alpha.hut.fi v4.0 878 alpha
*/
@@ -1342,6 +1342,11 @@
*/
#define HAS_FD_SET /**/
+/* HAS_FPOS64_T:
+ * This symbol will be defined if the C compiler supports fpos64_t.
+ */
+/*#define HAS_FPOS64_T / **/
+
/* HAS_STRUCT_FS_DATA:
* This symbol, if defined, indicates that the struct fs_data
* to do statfs() is supported.
@@ -1359,6 +1364,7 @@
* available to stat filesystems by file descriptors.
*/
#define HAS_FSTATFS /**/
+
/* HAS_FTELLO:
* This symbol, if defined, indicates that the ftello routine is
* available to ftell beyond 32 bits (useful for ILP32 hosts).
@@ -1706,6 +1712,11 @@
*/
#define HAS_MSG /**/
+/* HAS_OFF64_T:
+ * This symbol will be defined if the C compiler supports off64_t.
+ */
+/*#define HAS_OFF64_T / **/
+
/* HAS_OPEN3:
* This manifest constant lets the C program know that the three
* argument form of open(2) is available.
@@ -1922,12 +1933,6 @@
/*#define HAS_MSG_PROXY / **/
#define HAS_SCM_RIGHTS /**/
-/* HAS_SOCKLEN_T:
- * This symbol will defined if the C compiler supports socklen_t.
- * Usually the <sys/socket.h> needs to be included.
- */
-/*#define HAS_SOCKLEN_T / **/
-
/* HAS_SQRTL:
* This symbol, if defined, indicates that the sqrtl routine is
* available to do long double square roots.
@@ -2429,15 +2434,6 @@
*/
#define INSTALL_USR_BIN_PERL /**/
-/* HAS_OFF64_T:
- * This symbol will be defined if the C compiler supports off64_t.
- */
-/* HAS_FPOS64_T:
- * This symbol will be defined if the C compiler supports fpos64_t.
- */
-/*#define HAS_OFF64_T / **/
-/*#define HAS_FPOS64_T / **/
-
/* PERL_PRIfldbl:
* This symbol, if defined, contains the string used by stdio to
* format long doubles (format 'f') for output.
@@ -2843,16 +2839,22 @@
/* USE_64_BITS:
* This symbol, if defined, indicates that 64-bit integers should
* be used when available. If not defined, the native integers
- * will be used (be they 32 or 64 bits).
+ * will be employed (be they 32 or 64 bits). The minimal possible
+ * 64-bitness is used, just enough to get 64-bit integers into Perl.
+ * This may mean using for example "long longs", while your memory
+ * may still be limited to 2 gigabytes.
*/
#ifndef USE_64_BITS
#define USE_64_BITS /**/
#endif
+#ifndef USE_FULL_64_BITS
+#define USE_FULL_64_BITS /**/
+#endif
+
/* USE_LARGE_FILES:
* This symbol, if defined, indicates that large file support
- * should be used when available. The USE_64_BITS symbol will
- * also be turned on if necessary.
+ * should be used when available.
*/
#ifndef USE_LARGE_FILES
#define USE_LARGE_FILES /**/
@@ -2984,4 +2986,24 @@
#define PERL_XS_APIVERSION "5.5.660"
#define PERL_PM_APIVERSION "5.005"
+/* HAS_GETFSSTAT:
+ * This symbol, if defined, indicates that the getfsstat routine is
+ * available to stat filesystems in bulk.
+ */
+#define HAS_GETFSSTAT /**/
+
+/* HAS_LSEEK_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the lseek() function. Otherwise, it is up
+ * to the program to supply one. A good guess is
+ * extern off_t lseek(int, off_t, int);
+ */
+#define HAS_LSEEK_PROTO /**/
+
+/* Sock_size_t:
+ * This symbol holds the type used for the size argument
+ * of various socket calls.
+ */
+#define Sock_size_t int * /**/
+
#endif
diff --git a/config_h.SH b/config_h.SH
index a65d0b8fb4..0e0e525597 100644
--- a/config_h.SH
+++ b/config_h.SH
@@ -1378,6 +1378,7 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
* available to stat filesystems by file descriptors.
*/
#$d_fstatfs HAS_FSTATFS /**/
+
/* HAS_FTELLO:
* This symbol, if defined, indicates that the ftello routine is
* available to ftell beyond 32 bits (useful for ILP32 hosts).
@@ -1946,12 +1947,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
#$d_msg_proxy HAS_MSG_PROXY /**/
#$d_scm_rights HAS_SCM_RIGHTS /**/
-/* HAS_SOCKLEN_T:
- * This symbol will defined if the C compiler supports socklen_t.
- * Usually the <sys/socket.h> needs to be included.
- */
-#$d_socklen_t HAS_SOCKLEN_T /**/
-
/* HAS_SQRTL:
* This symbol, if defined, indicates that the sqrtl routine is
* available to do long double square roots.
@@ -2862,7 +2857,6 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
* 64-bitness is used, just enough to get 64-bit integers into Perl.
* This may mean using for example "long longs", while your memory
* may still be limited to 2 gigabytes.
- * To go all the way, use Configure -Dusefull64bits.
*/
#ifndef USE_64_BITS
#$use64bits USE_64_BITS /**/
@@ -2874,8 +2868,7 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
/* USE_LARGE_FILES:
* This symbol, if defined, indicates that large file support
- * should be used when available. The USE_64_BITS symbol will
- * also be turned on if necessary.
+ * should be used when available.
*/
#ifndef USE_LARGE_FILES
#$uselargefiles USE_LARGE_FILES /**/
@@ -3007,6 +3000,12 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
#define PERL_XS_APIVERSION "$xs_apiversion"
#define PERL_PM_APIVERSION "$pm_apiversion"
+/* HAS_GETFSSTAT:
+ * This symbol, if defined, indicates that the getfsstat routine is
+ * available to stat filesystems in bulk.
+ */
+#$d_getfsstat HAS_GETFSSTAT /**/
+
/* HAS_LSEEK_PROTO:
* This symbol, if defined, indicates that the system provides
* a prototype for the lseek() function. Otherwise, it is up
@@ -3015,5 +3014,11 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
*/
#$d_lseekproto HAS_LSEEK_PROTO /**/
+/* Sock_size_t:
+ * This symbol holds the type used for the size argument
+ * of various socket calls.
+ */
+#define Sock_size_t $socksizetype /**/
+
#endif
!GROK!THIS!
diff --git a/doio.c b/doio.c
index 5f284db155..d818185c48 100644
--- a/doio.c
+++ b/doio.c
@@ -71,20 +71,6 @@
# endif
#endif
-/* Put this after #includes because <unistd.h> defines _XOPEN_*.
- * Sock_size_t is defined identically in pp_sys.c. */
-#ifndef Sock_size_t
-# ifdef HAS_SOCKLEN_T
-# define Sock_size_t socklen_t
-# else
-# if _XOPEN_VERSION >= 5 || defined(_XOPEN_SOURCE_EXTENDED) || defined(__GLIBC__)
-# define Sock_size_t Size_t
-# else
-# define Sock_size_t int
-# endif
-# endif
-#endif
-
bool
Perl_do_open(pTHX_ GV *gv, register char *name, I32 len, int as_raw,
int rawmode, int rawperm, PerlIO *supplied_fp)
diff --git a/epoc/config.sh b/epoc/config.sh
index fda0bf04b8..59886ba627 100644
--- a/epoc/config.sh
+++ b/epoc/config.sh
@@ -34,8 +34,8 @@ apirevision=''
apisubversion=''
apiversion=''
ar='arm-pe-ar'
-archlib='/perl/lib/5.5.650/epoc'
-archlibexp='/perl/lib/5.5.650/epoc'
+archlib='/perl/lib/5.5.670/epoc'
+archlibexp='/perl/lib/5.5.670/epoc'
archname64=''
archname='epoc'
archobjs='epoc.o epocish.o epoc_stubs.o'
@@ -156,6 +156,7 @@ d_fstatfs='define'
d_fstatvfs='undef'
d_ftello='undef'
d_ftime='undef'
+d_getfsstat='undef'
d_getgrent='undef'
d_getgrps='undef'
d_gethbyaddr='define'
@@ -204,6 +205,7 @@ d_locconv='undef'
d_lockf='undef'
d_longdbl='undef'
d_longlong='define'
+d_lseekproto='define'
d_lstat='undef'
d_madvise='undef'
d_mblen='undef'
@@ -575,8 +577,8 @@ pmake=''
pr=''
prefix=''
prefixexp=''
-privlib='/perl/lib/5.5.650'
-privlibexp='/perl/lib/5.5.650'
+privlib='/perl/lib/5.5.670'
+privlibexp='/perl/lib/5.5.670'
prototype='define'
ptrsize='4'
randbits='31'
@@ -620,10 +622,10 @@ sig_name_init='"ZERO", 0'
sig_num='0'
sig_num_init='0, 0'
signal_t='void'
-sitearch='/perl/lib/site_perl/5.5.650/epoc'
-sitearchexp='/perl/lib/site_perl/5.5.650/epoc'
-sitelib='/perl/lib/site_perl/5.5.650/'
-sitelibexp='/perl/lib/site_perl/5.5.650/'
+sitearch='/perl/lib/site_perl/5.5.670/epoc'
+sitearchexp='/perl/lib/site_perl/5.5.670/epoc'
+sitelib='/perl/lib/site_perl/5.5.670/'
+sitelibexp='/perl/lib/site_perl/5.5.670/'
siteprefix=''
siteprefixexp=''
sizetype='size_t'
@@ -631,6 +633,7 @@ sleep=''
smail=''
small=''
so=''
+sock_size_type='int *'
sockethdr=''
socketlib=''
sort='sort'
@@ -670,6 +673,7 @@ uname='uname'
uniq='uniq'
use64bits='undef'
usedl='undef'
+usefull64bits='undef'
uselargefiles='undef'
uselongdouble='undef'
usemorebits='undef'
@@ -691,7 +695,7 @@ vendorlib=''
vendorlibexp=''
vendorprefix=''
vendorprefixexp=''
-version='5.5.650'
+version='5.5.670'
vi=''
voidflags='15'
xlibpth=''
@@ -714,10 +718,10 @@ config_arg10=''
config_arg11=''
PERL_REVISION=5
PERL_VERSION=5
-PERL_SUBVERSION=650
+PERL_SUBVERSION=670
PERL_API_REVISION=5
PERL_API_VERSION=5
-PERL_API_SUBVERSION=650
+PERL_API_SUBVERSION=670
CONFIGDOTSH=true
# Variables propagated from previous config.sh file.
pp_sys_cflags=''
diff --git a/perl.c b/perl.c
index 8f53c3648e..9c38c299ad 100644
--- a/perl.c
+++ b/perl.c
@@ -2539,7 +2539,7 @@ sed %s -e \"/^[^#]/b\" \
/* Mention
* I_SYSSTATVFS HAS_FSTATVFS
* I_SYSMOUNT
- * I_STATFS HAS_FSTATFS
+ * I_STATFS HAS_FSTATFS HAS_GETFSSTAT
* I_MNTENT HAS_GETMNTENT HAS_HASMNTOPT
* here so that metaconfig picks them up. */
diff --git a/pp_sys.c b/pp_sys.c
index 572da79028..9e3ad5203f 100644
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -118,20 +118,6 @@ extern int h_errno;
# define vfork fork
#endif
-/* Put this after #includes because <unistd.h> defines _XOPEN_*.
- * Sock_size_t is defined identically in doio.c. */
-#ifndef Sock_size_t
-# ifdef HAS_SOCKLEN_T
-# define Sock_size_t socklen_t
-# else
-# if _XOPEN_VERSION >= 5 || defined(_XOPEN_SOURCE_EXTENDED) || defined(__GLIBC__)
-# define Sock_size_t Size_t
-# else
-# define Sock_size_t int
-# endif
-# endif
-#endif
-
#ifdef HAS_CHSIZE
# ifdef my_chsize /* Probably #defined to Perl_my_chsize in embed.h */
# undef my_chsize
diff --git a/vms/subconfigure.com b/vms/subconfigure.com
index bfdb4892bb..c919c99a4a 100644
--- a/vms/subconfigure.com
+++ b/vms/subconfigure.com
@@ -88,6 +88,7 @@ $ perl_d_getspent="undef
$ perl_d_getspnam="undef
$ perl_d_setspent="undef
$ perl_d_fstatfs="undef"
+$ perl_d_getfsstat="undef"
$ perl_i_machcthreads="undef"
$ perl_i_pthread="define"
$ perl_d_fstatvfs="undef"
@@ -140,7 +141,14 @@ $ perl_uselargefiles = "undef"
$ perl_uselongdouble = "undef"
$ perl_usemorebits = "undef"
$ ENDIF
+$ IF use_full64bit .eqs. "Y"
+$ THEN
+$ perl_usefull64bits = "define"
+$ ELSE
+$ perl_usefull64bits = "undef"
+$ ENDIF
$ perl_d_drand48proto = "define"
+$ perl_d_lseekproto = "define"
$ perl_libpth="/sys$share /sys$library"
$ perl_ld="Link"
$ perl_lddlflags="/Share"
@@ -3341,6 +3349,7 @@ $ perl_d_gethostprotos="define"
$ perl_d_getnetprotos="define"
$ perl_d_getprotoprotos="define"
$ perl_d_getservprotos="define"
+$ perl_sock_size_type="int *"
$ ELSE
$ perl_d_vms_do_sockets="undef"
$ perl_d_htonl="undef"
@@ -3362,6 +3371,7 @@ $ perl_d_gethostprotos="undef"
$ perl_d_getnetprotos="undef"
$ perl_d_getprotoprotos="undef"
$ perl_d_getservprotos="undef"
+$ perl_sock_size_type="undef"
$ ENDIF
$! Threads
$ if ("''use_threads'".eqs."T")
@@ -3909,6 +3919,7 @@ $ WC "netdb_host_type='" + perl_netdb_host_type + "'"
$ WC "netdb_hlen_type='" + perl_netdb_hlen_type + "'"
$ WC "netdb_name_type='" + perl_netdb_name_type + "'"
$ WC "netdb_net_type='" + perl_netdb_net_type + "'"
+$ WC "sock_size_type='" + perl_sock_size_type + "'"
$ WC "baserev='" + perl_baserev + "'"
$ WC "doublesize='" + perl_doublesize + "'"
$ WC "ptrsize='" + perl_ptrsize + "'"
@@ -3999,7 +4010,9 @@ $ WC "i_inttypes='" + perl_i_inttypes + "'"
$ WC "d_off64_t='" + perl_d_off64_t + "'"
$ WC "d_fpos64_t='" + perl_d_fpos64_t + "'"
$ WC "use64bits='" + perl_use64bits + "'"
+$ WC "usefull64bits='" + perl_usefull64bits + "'"
$ WC "d_drand48proto='" + perl_d_drand48proto + "'"
+$ WC "d_lseekproto='" + perl_d_drand48proto + "'"
$ WC "d_old_pthread_create_joinable='" + perl_d_old_pthread_create_joinable + "'"
$ WC "old_pthread_create_joinable='" + perl_old_pthread_create_joinable + "'"
$ WC "drand01='" + perl_drand01 + "'"
@@ -4008,6 +4021,7 @@ $ WC "seedfunc='" + perl_seedfunc + "'"
$ WC "sig_num_init='" + perl_sig_num_with_commas + "'"
$ WC "i_sysmount='" + perl_i_sysmount + "'"
$ WC "d_fstatfs='" + perl_d_fstatfs + "'"
+$ WC "d_getfsstat='" + perl_d_getfsstat + "'"
$ WC "d_memchr='" + perl_d_memchr + "'"
$ WC "d_statfsflags='" + perl_d_statfsflags + "'"
$ WC "fflushNULL='define'"
@@ -4195,6 +4209,10 @@ $ THEN
$ WRITE CONFIG "#define USE_64_BITS"
$ WRITE CONFIG "#define USE_LONG_DOUBLE"
$ ENDIF
+$ if use_full64bit.eqs."Y"
+$ THEN
+$ WRITE CONFIG "#define USE_FULL_64_BITS"
+$ ENDIF
$ WRITE CONFIG "#define HAS_ENVGETENV"
$ WRITE CONFIG "#define PERL_EXTERNAL_GLOB"
$ CLOSE CONFIG
diff --git a/vos/config.def b/vos/config.def
index 19ec5ed338..c7b320f87d 100644
--- a/vos/config.def
+++ b/vos/config.def
@@ -73,6 +73,7 @@ $d_fstatvfs='undef'
$d_ftello='undef'
$d_Gconvert='sprintf((b),"%.*g",(n),(x))'
$d_getcwd='define'
+$d_getfsstat='undef'
$d_getgrent='undef'
$d_getgrps='undef'
$d_gethbyaddr='define'
@@ -121,6 +122,7 @@ $d_locconv='define'
$d_lockf='define'
$d_longdbl='define'
$d_longlong='undef'
+$d_lseekproto='define'
$d_lstat='define'
$d_madvise='undef'
$d_mblen='define'
@@ -402,6 +404,7 @@ $sitearchexp=''
$sitelib='/system/ported/perl/lib/site/5.005'
$sitelibexp='/system/ported/perl/lib/site/5.005'
$sizetype='size_t'
+$sock_size_type='int *'
$sPRIfldbl='"Lf"'
$sPRIgldbl='"Lg"'
$src='%es#lang/vos_ftp_site/pub/vos/alpha/perl'
@@ -429,6 +432,7 @@ $uquadtype='_error_'
$use5005threads='undef'
$use64bits='undef'
$usedl='undef'
+$usefull64bits='undef'
$uselargefiles='undef'
$uselongdouble='define'
$usemorebits='undef'
diff --git a/win32/config.bc b/win32/config.bc
index 9c44eb0ab7..d60890ff73 100644
--- a/win32/config.bc
+++ b/win32/config.bc
@@ -148,6 +148,7 @@ d_fstatvfs='undef'
d_ftello='undef'
d_ftime='define'
d_getcwd='undef'
+d_getfsstat='undef'
d_getgrent='undef'
d_getgrps='undef'
d_gethbyaddr='define'
@@ -195,6 +196,7 @@ d_locconv='define'
d_lockf='undef'
d_longdbl='define'
d_longlong='undef'
+d_lseekproto='define'
d_lstat='undef'
d_madvise='undef'
d_mblen='define'
@@ -654,6 +656,7 @@ sleep=''
smail=''
small=''
so='dll'
+sock_size_type='int *'
sockethdr=''
socketlib=''
sort='sort'
@@ -705,6 +708,7 @@ uquadtype='unsigned __int64'
use5005threads='undef'
use64bits='undef'
usedl='define'
+usefull64bits='undef'
useithreads='undef'
uselargefiles='undef'
uselongdouble='undef'
diff --git a/win32/config.gc b/win32/config.gc
index d4dde746e0..9faa2868be 100644
--- a/win32/config.gc
+++ b/win32/config.gc
@@ -148,6 +148,7 @@ d_fstatvfs='undef'
d_ftello='undef'
d_ftime='define'
d_getcwd='undef'
+d_getfsstat='undef'
d_getgrent='undef'
d_getgrps='undef'
d_gethbyaddr='define'
@@ -195,6 +196,7 @@ d_locconv='define'
d_lockf='undef'
d_longdbl='define'
d_longlong='undef'
+d_lseekproto='define'
d_lstat='undef'
d_madvise='undef'
d_mblen='define'
@@ -654,6 +656,7 @@ sleep=''
smail=''
small=''
so='dll'
+sock_size_type='int *'
sockethdr=''
socketlib=''
sort='sort'
@@ -705,6 +708,7 @@ uquadtype='unsigned long long'
use5005threads='undef'
use64bits='undef'
usedl='define'
+usefull64bits='undef'
useithreads='undef'
uselargefiles='undef'
uselongdouble='undef'
diff --git a/win32/config.vc b/win32/config.vc
index ff50f5195f..d7ef9e476d 100644
--- a/win32/config.vc
+++ b/win32/config.vc
@@ -148,6 +148,7 @@ d_fstatvfs='undef'
d_ftello='undef'
d_ftime='define'
d_getcwd='undef'
+d_getfsstat='undef'
d_getgrent='undef'
d_getgrps='undef'
d_gethbyaddr='define'
@@ -195,6 +196,7 @@ d_locconv='define'
d_lockf='undef'
d_longdbl='define'
d_longlong='undef'
+d_lseekproto='define'
d_lstat='undef'
d_madvise='undef'
d_mblen='define'
@@ -654,6 +656,7 @@ sleep=''
smail=''
small=''
so='dll'
+sock_size_type='int *'
sockethdr=''
socketlib=''
sort='sort'
@@ -705,6 +708,7 @@ uquadtype='unsigned __int64'
use5005threads='undef'
use64bits='undef'
usedl='define'
+usefull64bits='undef'
useithreads='undef'
uselargefiles='undef'
uselongdouble='undef'
diff --git a/win32/config_H.bc b/win32/config_H.bc
index 085d8ef027..bb35cb7556 100644
--- a/win32/config_H.bc
+++ b/win32/config_H.bc
@@ -1364,6 +1364,7 @@
* available to stat filesystems by file descriptors.
*/
/*#define HAS_FSTATFS /**/
+
/* HAS_FTELLO:
* This symbol, if defined, indicates that the ftello routine is
* available to ftell beyond 32 bits (useful for ILP32 hosts).
@@ -1393,6 +1394,12 @@
*/
/*#define HAS_GETCWD /**/
+/* HAS_GETFSSTAT:
+ * This symbol, if defined, indicates that the fstatfs routine is
+ * available to stat filesystems in bulk.
+ */
+/*#define HAS_GETFSSTAT /**/
+
/* HAS_GETGRENT:
* This symbol, if defined, indicates that the getgrent routine is
* available for sequential access of the group database.
@@ -1640,6 +1647,14 @@
#define LONGLONGSIZE 8 /**/
#endif
+/* HAS_LSEEK_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the lseek() function. Otherwise, it is up
+ * to the program to supply one. A good guess is
+ * extern off_t lseek _((int, off_t, int));
+ */
+#define HAS_LSEEK_PROTO /**/
+
/* HAS_MEMCHR:
* This symbol, if defined, indicates that the memchr routine is available
* to locate characters within a C string.
@@ -1868,6 +1883,12 @@
/*#define HAS_MSG_PROXY /**/
/*#define HAS_SCM_RIGHTS /**/
+/* Sock_size_t:
+ * This symbol holds the type used for the size argument
+ * of various socket calls.
+ */
+#define Sock_size_t int * /**/
+
/* HAS_SQRTL:
* This symbol, if defined, indicates that the sqrtl routine is
* available to do long double square roots.
@@ -2748,16 +2769,32 @@
/* USE_64_BITS:
* This symbol, if defined, indicates that 64-bit integers should
* be used when available. If not defined, the native integers
- * will be used (be they 32 or 64 bits).
+ * will be employed (be they 32 or 64 bits). The minimal possible
+ * 64-bitness is used, just enough to get 64-bit integers into Perl.
+ * This may mean using for example "long longs", while your memory
+ * may still be limited to 2 gigabytes.
*/
#ifndef USE_64_BITS
/*#define USE_64_BITS /**/
#endif
+/* USE_FULL_64_BITS:
+ * This variable conditionally defines the USE_FULL_64_BITS symbol,
+ * and indicates that 64-bit integer types should be used
+ * when available. The maximal possible
+ * 64-bitness is employed: LP64 or ILP64, meaning that you will
+ * be able to use more than 2 gigabytes of memory. This mode is
+ * even more binary incompatible than USE_64_BITS. You may not
+ * be able to run the resulting executable in a 32-bit CPU at all or
+ * you may need at least to reboot your OS to 64-bit mode.
+ */
+#ifndef USE_FULL_64_BITS
+/*#define USE_FULL_64_BITS /**/
+#endif
+
/* USE_LARGE_FILES:
* This symbol, if defined, indicates that large file support
- * should be used when available. The USE_64_BITS symbol will
- * also be turned on if necessary.
+ * should be used when available.
*/
#ifndef USE_LARGE_FILES
/*#define USE_LARGE_FILES /**/
diff --git a/win32/config_H.gc b/win32/config_H.gc
index 6a328778c5..a3ac38ad66 100644
--- a/win32/config_H.gc
+++ b/win32/config_H.gc
@@ -1364,6 +1364,7 @@
* available to stat filesystems by file descriptors.
*/
/*#define HAS_FSTATFS /**/
+
/* HAS_FTELLO:
* This symbol, if defined, indicates that the ftello routine is
* available to ftell beyond 32 bits (useful for ILP32 hosts).
@@ -1393,6 +1394,12 @@
*/
/*#define HAS_GETCWD /**/
+/* HAS_GETFSSTAT:
+ * This symbol, if defined, indicates that the fstatfs routine is
+ * available to stat filesystems in bulk.
+ */
+/*#define HAS_GETFSSTAT /**/
+
/* HAS_GETGRENT:
* This symbol, if defined, indicates that the getgrent routine is
* available for sequential access of the group database.
@@ -1640,6 +1647,14 @@
#define LONGLONGSIZE 8 /**/
#endif
+/* HAS_LSEEK_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the lseek() function. Otherwise, it is up
+ * to the program to supply one. A good guess is
+ * extern off_t lseek _((int, off_t, int));
+ */
+#define HAS_LSEEK_PROTO /**/
+
/* HAS_MEMCHR:
* This symbol, if defined, indicates that the memchr routine is available
* to locate characters within a C string.
@@ -1868,6 +1883,12 @@
/*#define HAS_MSG_PROXY /**/
/*#define HAS_SCM_RIGHTS /**/
+/* Sock_size_t:
+ * This symbol holds the type used for the size argument
+ * of various socket calls.
+ */
+#define Sock_size_t int * /**/
+
/* HAS_SQRTL:
* This symbol, if defined, indicates that the sqrtl routine is
* available to do long double square roots.
@@ -2748,16 +2769,32 @@
/* USE_64_BITS:
* This symbol, if defined, indicates that 64-bit integers should
* be used when available. If not defined, the native integers
- * will be used (be they 32 or 64 bits).
+ * will be employed (be they 32 or 64 bits). The minimal possible
+ * 64-bitness is used, just enough to get 64-bit integers into Perl.
+ * This may mean using for example "long longs", while your memory
+ * may still be limited to 2 gigabytes.
*/
#ifndef USE_64_BITS
/*#define USE_64_BITS /**/
#endif
+/* USE_FULL_64_BITS:
+ * This variable conditionally defines the USE_FULL_64_BITS symbol,
+ * and indicates that 64-bit integer types should be used
+ * when available. The maximal possible
+ * 64-bitness is employed: LP64 or ILP64, meaning that you will
+ * be able to use more than 2 gigabytes of memory. This mode is
+ * even more binary incompatible than USE_64_BITS. You may not
+ * be able to run the resulting executable in a 32-bit CPU at all or
+ * you may need at least to reboot your OS to 64-bit mode.
+ */
+#ifndef USE_FULL_64_BITS
+/*#define USE_FULL_64_BITS /**/
+#endif
+
/* USE_LARGE_FILES:
* This symbol, if defined, indicates that large file support
- * should be used when available. The USE_64_BITS symbol will
- * also be turned on if necessary.
+ * should be used when available.
*/
#ifndef USE_LARGE_FILES
/*#define USE_LARGE_FILES /**/
diff --git a/win32/config_H.vc b/win32/config_H.vc
index 5408521f86..c5d9738780 100644
--- a/win32/config_H.vc
+++ b/win32/config_H.vc
@@ -1364,6 +1364,7 @@
* available to stat filesystems by file descriptors.
*/
/*#define HAS_FSTATFS /**/
+
/* HAS_FTELLO:
* This symbol, if defined, indicates that the ftello routine is
* available to ftell beyond 32 bits (useful for ILP32 hosts).
@@ -1393,6 +1394,12 @@
*/
/*#define HAS_GETCWD /**/
+/* HAS_GETFSSTAT:
+ * This symbol, if defined, indicates that the fstatfs routine is
+ * available to stat filesystems in bulk.
+ */
+/*#define HAS_GETFSSTAT /**/
+
/* HAS_GETGRENT:
* This symbol, if defined, indicates that the getgrent routine is
* available for sequential access of the group database.
@@ -1640,6 +1647,14 @@
#define LONGLONGSIZE 8 /**/
#endif
+/* HAS_LSEEK_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the lseek() function. Otherwise, it is up
+ * to the program to supply one. A good guess is
+ * extern off_t lseek _((int, off_t, int));
+ */
+#define HAS_LSEEK_PROTO /**/
+
/* HAS_MEMCHR:
* This symbol, if defined, indicates that the memchr routine is available
* to locate characters within a C string.
@@ -1868,6 +1883,12 @@
/*#define HAS_MSG_PROXY /**/
/*#define HAS_SCM_RIGHTS /**/
+/* Sock_size_t:
+ * This symbol holds the type used for the size argument
+ * of various socket calls.
+ */
+#define Sock_size_t int * /**/
+
/* HAS_SQRTL:
* This symbol, if defined, indicates that the sqrtl routine is
* available to do long double square roots.
@@ -2748,16 +2769,32 @@
/* USE_64_BITS:
* This symbol, if defined, indicates that 64-bit integers should
* be used when available. If not defined, the native integers
- * will be used (be they 32 or 64 bits).
+ * will be employed (be they 32 or 64 bits). The minimal possible
+ * 64-bitness is used, just enough to get 64-bit integers into Perl.
+ * This may mean using for example "long longs", while your memory
+ * may still be limited to 2 gigabytes.
*/
#ifndef USE_64_BITS
/*#define USE_64_BITS /**/
#endif
+/* USE_FULL_64_BITS:
+ * This variable conditionally defines the USE_FULL_64_BITS symbol,
+ * and indicates that 64-bit integer types should be used
+ * when available. The maximal possible
+ * 64-bitness is employed: LP64 or ILP64, meaning that you will
+ * be able to use more than 2 gigabytes of memory. This mode is
+ * even more binary incompatible than USE_64_BITS. You may not
+ * be able to run the resulting executable in a 32-bit CPU at all or
+ * you may need at least to reboot your OS to 64-bit mode.
+ */
+#ifndef USE_FULL_64_BITS
+/*#define USE_FULL_64_BITS /**/
+#endif
+
/* USE_LARGE_FILES:
* This symbol, if defined, indicates that large file support
- * should be used when available. The USE_64_BITS symbol will
- * also be turned on if necessary.
+ * should be used when available.
*/
#ifndef USE_LARGE_FILES
/*#define USE_LARGE_FILES /**/