From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at> |
Cc: | "pgsql-hackers(at)postgreSQL(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Add PGDLLEXPORT to PG_FUNCTION_INFO_V1 |
Date: | 2016-10-12 13:34:21 |
Message-ID: | 8027.1476279261@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at> writes:
> Tom Lane wrote:
>> The lack of complaints about this suggest that it's not actually necessary
>> to do so. So what this makes me wonder is whether we can't drop the
>> DLLEXPORT on the finfo function too. I'd rather reduce the number of
>> Microsoft-isms in the code, not increase it.
> I understand the sentiment.
> But it seems to actually cause a problem on Windows, at least there was a
> complaint here: http://stackoverflow.com/q/39964233
> Adding PGDLLEXPORT solved the problem there.
> I guess that there are not more complaints about that because
> few people build C functions on Windows themselves (lack of PGXS)
> and those who do are probably knowledgeable enough that they can
> fix it themselves by sticking an extra declaration with PGDLLEXPORT
> into their source file.
> PostgreSQL itself seems to use export files that explicitly declare the
> exported symbols, so it gets away without these decorations.
Except that we don't. There aren't PGDLLEXPORT markings for any
functions exported from contrib modules, and we don't use dlltool
on them either. By your argument, none of contrib would work on
Windows builds at all, but we have a ton of buildfarm evidence and
successful field use to the contrary. How is that all working?
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Albe Laurenz | 2016-10-12 13:53:32 | Re: Add PGDLLEXPORT to PG_FUNCTION_INFO_V1 |
Previous Message | Albe Laurenz | 2016-10-12 13:22:03 | Re: Add PGDLLEXPORT to PG_FUNCTION_INFO_V1 |