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

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

From
Claudio Natoli
Date:
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

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

From
Tom Lane
Date:
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

Re: [pgsql-hackers-win32] win32 patch: allows source to be compiled

From
Bruce Momjian
Date:
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