]> git.ipfire.org Git - thirdparty/postgresql.git/commit
MSVC: Test whether 32-bit Perl needs -D_USE_32BIT_TIME_T.
authorNoah Misch <noah@leadboat.com>
Sat, 9 Dec 2017 02:06:05 +0000 (18:06 -0800)
committerNoah Misch <noah@leadboat.com>
Sat, 9 Dec 2017 02:06:25 +0000 (18:06 -0800)
commit140fa2fbad94bab0290851e25acdd727c9f67cb9
treeaca8cf6ceafe6af9857bfb6d3e3966c392820842
parenta59b3428efa79a699b87355eb859877f205fb33d
MSVC: Test whether 32-bit Perl needs -D_USE_32BIT_TIME_T.

Commits 5a5c2feca3fd858e70ea348822595547e6fa6c15 and
b5178c5d08ca59e30f9d9428fa6fdb2741794e65 introduced support for modern
MSVC-built, 32-bit Perl, but they broke use of MinGW-built, 32-bit Perl
distributions like Strawberry Perl and modern ActivePerl.  Perl has no
robust means to report whether it expects a -D_USE_32BIT_TIME_T ABI, so
test this.  Back-patch to 9.3 (all supported versions).

The chief alternative was a heuristic of adding -D_USE_32BIT_TIME_T when
$Config{gccversion} is nonempty.  That banks on every gcc-built Perl
using the same ABI.  gcc could change its default ABI the way MSVC once
did, and one could build Perl with gcc and the non-default ABI.

The GNU make build system could benefit from a similar test, without
which it does not support MSVC-built Perl.  For now, just add a comment.
Most users taking the special step of building Perl with MSVC probably
build PostgreSQL with MSVC.

Discussion: https://postgr.es/m/20171130041441.GA3161526@rfd.leadboat.com
config/perl.m4
src/tools/msvc/Mkvcbuild.pm