Porting PG Extension from UNIX to Windows - Mailing list pgsql-hackers

From insaf.k
Subject Porting PG Extension from UNIX to Windows
Date
Msg-id 162fbfabb2c.cc3cae631243.22796492016532210@zohocorp.com
Whole thread Raw
Responses Re: Porting PG Extension from UNIX to Windows  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
Re: Porting PG Extension from UNIX to Windows  (Pavlo Golub <pavlo.golub@cybertec.at>)
Re: Porting PG Extension from UNIX to Windows  (Craig Ringer <craig@2ndquadrant.com>)
Re: Porting PG Extension from UNIX to Windows  (Alexander Lakhin <exclusion@gmail.com>)
List pgsql-hackers
Hello,

I have developed a postgres extension in Linux. I want to compile it in MS Windows as well. 

The extension extensively make use of POSIX threads and mutexes.

I've done some research regarding compiling in Windows. I am not sure in what way I should compile the extension. AFAIK, Visual Studio is not POSIX compliant and so I'll have to rewrite all those POSIX calls using Windows API. So it's better to compile the extension in Cygwin.

I have some questions regarding compiling the extension in Cygwin. Do I have to build PG in Cygwin, if I want to compile the extension in Cygwin?

Our deployment pattern is like this, build everything in one machine and copy the DLLs into the production machine. So, if I compile in Cygwin, will the generated DLLs work in other Windows machines? Would the target machine be required to install any dependencies related to Cygwin in order to use the DLLs?

Also, one more question, not related to PG. Cygwin vs native Windows API calls, will there be much difference in the performance?(We are not using fork() calls, btw).


Thanks,
Insaf

pgsql-hackers by date:

Previous
From: Amit Langote
Date:
Subject: Re: Oddity in tuple routing for foreign partitions
Next
From: Pavel Raiskup
Date:
Subject: Re: obsoleting plpython2u and defaulting plpythonu to plpython3u