summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorSteve Hay <SteveHay@planit.com>2008-02-22 17:10:50 +0000
committerSteve Hay <SteveHay@planit.com>2008-02-22 17:10:50 +0000
commitf7e8b52a895af879b5e32567a5597aeb7217c590 (patch)
treef3f10f80b7aa0dbb091d03cf7a43b478ae8d4b0e /win32
parent46c71dd0b983bfe679463ca333ef8e1a51386d41 (diff)
downloadperl-f7e8b52a895af879b5e32567a5597aeb7217c590.tar.gz
Correct large files / lseek size & type settings in Win32 canned configs.
Change 25208 switched off USE_LARGE_FILES in win32/config_H.* but left LSEEKSIZE/Off_t_size and Off_t as 8 and __int64 (or long long) respectively. Similarly change 25215 switched off uselargefiles in win32/config.* but left lseeksize and lseektype as 8 and __int64 (or long long) respectively. Change 25216 fixed the Borland settings in win32/config.bc on the basis that Borland should always be using 4 and long, but really all the other files should be using 4 and long for their default values as well to match the default values of USE_LARGE_FILES and uselargefiles. Having done that, we must then reverse the logic for fiddling with these values in win32/config_sh.PL: they are now changed to 8 and __int64 (or long long) if uselargefiles *is* defined (except for Borland, which always wants 4 and long). p4raw-id: //depot/perl@33347
Diffstat (limited to 'win32')
-rw-r--r--win32/config.gc4
-rw-r--r--win32/config.vc4
-rw-r--r--win32/config.vc644
-rw-r--r--win32/config_H.bc6
-rw-r--r--win32/config_H.gc10
-rw-r--r--win32/config_H.vc10
-rw-r--r--win32/config_H.vc646
-rw-r--r--win32/config_sh.PL15
8 files changed, 30 insertions, 29 deletions
diff --git a/win32/config.gc b/win32/config.gc
index 817482a340..7a3802ea56 100644
--- a/win32/config.gc
+++ b/win32/config.gc
@@ -756,8 +756,8 @@ longsize='4'
lp=''
lpr=''
ls='dir'
-lseeksize='8'
-lseektype='long long'
+lseeksize='4'
+lseektype='long'
mad='undef'
madlyh=''
madlyobj=''
diff --git a/win32/config.vc b/win32/config.vc
index 12290a749e..2c9a6ef2b6 100644
--- a/win32/config.vc
+++ b/win32/config.vc
@@ -756,8 +756,8 @@ longsize='4'
lp=''
lpr=''
ls='dir'
-lseeksize='8'
-lseektype='__int64'
+lseeksize='4'
+lseektype='long'
mad='undef'
madlyh=''
madlyobj=''
diff --git a/win32/config.vc64 b/win32/config.vc64
index c50ef7b252..e9fd377944 100644
--- a/win32/config.vc64
+++ b/win32/config.vc64
@@ -756,8 +756,8 @@ longsize='4'
lp=''
lpr=''
ls='dir'
-lseeksize='8'
-lseektype='__int64'
+lseeksize='4'
+lseektype='long'
mad='undef'
madlyh=''
madlyobj=''
diff --git a/win32/config_H.bc b/win32/config_H.bc
index 7520a55f3d..718438790d 100644
--- a/win32/config_H.bc
+++ b/win32/config_H.bc
@@ -3723,9 +3723,9 @@
/* Off_t_size:
* This symbol holds the number of bytes used by the Off_t.
*/
-#define Off_t __int64 /* <offset> type */
-#define LSEEKSIZE 8 /* <offset> size */
-#define Off_t_size 8 /* <offset> size */
+#define Off_t long /* <offset> type */
+#define LSEEKSIZE 4 /* <offset> size */
+#define Off_t_size 4 /* <offset> size */
/* PERL_MAD:
* This symbol, if defined, indicates that the Misc Attribution
diff --git a/win32/config_H.gc b/win32/config_H.gc
index 0970b9acf0..c9af417c74 100644
--- a/win32/config_H.gc
+++ b/win32/config_H.gc
@@ -3739,13 +3739,9 @@
/* Off_t_size:
* This symbol holds the number of bytes used by the Off_t.
*/
-#ifndef _MSC_VER
-# define Off_t long long /* <offset> type */
-#else
-# define Off_t __int64 /* <offset> type */
-#endif
-#define LSEEKSIZE 8 /* <offset> size */
-#define Off_t_size 8 /* <offset> size */
+#define Off_t long /* <offset> type */
+#define LSEEKSIZE 4 /* <offset> size */
+#define Off_t_size 4 /* <offset> size */
/* PERL_MAD:
* This symbol, if defined, indicates that the Misc Attribution
diff --git a/win32/config_H.vc b/win32/config_H.vc
index 8bdb7de9d9..490af3d7d8 100644
--- a/win32/config_H.vc
+++ b/win32/config_H.vc
@@ -3735,13 +3735,9 @@
/* Off_t_size:
* This symbol holds the number of bytes used by the Off_t.
*/
-#ifndef __GNUC__
-# define Off_t __int64 /* <offset> type */
-#else
-# define Off_t long long /* <offset> type */
-#endif
-#define LSEEKSIZE 8 /* <offset> size */
-#define Off_t_size 8 /* <offset> size */
+#define Off_t long /* <offset> type */
+#define LSEEKSIZE 4 /* <offset> size */
+#define Off_t_size 4 /* <offset> size */
/* PERL_MAD:
* This symbol, if defined, indicates that the Misc Attribution
diff --git a/win32/config_H.vc64 b/win32/config_H.vc64
index 7aaa9262e4..3a827e5a02 100644
--- a/win32/config_H.vc64
+++ b/win32/config_H.vc64
@@ -3723,9 +3723,9 @@
/* Off_t_size:
* This symbol holds the number of bytes used by the Off_t.
*/
-#define Off_t __int64 /* <offset> type */
-#define LSEEKSIZE 8 /* <offset> size */
-#define Off_t_size 8 /* <offset> size */
+#define Off_t long /* <offset> type */
+#define LSEEKSIZE 4 /* <offset> size */
+#define Off_t_size 4 /* <offset> size */
/* PERL_MAD:
* This symbol, if defined, indicates that the Misc Attribution
diff --git a/win32/config_sh.PL b/win32/config_sh.PL
index 67f9c20353..99d6a222c7 100644
--- a/win32/config_sh.PL
+++ b/win32/config_sh.PL
@@ -117,9 +117,18 @@ unless (defined $ENV{SYSTEMROOT}) { # SystemRoot has been introduced by WinNT
$opt{d_link} = 'undef';
}
-if ($opt{uselargefiles} ne 'define') {
- $opt{lseeksize} = 4;
- $opt{lseektype} = 'off_t';
+# change the lseeksize and lseektype from their canned default values (which
+# are set-up for a non-uselargefiles build) if we are building with
+# uselargefiles. don't do this for bcc32: the code contains special handling
+# for bcc32 and the lseeksize and lseektype should not be changed.
+if ($opt{uselargefiles} eq 'define' and $opt{cc} ne 'bcc32') {
+ $opt{lseeksize} = 8;
+ if ($opt{cc} eq 'cl') {
+ $opt{lseektype} = '__int64';
+ }
+ elsif ($opt{cc} eq 'gcc') {
+ $opt{lseektype} = 'long long';
+ }
}
if ($opt{useithreads} eq 'define' && $opt{ccflags} =~ /-DPERL_IMPLICIT_SYS\b/) {