Re: Contrib PROGRAM problem

Lists: pgsql-hackers
From: Boszormenyi Zoltan <zb(at)cybertec(dot)at>
To: PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Contrib PROGRAM problem
Date: 2013-01-18 21:42:29
Message-ID: 50F9C1C5.2060301@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Hi,

I want to test my lock_timeout code under Windows and
I compiled the whole PG universe with the MinGW cross-compiler
for 64-bit under Fedora 18.

The problem contrib directories where Makefile contains
PROGRAM = ...
The executables binaries are created without the .exe suffix. E.g.:

[zozo(at)localhost oid2name]$ make
x86_64-w64-mingw32-gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
--param=ssp-buffer-size=4 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security
-fno-strict-aliasing -fwrapv -fexcess-precision=standard -I../../src/interfaces/libpq -I.
-I. -I../../src/include -I./src/include/port/win32 -DEXEC_BACKEND
"-I../../src/include/port/win32" -c -o oid2name.o oid2name.c
x86_64-w64-mingw32-gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
--param=ssp-buffer-size=4 -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security
-fno-strict-aliasing -fwrapv -fexcess-precision=standard oid2name.o -L../../src/port
-lpgport -L../../src/interfaces/libpq -lpq -L../../src/port
-Wl,--allow-multiple-definition -lpgport -lz -lcrypt -lwsock32 -ldl -lm -lws2_32
-lshfolder -o oid2name

Note the "-o oid2name". Then "make install" of course fails, it expects
the .exe suffix:

[zozo(at)localhost oid2name]$ LANG=C make DESTDIR=/home/zozo/pgc93dev-win install
/usr/bin/mkdir -p '/home/zozo/pgc93dev-win/usr/x86_64-w64-mingw32/sys-root/mingw/bin'
/usr/bin/install -c oid2name.exe
'/home/zozo/pgc93dev-win/usr/x86_64-w64-mingw32/sys-root/mingw/bin'
/usr/bin/install: cannot stat 'oid2name.exe': No such file or directory
make: *** [install] Error 1

Ditto for "make clean":

[zozo(at)localhost oid2name]$ make clean
rm -f oid2name.exe
rm -f oid2name.o

All other binaries that are under src/bin or src/backend get
the proper .exe. DLLs are OK under both contrib or src.

Best regards,
Zoltán Böszörményi

--
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt, Austria
Web: http://www.postgresql-support.de
http://www.postgresql.at/


From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Boszormenyi Zoltan <zb(at)cybertec(dot)at>
Cc: PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Contrib PROGRAM problem
Date: 2013-01-18 21:52:46
Message-ID: 20130118215246.GI4063@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Boszormenyi Zoltan wrote:

> I want to test my lock_timeout code under Windows and
> I compiled the whole PG universe with the MinGW cross-compiler
> for 64-bit under Fedora 18.
>
> The problem contrib directories where Makefile contains
> PROGRAM = ...
> The executables binaries are created without the .exe suffix. E.g.:

I think you should be able to solve this by adding the $(X) suffix to
the $(PROGRAM) rule at the bottom of src/makefiles/pgxs.mk.

--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services


From: Boszormenyi Zoltan <zb(at)cybertec(dot)at>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Contrib PROGRAM problem
Date: 2013-01-18 22:19:01
Message-ID: 50F9CA55.6050503@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

2013-01-18 22:52 keltezéssel, Alvaro Herrera írta:
> Boszormenyi Zoltan wrote:
>
>
>> I want to test my lock_timeout code under Windows and
>> I compiled the whole PG universe with the MinGW cross-compiler
>> for 64-bit under Fedora 18.
>>
>> The problem contrib directories where Makefile contains
>> PROGRAM = ...
>> The executables binaries are created without the .exe suffix. E.g.:
> I think you should be able to solve this by adding the $(X) suffix to
> the $(PROGRAM) rule at the bottom of src/makefiles/pgxs.mk.
>

Do you mean the attached patch? It indeed fixes the build.

Best regards,
Zoltán Böszörményi

--
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt, Austria
Web: http://www.postgresql-support.de
http://www.postgresql.at/

Attachment Content-Type Size
pgxs-fix.patch text/x-patch 350 bytes

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Boszormenyi Zoltan <zb(at)cybertec(dot)at>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Contrib PROGRAM problem
Date: 2013-01-18 22:37:16
Message-ID: 50F9CE9C.5090604@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


On 01/18/2013 05:19 PM, Boszormenyi Zoltan wrote:
> 2013-01-18 22:52 keltezéssel, Alvaro Herrera írta:
>> Boszormenyi Zoltan wrote:
>>
>>
>>> I want to test my lock_timeout code under Windows and
>>> I compiled the whole PG universe with the MinGW cross-compiler
>>> for 64-bit under Fedora 18.
>>>
>>> The problem contrib directories where Makefile contains
>>> PROGRAM = ...
>>> The executables binaries are created without the .exe suffix. E.g.:
>> I think you should be able to solve this by adding the $(X) suffix to
>> the $(PROGRAM) rule at the bottom of src/makefiles/pgxs.mk.
>>
>
> Do you mean the attached patch? It indeed fixes the build.
>
>

> ifdef PROGRAM
> $(PROGRAM): $(OBJS)
> - $(CC) $(CFLAGS) $(OBJS) $(PG_LIBS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@
> + $(CC) $(CFLAGS) $(OBJS) $(PG_LIBS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $(at)$(X)
> endif
>

Wouldn't it be better to make the rule be for $(PROGRAM)$(X) and adjust
the dependency for "all" in the same manner? Otherwise make will rebuild
it whether or not it's needed, won't it?

cheers

andrew


From: Boszormenyi Zoltan <zb(at)cybertec(dot)at>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Contrib PROGRAM problem
Date: 2013-01-18 22:45:40
Message-ID: 50F9D094.7090800@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

2013-01-18 23:37 keltezéssel, Andrew Dunstan írta:
>
> On 01/18/2013 05:19 PM, Boszormenyi Zoltan wrote:
>> 2013-01-18 22:52 keltezéssel, Alvaro Herrera írta:
>>> Boszormenyi Zoltan wrote:
>>>
>>>
>>>> I want to test my lock_timeout code under Windows and
>>>> I compiled the whole PG universe with the MinGW cross-compiler
>>>> for 64-bit under Fedora 18.
>>>>
>>>> The problem contrib directories where Makefile contains
>>>> PROGRAM = ...
>>>> The executables binaries are created without the .exe suffix. E.g.:
>>> I think you should be able to solve this by adding the $(X) suffix to
>>> the $(PROGRAM) rule at the bottom of src/makefiles/pgxs.mk.
>>>
>>
>> Do you mean the attached patch? It indeed fixes the build.
>>
>>
>
>
>> ifdef PROGRAM
>> $(PROGRAM): $(OBJS)
>> - $(CC) $(CFLAGS) $(OBJS) $(PG_LIBS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@
>> + $(CC) $(CFLAGS) $(OBJS) $(PG_LIBS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $(at)$(X)
>> endif
>>
>
>
> Wouldn't it be better to make the rule be for $(PROGRAM)$(X) and adjust the dependency
> for "all" in the same manner? Otherwise make will rebuild it whether or not it's needed,
> won't it?

With this in place:

all: $(PROGRAM)$(X) $(DATA_built) $(SCRIPTS_built) $(addsuffix $(DLSUFFIX), $(MODULES))
$(addsuffix .control, $(EXTENSION))

[zozo(at)localhost contrib]$ make
make -C adminpack all
make[1]: Entering directory
`/home/zozo/crosscolumn/lock-timeout/12/postgresql.a/contrib/adminpack'
make[1]: *** No rule to make target `.exe', needed by `all'. Stop.
make[1]: Leaving directory
`/home/zozo/crosscolumn/lock-timeout/12/postgresql.a/contrib/adminpack'
make: *** [all-adminpack-recurse] Error 2

It's not a good idea it seems.

>
>
> cheers
>
> andrew
>
>
>
>

--
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt, Austria
Web: http://www.postgresql-support.de
http://www.postgresql.at/


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Boszormenyi Zoltan <zb(at)cybertec(dot)at>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Contrib PROGRAM problem
Date: 2013-01-19 00:03:48
Message-ID: 50F9E2E4.6070700@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


On 01/18/2013 05:45 PM, Boszormenyi Zoltan wrote:
> 2013-01-18 23:37 keltezéssel, Andrew Dunstan írta:
>>
>> On 01/18/2013 05:19 PM, Boszormenyi Zoltan wrote:
>>> 2013-01-18 22:52 keltezéssel, Alvaro Herrera írta:
>>>> Boszormenyi Zoltan wrote:
>>>>
>>>>
>>>>> I want to test my lock_timeout code under Windows and
>>>>> I compiled the whole PG universe with the MinGW cross-compiler
>>>>> for 64-bit under Fedora 18.
>>>>>
>>>>> The problem contrib directories where Makefile contains
>>>>> PROGRAM = ...
>>>>> The executables binaries are created without the .exe suffix. E.g.:
>>>> I think you should be able to solve this by adding the $(X) suffix to
>>>> the $(PROGRAM) rule at the bottom of src/makefiles/pgxs.mk.
>>>>
>>>
>>> Do you mean the attached patch? It indeed fixes the build.
>>>
>>>
>>
>>
>>> ifdef PROGRAM
>>> $(PROGRAM): $(OBJS)
>>> - $(CC) $(CFLAGS) $(OBJS) $(PG_LIBS) $(LDFLAGS) $(LDFLAGS_EX)
>>> $(LIBS) -o $@
>>> + $(CC) $(CFLAGS) $(OBJS) $(PG_LIBS) $(LDFLAGS) $(LDFLAGS_EX)
>>> $(LIBS) -o $(at)$(X)
>>> endif
>>>
>>
>>
>> Wouldn't it be better to make the rule be for $(PROGRAM)$(X) and
>> adjust the dependency for "all" in the same manner? Otherwise make
>> will rebuild it whether or not it's needed, won't it?
>
> With this in place:
>
> all: $(PROGRAM)$(X) $(DATA_built) $(SCRIPTS_built) $(addsuffix
> $(DLSUFFIX), $(MODULES)) $(addsuffix .control, $(EXTENSION))
>
> [zozo(at)localhost contrib]$ make
> make -C adminpack all
> make[1]: Entering directory
> `/home/zozo/crosscolumn/lock-timeout/12/postgresql.a/contrib/adminpack'
> make[1]: *** No rule to make target `.exe', needed by `all'. Stop.
> make[1]: Leaving directory
> `/home/zozo/crosscolumn/lock-timeout/12/postgresql.a/contrib/adminpack'
> make: *** [all-adminpack-recurse] Error 2
>
> It's not a good idea it seems.
>

Because that's only half of what I suggested.

cheers

andrew


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Boszormenyi Zoltan <zb(at)cybertec(dot)at>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Contrib PROGRAM problem
Date: 2013-01-19 01:03:29
Message-ID: 50F9F0E1.7040708@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


On 01/18/2013 07:03 PM, Andrew Dunstan wrote:
>>
>> It's not a good idea it seems.
>>
>
>
>
> Because that's only half of what I suggested.
>
>

This patch seems to do the right thing.

It probably needs to be applied to all the live branches.

cheers

andrew

Attachment Content-Type Size
pgxsfix.patch text/x-patch 788 bytes

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Boszormenyi Zoltan <zb(at)cybertec(dot)at>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Contrib PROGRAM problem
Date: 2013-01-19 04:42:17
Message-ID: 13749.1358570537@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> This patch seems to do the right thing.

Hmm ... seems kinda grotty ... isn't there a cleaner way?

> It probably needs to be applied to all the live branches.

Agreed on back-patching once we have the right thing, but I don't like
this version too much.

regards, tom lane


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Boszormenyi Zoltan <zb(at)cybertec(dot)at>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Contrib PROGRAM problem
Date: 2013-01-19 04:57:47
Message-ID: 50FA27CB.9090005@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


On 01/18/2013 11:42 PM, Tom Lane wrote:
> Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
>> This patch seems to do the right thing.
> Hmm ... seems kinda grotty ... isn't there a cleaner way?
>
>> It probably needs to be applied to all the live branches.
> Agreed on back-patching once we have the right thing, but I don't like
> this version too much.
>
>

I'm happy of you can find something cleaner.

We can't just have a dependency of all on $(PROGRAM)($X) because if
PROGRAM is empty but X is not it will do something horrid like try to
build ".exe".

If we do it the way Zoltan suggested then on Windows even if
$(PROGRAM)$(X) exists and is up to date it could be rebuilt, since the
target name won't exist.

cheers

andrew


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Boszormenyi Zoltan <zb(at)cybertec(dot)at>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Contrib PROGRAM problem
Date: 2013-01-19 04:59:48
Message-ID: 1358571588.17277.4.camel@vanquo.pezone.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Fri, 2013-01-18 at 17:37 -0500, Andrew Dunstan wrote:
> > ifdef PROGRAM
> > $(PROGRAM): $(OBJS)
> > - $(CC) $(CFLAGS) $(OBJS) $(PG_LIBS) $(LDFLAGS) $(LDFLAGS_EX)
> $(LIBS) -o $@
> > + $(CC) $(CFLAGS) $(OBJS) $(PG_LIBS) $(LDFLAGS) $(LDFLAGS_EX)
> $(LIBS) -o $(at)$(X)
> > endif
> >
>
>
> Wouldn't it be better to make the rule be for $(PROGRAM)$(X) and
> adjust
> the dependency for "all" in the same manner? Otherwise make will
> rebuild
> it whether or not it's needed, won't it?
>
The above is the way it's done everywhere else in the source tree.

I think the reason this works is that either make or the system call
that make uses is aware of this naming issue somehow.


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Boszormenyi Zoltan <zb(at)cybertec(dot)at>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Contrib PROGRAM problem
Date: 2013-01-19 05:13:24
Message-ID: 50FA2B74.30402@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


On 01/18/2013 11:59 PM, Peter Eisentraut wrote:
> The above is the way it's done everywhere else in the source tree.
>
> I think the reason this works is that either make or the system call
> that make uses is aware of this naming issue somehow.

Oh, hmm, all these years playing with this stuff and I never realized
msys make had these smarts built in, as it apparently does:

$ cat xx.make
foo:
touch foo.exe
$ make -f xx.make
touch foo.exe

$ make -f xx.make
make: `foo' is up to date.

Sorry for the noise.

cheers

andrew


From: Boszormenyi Zoltan <zb(at)cybertec(dot)at>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Contrib PROGRAM problem
Date: 2013-01-19 07:27:35
Message-ID: 50FA4AE7.7040107@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

2013-01-19 01:03 keltezéssel, Andrew Dunstan írta:
>
> On 01/18/2013 05:45 PM, Boszormenyi Zoltan wrote:
>> 2013-01-18 23:37 keltezéssel, Andrew Dunstan írta:
>>>
>>> On 01/18/2013 05:19 PM, Boszormenyi Zoltan wrote:
>>>> 2013-01-18 22:52 keltezéssel, Alvaro Herrera írta:
>>>>> Boszormenyi Zoltan wrote:
>>>>>
>>>>>
>>>>>> I want to test my lock_timeout code under Windows and
>>>>>> I compiled the whole PG universe with the MinGW cross-compiler
>>>>>> for 64-bit under Fedora 18.
>>>>>>
>>>>>> The problem contrib directories where Makefile contains
>>>>>> PROGRAM = ...
>>>>>> The executables binaries are created without the .exe suffix. E.g.:
>>>>> I think you should be able to solve this by adding the $(X) suffix to
>>>>> the $(PROGRAM) rule at the bottom of src/makefiles/pgxs.mk.
>>>>>
>>>>
>>>> Do you mean the attached patch? It indeed fixes the build.
>>>>
>>>>
>>>
>>>
>>>> ifdef PROGRAM
>>>> $(PROGRAM): $(OBJS)
>>>> - $(CC) $(CFLAGS) $(OBJS) $(PG_LIBS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@
>>>> + $(CC) $(CFLAGS) $(OBJS) $(PG_LIBS) $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $(at)$(X)
>>>> endif
>>>>
>>>
>>>
>>> Wouldn't it be better to make the rule be for $(PROGRAM)$(X) and adjust the dependency
>>> for "all" in the same manner? Otherwise make will rebuild it whether or not it's
>>> needed, won't it?
>>
>> With this in place:
>>
>> all: $(PROGRAM)$(X) $(DATA_built) $(SCRIPTS_built) $(addsuffix $(DLSUFFIX), $(MODULES))
>> $(addsuffix .control, $(EXTENSION))
>>
>> [zozo(at)localhost contrib]$ make
>> make -C adminpack all
>> make[1]: Entering directory
>> `/home/zozo/crosscolumn/lock-timeout/12/postgresql.a/contrib/adminpack'
>> make[1]: *** No rule to make target `.exe', needed by `all'. Stop.
>> make[1]: Leaving directory
>> `/home/zozo/crosscolumn/lock-timeout/12/postgresql.a/contrib/adminpack'
>> make: *** [all-adminpack-recurse] Error 2
>>
>> It's not a good idea it seems.
>>
>
>
> Because that's only half of what I suggested.

No it's not. I only quoted half of the patch.

>
> cheers
>
> andrew
>
>
>
>

--
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt, Austria
Web: http://www.postgresql-support.de
http://www.postgresql.at/

Attachment Content-Type Size
pgxs-fix-2.patch text/x-patch 675 bytes

From: Boszormenyi Zoltan <zb(at)cybertec(dot)at>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Contrib PROGRAM problem
Date: 2013-01-19 07:28:43
Message-ID: 50FA4B2B.6040905@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

2013-01-19 02:03 keltezéssel, Andrew Dunstan írta:
>
> On 01/18/2013 07:03 PM, Andrew Dunstan wrote:
>>>
>>> It's not a good idea it seems.
>>>
>>
>>
>>
>> Because that's only half of what I suggested.
>>
>>
>
> This patch seems to do the right thing.
>
> It probably needs to be applied to all the live branches.
>
> cheers
>
> andrew

Yes, this should fix the issue.

Thanks.

--
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt, Austria
Web: http://www.postgresql-support.de
http://www.postgresql.at/


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Boszormenyi Zoltan <zb(at)cybertec(dot)at>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Contrib PROGRAM problem
Date: 2013-01-19 14:24:49
Message-ID: 50FAACB1.8060505@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


On 01/19/2013 12:13 AM, Andrew Dunstan wrote:
>
> On 01/18/2013 11:59 PM, Peter Eisentraut wrote:
>> The above is the way it's done everywhere else in the source tree.
>>
>> I think the reason this works is that either make or the system call
>> that make uses is aware of this naming issue somehow.
>
>
> Oh, hmm, all these years playing with this stuff and I never realized
> msys make had these smarts built in, as it apparently does:
>
>

*sigh*. Don't post after midnight. Of course, this isn't relevant to a
cross-compiling environment, where repeated invocations of make
repeatedly build the executables.

The question is whether we care enough about this case to fix it.

cheers

andrew


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Boszormenyi Zoltan <zb(at)cybertec(dot)at>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Contrib PROGRAM problem
Date: 2013-01-19 16:57:12
Message-ID: 25757.1358614632@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> *sigh*. Don't post after midnight. Of course, this isn't relevant to a
> cross-compiling environment, where repeated invocations of make
> repeatedly build the executables.

> The question is whether we care enough about this case to fix it.

I think we certainly need the $(X) inside the command, so that the
correct files get built. I'm not especially excited about whether a
repeat invocation of "make" will do useless work --- that would only
really matter to a PG developer, but who'd do development in a
cross-compilation environment, where testing would be highly
inconvenient? So I'm prepared to sacrifice that aspect of it for
not cluttering the makefiles.

YMMV of course ...

regards, tom lane


From: Craig Ringer <craig(at)2ndQuadrant(dot)com>
To: Boszormenyi Zoltan <zb(at)cybertec(dot)at>
Cc: PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Contrib PROGRAM problem
Date: 2013-01-21 02:23:33
Message-ID: 50FCA6A5.8030403@2ndQuadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On 01/19/2013 05:42 AM, Boszormenyi Zoltan wrote:
> Hi,
>
> I want to test my lock_timeout code under Windows and
> I compiled the whole PG universe with the MinGW cross-compiler
> for 64-bit under Fedora 18.
You're significantly better off compiling for native Windows if at all
possible. Windows cloud hosted instances with bundled licenses are
available for peanuts or you can download a Windows DVD and install it
in a KVM instance if you have a license sticker sticking to a
now-running-Linux box somewhere.

--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services