Skip to content

Commit

Permalink
Correct large files / lseek size & type settings in Win32 canned conf…
Browse files Browse the repository at this point in the history
…igs.

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
  • Loading branch information
Steve Hay authored and Steve Hay committed Feb 22, 2008
1 parent 46c71dd commit f7e8b52
Show file tree
Hide file tree
Showing 8 changed files with 30 additions and 29 deletions.
4 changes: 2 additions & 2 deletions win32/config.gc
Expand Up @@ -756,8 +756,8 @@ longsize='4'
lp=''
lpr=''
ls='dir'
lseeksize='8'
lseektype='long long'
lseeksize='4'
lseektype='long'
mad='undef'
madlyh=''
madlyobj=''
Expand Down
4 changes: 2 additions & 2 deletions win32/config.vc
Expand Up @@ -756,8 +756,8 @@ longsize='4'
lp=''
lpr=''
ls='dir'
lseeksize='8'
lseektype='__int64'
lseeksize='4'
lseektype='long'
mad='undef'
madlyh=''
madlyobj=''
Expand Down
4 changes: 2 additions & 2 deletions win32/config.vc64
Expand Up @@ -756,8 +756,8 @@ longsize='4'
lp=''
lpr=''
ls='dir'
lseeksize='8'
lseektype='__int64'
lseeksize='4'
lseektype='long'
mad='undef'
madlyh=''
madlyobj=''
Expand Down
6 changes: 3 additions & 3 deletions win32/config_H.bc
Expand Up @@ -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
Expand Down
10 changes: 3 additions & 7 deletions win32/config_H.gc
Expand Up @@ -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
Expand Down
10 changes: 3 additions & 7 deletions win32/config_H.vc
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions win32/config_H.vc64
Expand Up @@ -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
Expand Down
15 changes: 12 additions & 3 deletions win32/config_sh.PL
Expand Up @@ -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/) {
Expand Down

0 comments on commit f7e8b52

Please sign in to comment.