Re: Random PGDLLIMPORTing

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Craig Ringer <craig(at)2ndquadrant(dot)com>
Cc: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Magnus Hagander <magnus(at)hagander(dot)net>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Random PGDLLIMPORTing
Date: 2016-11-25 06:16:41
Message-ID: 29819.1480054601@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Craig Ringer <craig(at)2ndquadrant(dot)com> writes:
> PGDLLIMPORT is free, so the question should be "is there a reason not
> to add it here?".

TBH, my basic complaint about it is that I do not like Microsoft's tool
chain assuming that it's entitled to demand that people sprinkle
Microsoft-specific droppings throughout what would otherwise be platform
independent source code.

However, Victor Wagner's observation upthread is quite troubling:

>> It worth checking actual variable definitions, not just declarations.
>> I've found recently, that at least in MSVC build system, only
>> initialized variables are included into postgres.def file, and so are
>> actually exported from the backend binary.

If this is correct (don't ask me, I don't do Windows) then the issue is
not whether "PGDLLIMPORT is free". This puts two separate source-code
demands on variables that we want to make available to extensions, neither
of which is practically checkable on non-Windows platforms.

I think that basically it's going to be on the heads of people who
want to work on Windows to make sure that things work on that platform.
That is the contract that every other platform under the sun understands,
but it seems like Windows people think it's on the rest of us to make
their platform work. I'm done with that.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tsunakawa, Takayuki 2016-11-25 06:19:49 Re: Broken SSL tests in master
Previous Message Kyotaro HORIGUCHI 2016-11-25 06:14:27 Re: IF (NOT) EXISTS in psql-completion