Andrew Dunstan schrieb:
> Tom Lane wrote:
>> "Andrew Dunstan" <andrew@dunslane.net> writes:
>>> Tom Lane said:
>>>> [ scratches head... ] Why isn't the #undef in pg_config_manual.h
>>>> firing on Cygwin?
>>
>>> But on Cygwin, WIN32 is only defined if windows.h has been included (See
>>> previous discussion - I recall advocating NOT using WIN32 as a marker
>>> for
>>> just this reason).
>>
>> Urgh ... so it's only because windows.h isn't included till later that
>> it works properly.
>
> It's a lot more subtle than that :-( . In most cases we end up
> including windows.h _only_ if WIN32 is already defined, as it is for us
> by the compiler on MinGW.
>
> see: http://archives.postgresql.org/pgsql-hackers/2004-09/msg00206.php
> and http://archives.postgresql.org/pgsql-hackers/2004-09/msg00256.php
>
> w.r.t. Cygwin / unix sockets, the test is in port/cygwin.h, and says:
>
> #if CYGWIN_VERSION_DLL_MAJOR < 1001
> #undef HAVE_UNIX_SOCKETS
> #endif
>
> I don't know how old that is.
This is a perfectly good logic.
>> I'm not sure that we need the code in pg_config_manual.h anymore anyway
>> --- the configure test should be covering this. But just before release
>> is no time to be fooling with such things.
> agreed.
>
>> I did add cygwin to the unix_socket=no case in pg_regress, and I'm
>> inclined to leave it that way because it's really the minimal change
>> from the script's previous behavior on cygwin. Do you see a strong
>> reason for undoing that?
>>
> Well, nothing seems broken - see buildfarm. And if it ain't broke .../
Without sockets it's just a bit slower. Otherwise I don't care.
It should work on Cygwin with and without.
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/