pgsql: MSVC: Test whether 32-bit Perl needs -D_USE_32BIT_TIME_T.

From: Noah Misch <noah(at)leadboat(dot)com>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: MSVC: Test whether 32-bit Perl needs -D_USE_32BIT_TIME_T.
Date: 2017-12-09 02:58:52
Message-ID: E1eNVLo-0002q5-Vk@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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

Branch
------
REL9_4_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/aed8d41af628c2fce661f1156ce4367db41da502

Modified Files
--------------
config/perl.m4 | 30 ++++----
src/tools/msvc/Mkvcbuild.pm | 169 ++++++++++++++++++++++++++++++++++++--------
2 files changed, 158 insertions(+), 41 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Noah Misch 2017-12-09 09:02:54 pgsql: MSVC 2012+: Permit linking to 32-bit, MinGW-built libraries.
Previous Message Michael Paquier 2017-12-08 23:43:21 Re: pgsql: Prohibit identity columns on typed tables and partitions