8000 Further tweaks to compiler flags for PL/Perl on Windows. · lelisa2016/postgres@f7e4783 · GitHub
[go: up one dir, main page]

Skip to content

Commit f7e4783

Browse files
committed
Further tweaks to compiler flags for PL/Perl on Windows.
It now emerges that we can only rely on Perl to tell us we must use -D_USE_32BIT_TIME_T if it's Perl 5.13.4 or later. For older versions, revert to our previous practice of assuming we need that symbol in all 32-bit Windows builds. This is not ideal, but inquiring into which compiler version Perl was built with seems far too fragile. In any case, we had not previously had complaints about these old Perl versions, so let's assume this is Good Enough. (It's still better than the situation ante commit 5a5c2fe, in that at least the effects are confined to PL/Perl rather than the whole PG build.) Back-patch to all supported versions, like 5a5c2fe and predecessors. Discussion: https://postgr.es/m/CANFyU97OVQ3+Mzfmt3MhuUm5NwPU=-FtbNH5Eb7nZL9ua8=rcA@mail.gmail.com
1 parent 60b135c commit f7e4783

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/tools/msvc/Mkvcbuild.pm

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,18 @@ sub mkvcbuild
129129
}
130130
}
131131

132+
# Per 894D l versions before 5.13.4 don't provide -D_USE_32BIT_TIME_T
133+
# regardless of how they were built. On 32-bit Windows, assume
134+
# such a version was built with a pre-MSVC-2005 compiler, and
135+
# define the symbol anyway, so that we are compatible if we're
136+
# being built with a later MSVC version.
137+
push(@perl_embed_ccflags, '_USE_32BIT_TIME_T')
138+
if $solution->{platform} eq 'Win32'
139+
&& $Config{PERL_REVISION} == 5
140+
&& ($Config{PERL_VERSION} < 13
141+
|| ( $Config{PERL_VERSION} == 13
142+
&& $Config{PERL_SUBVERSION} < 4));
143+
132144
# Also, a hack to prevent duplicate definitions of uid_t/gid_t
133145
push(@perl_embed_ccflags, 'PLPERL_HAVE_UID_GID');
134146

0 commit comments

Comments
 (0)
0