win32 patch: allows source to be compiled + "run" under MingW

Started by Claudio Natoliover 22 years ago3 messagespatches
Jump to latest
#1Claudio Natoli
claudio.natoli@memetrics.com

For application to HEAD, pending community review (rand.c to go in src/port)

Briefly,
* configure + Makefile changes
* shared memory attaching in EXEC_BACKEND case (+ minor fix for apparent
cygwin bug under cygwin/EXEC_BACKEND case only)
* PATH env var separator differences
* missing win32 rand functions added
* placeholder replacements for sync etc under port.h

To those who are really interested, and there are a few of you: the attached
patch + file will allow the source base to be compiled (and, for some
definition, "run") under MingW, with the following caveats (I wanted to
first properly fix all but the last of these, but y'all won't quit asking
for a patch :-):

* child death: SIGCHLD not yet sent, so as a minimum, you'll need to
put in some sort of delay after StartupDatabase, and handle setting
StartupPID to 0 etc (ie. the stuff the reaper() signal function is supposed
to do)

* dirmod.c: comment out the elog calls

* dfmgr.c: some hackage required to substitute_libpath_macro

* slru/xact.c: comment out the errno checking after the readdir
(fixed by next version of MingW)

Again, this is only if you *really* want to see postgres compile and start,
and is a nice leg-up for working on the other Win32 TODO list items. Just
don't expect too much else from it at this point...

Cheers,
Claudio

--- 
Certain disclaimers and policies apply to all email sent from Memetrics.
For the full text of these disclaimers and policies see 
<a
href="http://www.memetrics.com/emailpolicy.html">http://www.memetrics.com/em
ailpolicy.html</a>

Attachments:

diff8c.outapplication/octet-stream; name=diff8c.outDownload+129-45
rand.capplication/octet-stream; name=rand.cDownload
#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Claudio Natoli (#1)
Re: [PATCHES] win32 patch: allows source to be compiled + "run" under MingW

Claudio Natoli <claudio.natoli@memetrics.com> writes:

RCS file: /projects/cvsroot/pgsql-server/configure,v
retrieving revision 1.321
diff -c -r1.321 configure

You do not patch configure. Ever. It's a derived file.

regards, tom lane

#3Bruce Momjian
bruce@momjian.us
In reply to: Claudio Natoli (#1)
Re: win32 patch: allows source to be compiled

Patch applied. Thanks.

I had to make this adjustment for non-win32. The original patch had
them used for Unix.

---------------------------------------------------------------------------

SHLIB_LINK += $(filter -lcrypt -ldes -lkrb -lcom_err -lcrypto -lk5crypto
-lkrb5 -lssl -lsocket -lnsl -lresolv -lintl, $(LIBS))
$(THREAD_LIBS)
ifeq ($(PORTNAME), win32)
SHLIB_LINK += -lwsock32 -lws2_32
endif

---------------------------------------------------------------------------

Claudio Natoli wrote:

For application to HEAD, pending community review (rand.c to go in src/port)

Briefly,
* configure + Makefile changes
* shared memory attaching in EXEC_BACKEND case (+ minor fix for apparent
cygwin bug under cygwin/EXEC_BACKEND case only)
* PATH env var separator differences
* missing win32 rand functions added
* placeholder replacements for sync etc under port.h

To those who are really interested, and there are a few of you: the attached
patch + file will allow the source base to be compiled (and, for some
definition, "run") under MingW, with the following caveats (I wanted to
first properly fix all but the last of these, but y'all won't quit asking
for a patch :-):

* child death: SIGCHLD not yet sent, so as a minimum, you'll need to
put in some sort of delay after StartupDatabase, and handle setting
StartupPID to 0 etc (ie. the stuff the reaper() signal function is supposed
to do)

* dirmod.c: comment out the elog calls

* dfmgr.c: some hackage required to substitute_libpath_macro

* slru/xact.c: comment out the errno checking after the readdir
(fixed by next version of MingW)

Again, this is only if you *really* want to see postgres compile and start,
and is a nice leg-up for working on the other Win32 TODO list items. Just
don't expect too much else from it at this point...

Cheers,
Claudio

--- 
Certain disclaimers and policies apply to all email sent from Memetrics.
For the full text of these disclaimers and policies see 
<a
href="http://www.memetrics.com/emailpolicy.html">http://www.memetrics.com/em
ailpolicy.html</a>

[ Attachment, skipping... ]

[ Attachment, skipping... ]

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073