About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major)

Lists: pgsql-committerspgsql-hackers
From: petere(at)postgresql(dot)org (Peter Eisentraut)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Append major version number and for libraries soname major
Date: 2008-12-11 07:34:09
Message-ID: 20081211073409.E997F7545A4@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Log Message:
-----------
Append major version number and for libraries soname major version number
to the gettext domain name, to simplify parallel installations.

Also, rename set_text_domain() to pg_bindtextdomain(), because that is what
it does.

Modified Files:
--------------
pgsql:
configure (r1.616 -> r1.617)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/configure?r1=1.616&r2=1.617)
configure.in (r1.576 -> r1.577)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/configure.in?r1=1.576&r2=1.577)
pgsql/doc/src/sgml:
Makefile (r1.113 -> r1.114)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/Makefile?r1=1.113&r2=1.114)
pgsql/src:
Makefile.global.in (r1.248 -> r1.249)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/Makefile.global.in?r1=1.248&r2=1.249)
Makefile.shlib (r1.118 -> r1.119)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/Makefile.shlib?r1=1.118&r2=1.119)
nls-global.mk (r1.14 -> r1.15)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/nls-global.mk?r1=1.14&r2=1.15)
pgsql/src/backend/main:
main.c (r1.110 -> r1.111)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/main/main.c?r1=1.110&r2=1.111)
pgsql/src/backend/utils/init:
miscinit.c (r1.168 -> r1.169)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/init/miscinit.c?r1=1.168&r2=1.169)
pgsql/src/bin/initdb:
initdb.c (r1.164 -> r1.165)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/initdb/initdb.c?r1=1.164&r2=1.165)
pgsql/src/bin/pg_config:
pg_config.c (r1.28 -> r1.29)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_config/pg_config.c?r1=1.28&r2=1.29)
pgsql/src/bin/pg_controldata:
pg_controldata.c (r1.41 -> r1.42)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_controldata/pg_controldata.c?r1=1.41&r2=1.42)
pgsql/src/bin/pg_ctl:
pg_ctl.c (r1.104 -> r1.105)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_ctl/pg_ctl.c?r1=1.104&r2=1.105)
pgsql/src/bin/pg_dump:
pg_dump.c (r1.506 -> r1.507)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dump.c?r1=1.506&r2=1.507)
pg_dumpall.c (r1.108 -> r1.109)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dumpall.c?r1=1.108&r2=1.109)
pg_restore.c (r1.88 -> r1.89)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_restore.c?r1=1.88&r2=1.89)
pgsql/src/bin/pg_resetxlog:
pg_resetxlog.c (r1.69 -> r1.70)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_resetxlog/pg_resetxlog.c?r1=1.69&r2=1.70)
pgsql/src/bin/psql:
startup.c (r1.151 -> r1.152)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/psql/startup.c?r1=1.151&r2=1.152)
pgsql/src/bin/scripts:
clusterdb.c (r1.21 -> r1.22)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/scripts/clusterdb.c?r1=1.21&r2=1.22)
createdb.c (r1.28 -> r1.29)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/scripts/createdb.c?r1=1.28&r2=1.29)
createlang.c (r1.30 -> r1.31)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/scripts/createlang.c?r1=1.30&r2=1.31)
createuser.c (r1.38 -> r1.39)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/scripts/createuser.c?r1=1.38&r2=1.39)
dropdb.c (r1.22 -> r1.23)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/scripts/dropdb.c?r1=1.22&r2=1.23)
droplang.c (r1.27 -> r1.28)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/scripts/droplang.c?r1=1.27&r2=1.28)
dropuser.c (r1.23 -> r1.24)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/scripts/dropuser.c?r1=1.23&r2=1.24)
reindexdb.c (r1.13 -> r1.14)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/scripts/reindexdb.c?r1=1.13&r2=1.14)
vacuumdb.c (r1.20 -> r1.21)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/scripts/vacuumdb.c?r1=1.20&r2=1.21)
pgsql/src/include:
c.h (r1.230 -> r1.231)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/c.h?r1=1.230&r2=1.231)
miscadmin.h (r1.205 -> r1.206)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/miscadmin.h?r1=1.205&r2=1.206)
pg_config.h.in (r1.135 -> r1.136)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/pg_config.h.in?r1=1.135&r2=1.136)
pgsql/src/interfaces/ecpg/ecpglib:
misc.c (r1.43 -> r1.44)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/ecpg/ecpglib/misc.c?r1=1.43&r2=1.44)
pgsql/src/interfaces/ecpg/preproc:
ecpg.c (r1.105 -> r1.106)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/ecpg/preproc/ecpg.c?r1=1.105&r2=1.106)
pgsql/src/interfaces/libpq:
fe-misc.c (r1.136 -> r1.137)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/libpq/fe-misc.c?r1=1.136&r2=1.137)
pgsql/src/pl/plperl:
plperl.c (r1.142 -> r1.143)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/plperl.c?r1=1.142&r2=1.143)
pgsql/src/pl/plpgsql/src:
pl_handler.c (r1.41 -> r1.42)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_handler.c?r1=1.41&r2=1.42)
plpgsql.h (r1.105 -> r1.106)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/plpgsql.h?r1=1.105&r2=1.106)
pgsql/src/pl/plpython:
plpython.c (r1.116 -> r1.117)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpython/plpython.c?r1=1.116&r2=1.117)
pgsql/src/pl/tcl:
pltcl.c (r1.123 -> r1.124)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/tcl/pltcl.c?r1=1.123&r2=1.124)
pgsql/src/port:
exec.c (r1.60 -> r1.61)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/port/exec.c?r1=1.60&r2=1.61)
pgsql/src/test/regress:
pg_regress.c (r1.54 -> r1.55)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/pg_regress.c?r1=1.54&r2=1.55)


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Append major version number and for libraries soname major
Date: 2008-12-12 00:41:46
Message-ID: 14345.1229042506@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

petere(at)postgresql(dot)org (Peter Eisentraut) writes:
> Log Message:
> -----------
> Append major version number and for libraries soname major version number
> to the gettext domain name, to simplify parallel installations.

The results from buildfarm member red_bat suggest that this commit broke
the MSVC build. (I think that is the only MSVC buildfarm member that's
up at the moment.)

Build FAILED.
.\src\port\exec.c(633): error C2146: syntax error : missing ')' before identifier 'PG_MAJORVERSION'
.\src\backend\main\main.c(90): error C2146: syntax error : missing ')' before identifier 'PG_MAJORVERSION'
.\src\port\exec.c(633): error C2146: syntax error : missing ')' before identifier 'PG_MAJORVERSION'
0 Warning(s)
3 Error(s)

regards, tom lane


From: "Dave Page" <dpage(at)pgadmin(dot)org>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "Peter Eisentraut" <peter_e(at)gmx(dot)net>, pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Append major version number and for libraries soname major
Date: 2008-12-16 10:13:01
Message-ID: 937d27e10812160213j6317d803gfaf036fbb6d5de27@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

On Fri, Dec 12, 2008 at 12:41 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> petere(at)postgresql(dot)org (Peter Eisentraut) writes:
>> Log Message:
>> -----------
>> Append major version number and for libraries soname major version number
>> to the gettext domain name, to simplify parallel installations.
>
> The results from buildfarm member red_bat suggest that this commit broke
> the MSVC build. (I think that is the only MSVC buildfarm member that's
> up at the moment.)
>
> Build FAILED.
> .\src\port\exec.c(633): error C2146: syntax error : missing ')' before identifier 'PG_MAJORVERSION'
> .\src\backend\main\main.c(90): error C2146: syntax error : missing ')' before identifier 'PG_MAJORVERSION'
> .\src\port\exec.c(633): error C2146: syntax error : missing ')' before identifier 'PG_MAJORVERSION'
> 0 Warning(s)
> 3 Error(s)

Any eta on a fix for this? My internal builds are failing as well as
red_bat. (and yes, the other 2 MSVC buildfarm members are currently
waiting for Dell to get hold of a new motherboard for their box).

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Append major version number and for libraries soname major
Date: 2008-12-16 10:47:43
Message-ID: 4947874F.4010306@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Dave Page wrote:
> On Fri, Dec 12, 2008 at 12:41 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> petere(at)postgresql(dot)org (Peter Eisentraut) writes:
>>> Log Message:
>>> -----------
>>> Append major version number and for libraries soname major version number
>>> to the gettext domain name, to simplify parallel installations.
>> The results from buildfarm member red_bat suggest that this commit broke
>> the MSVC build. (I think that is the only MSVC buildfarm member that's
>> up at the moment.)
>>
>> Build FAILED.
>> .\src\port\exec.c(633): error C2146: syntax error : missing ')' before identifier 'PG_MAJORVERSION'
>> .\src\backend\main\main.c(90): error C2146: syntax error : missing ')' before identifier 'PG_MAJORVERSION'
>> .\src\port\exec.c(633): error C2146: syntax error : missing ')' before identifier 'PG_MAJORVERSION'
>> 0 Warning(s)
>> 3 Error(s)
>
> Any eta on a fix for this? My internal builds are failing as well as
> red_bat. (and yes, the other 2 MSVC buildfarm members are currently
> waiting for Dell to get hold of a new motherboard for their box).

I think the maintenance of the MSVC build system is the job of the,
well, maintainer of the MSVC build system, whoever that may be. In
other words, I have no ETA for you from me. I'd be glad, however, to
provide information to the maintainers.

The fix here is to define PG_MAJORVERSION near whereever you define
PG_VERSION, just make it look like "8.4" instead of "8.4devel".


From: "Dave Page" <dpage(at)pgadmin(dot)org>
To: "Magnus Hagander" <magnus(at)hagander(dot)net>
Cc: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-committers(at)postgresql(dot)org, "Peter Eisentraut" <peter_e(at)gmx(dot)net>
Subject: Re: pgsql: Append major version number and for libraries soname major
Date: 2008-12-16 11:01:45
Message-ID: 937d27e10812160301l36291662t9ceb612765408902@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Magnus?

On Tue, Dec 16, 2008 at 10:47 AM, Peter Eisentraut <peter_e(at)gmx(dot)net> wrote:
>
> I think the maintenance of the MSVC build system is the job of the, well,
> maintainer of the MSVC build system, whoever that may be. In other words, I
> have no ETA for you from me. I'd be glad, however, to provide information
> to the maintainers.
>
> The fix here is to define PG_MAJORVERSION near whereever you define
> PG_VERSION, just make it look like "8.4" instead of "8.4devel".
>

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Dave Page <dpage(at)pgadmin(dot)org>, pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Append major version number and for libraries soname major
Date: 2008-12-16 14:53:26
Message-ID: 29071.1229439206@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
> Dave Page wrote:
>> Any eta on a fix for this? My internal builds are failing as well as
>> red_bat. (and yes, the other 2 MSVC buildfarm members are currently
>> waiting for Dell to get hold of a new motherboard for their box).

> I think the maintenance of the MSVC build system is the job of the,
> well, maintainer of the MSVC build system, whoever that may be. In
> other words, I have no ETA for you from me. I'd be glad, however, to
> provide information to the maintainers.

I do not think this is an appropriate attitude for a committer to take.
You are responsible for what you commit. If you don't have the
knowledge to fix something, or the resources to test it, okay ... but
you then need to be proactive about getting someone else to fix/test it.
Or else revert the broken patch.

regards, tom lane


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Dave Page <dpage(at)pgadmin(dot)org>, pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Append major version number and for libraries soname major
Date: 2008-12-16 15:43:22
Message-ID: 4947CC9A.6010609@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Tom Lane wrote:
> Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
>
>> Dave Page wrote:
>>
>>> Any eta on a fix for this? My internal builds are failing as well as
>>> red_bat. (and yes, the other 2 MSVC buildfarm members are currently
>>> waiting for Dell to get hold of a new motherboard for their box).
>>>
>
>
>> I think the maintenance of the MSVC build system is the job of the,
>> well, maintainer of the MSVC build system, whoever that may be. In
>> other words, I have no ETA for you from me. I'd be glad, however, to
>> provide information to the maintainers.
>>
>
> I do not think this is an appropriate attitude for a committer to take.
> You are responsible for what you commit. If you don't have the
> knowledge to fix something, or the resources to test it, okay ... but
> you then need to be proactive about getting someone else to fix/test it.
> Or else revert the broken patch.
>
>
>

I agree. I have committed an attempted fix which I discussed briefly
with Magnus.

cheers

andrew


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major
Date: 2008-12-20 15:27:03
Message-ID: 200812201727.03675.peter_e@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

On Tuesday 16 December 2008 16:53:26 Tom Lane wrote:
> Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
> > Dave Page wrote:
> >> Any eta on a fix for this? My internal builds are failing as well as
> >> red_bat. (and yes, the other 2 MSVC buildfarm members are currently
> >> waiting for Dell to get hold of a new motherboard for their box).
> >
> > I think the maintenance of the MSVC build system is the job of the,
> > well, maintainer of the MSVC build system, whoever that may be. In
> > other words, I have no ETA for you from me. I'd be glad, however, to
> > provide information to the maintainers.
>
> I do not think this is an appropriate attitude for a committer to take.
> You are responsible for what you commit. If you don't have the
> knowledge to fix something, or the resources to test it, okay ... but
> you then need to be proactive about getting someone else to fix/test it.
> Or else revert the broken patch.

I would like to have this clarified, as I keep running afoul of it.

We originally did the Windows port using the MinGW build system because we did
not want to maintain another build system. When people starting on the MSVC
build system, I was given assurances that they would maintain it and we would
not have to worry about it. I specifically recall discussions about that in
Toronto in 2006.

Now who are those maintainers and what are they doing about it?

I am not hostile against the MSVC system, even though I have no interest in it
(and I am unfamiliar with the payoff). I have done a lot of portability work
for crazy platforms that I have no stake in. But those platforms and build
systems used standard tools, had publically available documentation, and in
the extreme cases had a box that one could log into to verify the work. None
of this is available here. I don't think the progress of this project can
depend on proprietary tools and systems in a few hands.

Help?!?


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major
Date: 2008-12-20 16:17:52
Message-ID: 18471.1229789872@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
> On Tuesday 16 December 2008 16:53:26 Tom Lane wrote:
>> I do not think this is an appropriate attitude for a committer to take.

> I would like to have this clarified, as I keep running afoul of it.

My two cents: I don't expect you to fix the MSVC scripts if you are
uninterested in doing so. But it would be appropriate to post a note
to -hackers when you make a build system change that is going to need
to be reflected in those scripts. The people who do care about MSVC
should not have to find that out by watching the buildfarm and then
trying to reverse-engineer the cause of a failure.

regards, tom lane


From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major
Date: 2008-12-20 17:31:02
Message-ID: 494D2BD6.8020101@hagander.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Tom Lane wrote:
> Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
>> On Tuesday 16 December 2008 16:53:26 Tom Lane wrote:
>>> I do not think this is an appropriate attitude for a committer to take.
>
>> I would like to have this clarified, as I keep running afoul of it.
>
> My two cents: I don't expect you to fix the MSVC scripts if you are
> uninterested in doing so. But it would be appropriate to post a note
> to -hackers when you make a build system change that is going to need
> to be reflected in those scripts. The people who do care about MSVC
> should not have to find that out by watching the buildfarm and then
> trying to reverse-engineer the cause of a failure.

As one of said people, I think that's perfectly reasonable. It'd make it
a lot easier to get a heads-up, or just the version of the patch right
before a commit to add it to. Some people do that, some don't - it would
be muchos helpful if all did.

I don't expect unix hackers to always patch the msvc system as needed -
given that you don't have a way to test it, and no experience how those
tools work. (I know Tom has made a number of smaller fixes in them, but
it's mostly been around the areas of smaller changes, not actually
adding new stuff, for exmaple)

If I had warning this time, for example, I could've said that I for one
can't fix that for a while, because my msvc build system is all geared
up around the git server (because it's so much easier to get the stuff
in and out of the VM when cross-deveoping than with CVS and the crippled
commandline toolchain on windows). And since that one is currently not
working properly, I need to find a different way to get the code in
there unless someone can fix it :-(

Hopefully someone else can pick it up this time around? If not, I'll do
it as soon as I get things back up and working in my env.

//Magnus


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Magnus Hagander <magnus(at)hagander(dot)net>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major
Date: 2008-12-20 17:32:41
Message-ID: 200812201732.mBKHWfs25700@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers


Exactly what type of changes affec the MSVC build system?

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

Magnus Hagander wrote:
> Tom Lane wrote:
> > Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
> >> On Tuesday 16 December 2008 16:53:26 Tom Lane wrote:
> >>> I do not think this is an appropriate attitude for a committer to take.
> >
> >> I would like to have this clarified, as I keep running afoul of it.
> >
> > My two cents: I don't expect you to fix the MSVC scripts if you are
> > uninterested in doing so. But it would be appropriate to post a note
> > to -hackers when you make a build system change that is going to need
> > to be reflected in those scripts. The people who do care about MSVC
> > should not have to find that out by watching the buildfarm and then
> > trying to reverse-engineer the cause of a failure.
>
> As one of said people, I think that's perfectly reasonable. It'd make it
> a lot easier to get a heads-up, or just the version of the patch right
> before a commit to add it to. Some people do that, some don't - it would
> be muchos helpful if all did.
>
> I don't expect unix hackers to always patch the msvc system as needed -
> given that you don't have a way to test it, and no experience how those
> tools work. (I know Tom has made a number of smaller fixes in them, but
> it's mostly been around the areas of smaller changes, not actually
> adding new stuff, for exmaple)
>
> If I had warning this time, for example, I could've said that I for one
> can't fix that for a while, because my msvc build system is all geared
> up around the git server (because it's so much easier to get the stuff
> in and out of the VM when cross-deveoping than with CVS and the crippled
> commandline toolchain on windows). And since that one is currently not
> working properly, I need to find a different way to get the code in
> there unless someone can fix it :-(
>
> Hopefully someone else can pick it up this time around? If not, I'll do
> it as soon as I get things back up and working in my env.
>
> //Magnus
>
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +


From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major
Date: 2008-12-20 19:08:00
Message-ID: 494D4290.3010801@hagander.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Anything the system doesn't pick up automatically. That means most new
build targets (but it will pick up a contrib automatically, and a
conversion proc, for example). Also if modifications are made to the
scripts that run (like gen_fmgr.sh).

Just adding new files to exisitng makefiles, or adding a new subdir that
adds more files to an existing target, should require no changes.

//Magnus

Bruce Momjian wrote:
> Exactly what type of changes affec the MSVC build system?
>
> ---------------------------------------------------------------------------
>
> Magnus Hagander wrote:
>> Tom Lane wrote:
>>> Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
>>>> On Tuesday 16 December 2008 16:53:26 Tom Lane wrote:
>>>>> I do not think this is an appropriate attitude for a committer to take.
>>>> I would like to have this clarified, as I keep running afoul of it.
>>> My two cents: I don't expect you to fix the MSVC scripts if you are
>>> uninterested in doing so. But it would be appropriate to post a note
>>> to -hackers when you make a build system change that is going to need
>>> to be reflected in those scripts. The people who do care about MSVC
>>> should not have to find that out by watching the buildfarm and then
>>> trying to reverse-engineer the cause of a failure.
>> As one of said people, I think that's perfectly reasonable. It'd make it
>> a lot easier to get a heads-up, or just the version of the patch right
>> before a commit to add it to. Some people do that, some don't - it would
>> be muchos helpful if all did.
>>
>> I don't expect unix hackers to always patch the msvc system as needed -
>> given that you don't have a way to test it, and no experience how those
>> tools work. (I know Tom has made a number of smaller fixes in them, but
>> it's mostly been around the areas of smaller changes, not actually
>> adding new stuff, for exmaple)
>>
>> If I had warning this time, for example, I could've said that I for one
>> can't fix that for a while, because my msvc build system is all geared
>> up around the git server (because it's so much easier to get the stuff
>> in and out of the VM when cross-deveoping than with CVS and the crippled
>> commandline toolchain on windows). And since that one is currently not
>> working properly, I need to find a different way to get the code in
>> there unless someone can fix it :-(
>>
>> Hopefully someone else can pick it up this time around? If not, I'll do
>> it as soon as I get things back up and working in my env.
>>
>> //Magnus
>>
>>
>> --
>> Sent via pgsql-hackers mailing list (pgsql-hackers(at)postgresql(dot)org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-hackers
>


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Magnus Hagander <magnus(at)hagander(dot)net>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major
Date: 2008-12-20 21:37:49
Message-ID: 22190.1229809069@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Magnus Hagander <magnus(at)hagander(dot)net> writes:
>> Exactly what type of changes affec the MSVC build system?

> Anything the system doesn't pick up automatically. That means most new
> build targets (but it will pick up a contrib automatically, and a
> conversion proc, for example). Also if modifications are made to the
> scripts that run (like gen_fmgr.sh).

> Just adding new files to exisitng makefiles, or adding a new subdir that
> adds more files to an existing target, should require no changes.

It might help clarify things if you say why it *didn't* pick up these
new foreign-server libraries. Is it because they were new build
targets, or ??

regards, tom lane


From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major
Date: 2008-12-20 21:39:40
Message-ID: 494D661C.4050509@hagander.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Tom Lane wrote:
> Magnus Hagander <magnus(at)hagander(dot)net> writes:
>>> Exactly what type of changes affec the MSVC build system?
>
>> Anything the system doesn't pick up automatically. That means most new
>> build targets (but it will pick up a contrib automatically, and a
>> conversion proc, for example). Also if modifications are made to the
>> scripts that run (like gen_fmgr.sh).
>
>> Just adding new files to exisitng makefiles, or adding a new subdir that
>> adds more files to an existing target, should require no changes.
>
> It might help clarify things if you say why it *didn't* pick up these
> new foreign-server libraries. Is it because they were new build
> targets, or ??

Yes, they are new build targets, that's why it didn't catch them.

//Magnus


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Magnus Hagander <magnus(at)hagander(dot)net>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Bruce Momjian <bruce(at)momjian(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major
Date: 2008-12-20 22:44:55
Message-ID: 494D7567.7090608@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Magnus Hagander wrote:
>>
>>> Just adding new files to exisitng makefiles, or adding a new subdir that
>>> adds more files to an existing target, should require no changes.
>>>
>> It might help clarify things if you say why it *didn't* pick up these
>> new foreign-server libraries. Is it because they were new build
>> targets, or ??
>>
>
> Yes, they are new build targets, that's why it didn't catch them.
>
>
>

Also, because one of the Makefiles involved (src/foreign/Makefile)
doesn't follow one of our standard patterns.

We (i.e. probably Magnus and I in the first instance) should think about
creating a bit of a cookbook if we're going to persist with this build
system.

cheers

andrew


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Magnus Hagander <magnus(at)hagander(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Bruce Momjian <bruce(at)momjian(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major
Date: 2008-12-20 22:59:27
Message-ID: 20081220225927.GA3989@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Andrew Dunstan wrote:

> We (i.e. probably Magnus and I in the first instance) should think about
> creating a bit of a cookbook if we're going to persist with this build
> system.

Well, we were going to try CMake, but we need somebody to do the work.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Magnus Hagander <magnus(at)hagander(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Bruce Momjian <bruce(at)momjian(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major
Date: 2008-12-20 23:07:00
Message-ID: 494D7A94.3030107@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Alvaro Herrera wrote:
> Andrew Dunstan wrote:
>
>
>> We (i.e. probably Magnus and I in the first instance) should think about
>> creating a bit of a cookbook if we're going to persist with this build
>> system.
>>
>
> Well, we were going to try CMake, but we need somebody to do the work.
>
>

Yes, indeed.

cheers

andrew


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Magnus Hagander <magnus(at)hagander(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major
Date: 2008-12-20 23:58:15
Message-ID: 23686.1229817495@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> Also, because one of the Makefiles involved (src/foreign/Makefile)
> doesn't follow one of our standard patterns.

Is there a really good reason why it doesn't?
(eg, why "FDW" and not "SUBDIRS"?)

regards, tom lane


From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major
Date: 2008-12-21 13:03:25
Message-ID: 494E3E9D.8020000@hagander.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Tom Lane wrote:
> Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
>> Also, because one of the Makefiles involved (src/foreign/Makefile)
>> doesn't follow one of our standard patterns.
>
> Is there a really good reason why it doesn't?
> (eg, why "FDW" and not "SUBDIRS"?)

If you put them in SUBDIRS, don't get they get linked into the backend
itself? They are supposed to be different build targets...

It's more like the conversion_procs stuff, which also doesn't use
SUBDIRS - it uses DIRS, but he idea is the same as FDW.

//Magnus


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: pgsql-hackers(at)postgresql(dot)org
Cc: Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Magnus Hagander <magnus(at)hagander(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Bruce Momjian <bruce(at)momjian(dot)us>
Subject: About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major)
Date: 2008-12-29 11:25:12
Message-ID: 200812291325.13354.peter_e@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

On Sunday 21 December 2008 00:59:27 Alvaro Herrera wrote:
> Andrew Dunstan wrote:
> > We (i.e. probably Magnus and I in the first instance) should think about
> > creating a bit of a cookbook if we're going to persist with this build
> > system.
>
> Well, we were going to try CMake, but we need somebody to do the work.

It did play around with CMake a while back. It works OK. I had libpq and
psql building, for example. The problem I see is that converting the build
system will probably take many man-hours, and in the meantime, it would
essentially create yet another build system to maintain. Plus, we are not
sure, of course, whether we will end up adopting CMake.

My preferred approach now is that the existing makefiles need to be refactored
more aggressively first, using make functions. We could incidentally design
those functions similar to the CMake declarations, so a conversion, if we
decided to do one, would be simple. But doing that properly would require a
newer GNU make version, so it needs some consideration first. (I'm not
talking about last week's release, but more like 4 years old versus the 10
years old that we currently require.)

We can revisit this for the next release cycle.


From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: pgsql-hackers(at)postgresql(dot)org, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Bruce Momjian <bruce(at)momjian(dot)us>, Dave Page <dpage(at)pgadmin(dot)org>
Subject: Re: About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major)
Date: 2008-12-29 12:49:04
Message-ID: 4958C740.2050408@hagander.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Peter Eisentraut wrote:
> On Sunday 21 December 2008 00:59:27 Alvaro Herrera wrote:
>> Andrew Dunstan wrote:
>>> We (i.e. probably Magnus and I in the first instance) should think about
>>> creating a bit of a cookbook if we're going to persist with this build
>>> system.
>> Well, we were going to try CMake, but we need somebody to do the work.
>
> It did play around with CMake a while back. It works OK. I had libpq and
> psql building, for example.

I did a similar thing for pgAdmin, and I found it pretty easy to do.
However, I think Dave spent some time on doing the "plugins" for
detecting wxWidgets and such. The point being that I think creating the
replacement parts for autoconf are a lot harder than creating them for
the make parts of the system.

How much of that did you look at?

> The problem I see is that converting the build
> system will probably take many man-hours, and in the meantime, it would
> essentially create yet another build system to maintain. Plus, we are not
> sure, of course, whether we will end up adopting CMake.

Yes, that is the problem. It will take some time, and we don't know.
Now, once it's up to working order we *could* probably get rid of (or at
least very drastically reduce) the current MSVC build stuff, which would
get us back down in the number of build systems. But during the actual
work we'll certainly have one extra, yes.

> My preferred approach now is that the existing makefiles need to be refactored
> more aggressively first, using make functions. We could incidentally design
> those functions similar to the CMake declarations, so a conversion, if we
> decided to do one, would be simple. But doing that properly would require a
> newer GNU make version, so it needs some consideration first. (I'm not
> talking about last week's release, but more like 4 years old versus the 10
> years old that we currently require.)

That makes sense. I wonder how much that is going to require to be
rewritten in the MSVC build stuff. We don't actually parse the "guts" of
the Makefiles there, we just look for things like the list of object
files etc. Would those be affected?

I'm also a bit concerned about the mingw platform, given the experiences
I've had with toolchain compatibility there... But if it's 4 years old,
we're *probably* safe...

//Magnus


From: "Dave Page" <dpage(at)pgadmin(dot)org>
To: "Magnus Hagander" <magnus(at)hagander(dot)net>
Cc: "Peter Eisentraut" <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org, "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, "Andrew Dunstan" <andrew(at)dunslane(dot)net>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Bruce Momjian" <bruce(at)momjian(dot)us>
Subject: Re: About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major)
Date: 2008-12-29 16:26:15
Message-ID: 937d27e10812290826h351faa64g9e99605c00809790@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

On Mon, Dec 29, 2008 at 12:49 PM, Magnus Hagander <magnus(at)hagander(dot)net> wrote:
> I did a similar thing for pgAdmin, and I found it pretty easy to do.
> However, I think Dave spent some time on doing the "plugins" for
> detecting wxWidgets and such. The point being that I think creating the
> replacement parts for autoconf are a lot harder than creating them for
> the make parts of the system.

I did - in the wxWidgets case, the existing module had some behaved
badly in a number of ways and needed rewriting from scratch imho, and
the PostgreSQL module was non-existent (and pretty quick to write). In
fairness though, I expect the majority of the autoconf stuff that
would need replacing would be much easier - simple library/header
checks are very straightforward.

--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Dave Page" <dpage(at)pgadmin(dot)org>
Cc: "Magnus Hagander" <magnus(at)hagander(dot)net>, "Peter Eisentraut" <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org, "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, "Andrew Dunstan" <andrew(at)dunslane(dot)net>, "Bruce Momjian" <bruce(at)momjian(dot)us>
Subject: Re: About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major)
Date: 2008-12-29 16:47:58
Message-ID: 8783.1230569278@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

"Dave Page" <dpage(at)pgadmin(dot)org> writes:
> On Mon, Dec 29, 2008 at 12:49 PM, Magnus Hagander <magnus(at)hagander(dot)net> wrote:
>> ... The point being that I think creating the
>> replacement parts for autoconf are a lot harder than creating them for
>> the make parts of the system.

> I did - in the wxWidgets case, the existing module had some behaved
> badly in a number of ways and needed rewriting from scratch imho, and
> the PostgreSQL module was non-existent (and pretty quick to write). In
> fairness though, I expect the majority of the autoconf stuff that
> would need replacing would be much easier - simple library/header
> checks are very straightforward.

But of course those are just as straightforward in autoconf. It's
the not-straightforward stuff that's going to be a PITA to translate.

regards, tom lane


From: "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "Dave Page" <dpage(at)pgadmin(dot)org>, "Magnus Hagander" <magnus(at)hagander(dot)net>, "Peter Eisentraut" <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org, "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, "Andrew Dunstan" <andrew(at)dunslane(dot)net>, "Bruce Momjian" <bruce(at)momjian(dot)us>
Subject: Re: About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major)
Date: 2008-12-29 21:10:26
Message-ID: 36e682920812291310q31f6b14ey828b122abeae1cd0@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

On Mon, Dec 29, 2008 at 11:47 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> But of course those are just as straightforward in autoconf. It's
> the not-straightforward stuff that's going to be a PITA to translate.

As much as I dislike autotools, I really despise CMake; it's a nasty
piece of work and I hope we don't switch to it. Though, as I must've
missed it, what's the main complaint with the current build system?

--
Jonah H. Harris, Senior DBA
myYearbook.com


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Dave Page <dpage(at)pgadmin(dot)org>, Magnus Hagander <magnus(at)hagander(dot)net>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>
Subject: Re: About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major)
Date: 2008-12-29 21:11:45
Message-ID: 200812292111.mBTLBj229777@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Jonah H. Harris wrote:
> On Mon, Dec 29, 2008 at 11:47 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> > But of course those are just as straightforward in autoconf. It's
> > the not-straightforward stuff that's going to be a PITA to translate.
>
> As much as I dislike autotools, I really despise CMake; it's a nasty
> piece of work and I hope we don't switch to it. Though, as I must've
> missed it, what's the main complaint with the current build system?

Impossible to use autoconf on Win32.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Dave Page <dpage(at)pgadmin(dot)org>, Magnus Hagander <magnus(at)hagander(dot)net>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org, Andrew Dunstan <andrew(at)dunslane(dot)net>, Bruce Momjian <bruce(at)momjian(dot)us>
Subject: Re: About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major)
Date: 2008-12-29 21:12:27
Message-ID: 20081229211227.GL4545@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Jonah H. Harris escribió:
> On Mon, Dec 29, 2008 at 11:47 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> > But of course those are just as straightforward in autoconf. It's
> > the not-straightforward stuff that's going to be a PITA to translate.
>
> As much as I dislike autotools, I really despise CMake; it's a nasty
> piece of work and I hope we don't switch to it. Though, as I must've
> missed it, what's the main complaint with the current build system?

The fact that we have to have a mostly parallel build system for MSVC.
Anything beyond the most trivial changes must be manually patched there
too, which is annoying and breaks the MSVC build frequently.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


From: Gregory Stark <stark(at)enterprisedb(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Dave Page <dpage(at)pgadmin(dot)org>, Magnus Hagander <magnus(at)hagander(dot)net>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>
Subject: Re: About CMake
Date: 2008-12-29 22:51:10
Message-ID: 87ocyur3xd.fsf@oxford.xeocode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Bruce Momjian <bruce(at)momjian(dot)us> writes:

> Jonah H. Harris wrote:
>> On Mon, Dec 29, 2008 at 11:47 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> > But of course those are just as straightforward in autoconf. It's
>> > the not-straightforward stuff that's going to be a PITA to translate.
>>
>> As much as I dislike autotools, I really despise CMake; it's a nasty
>> piece of work and I hope we don't switch to it. Though, as I must've
>> missed it, what's the main complaint with the current build system?
>
> Impossible to use autoconf on Win32.

I don't think that's actually it. We used to use autoconf when we used cygwin
to build, didn't we? And there are other tools that use autoconf on windows.

We could use autoconf on win32 using cygwin utilities for things like sh and
awk. Just because we use those tools doesn't mean we have to use a cygwin
compiler or linker to actually do the build.

And we could always ship the preconfigured pg_config.h from a normal Windows
machine with cygwin installed since they're all the same (in theory).

I think it has more to do with the build-time tools. We have Makefile rules
that use awk or sed in them and those wouldn't work unless you have cygwin
installed when building. And in any case we want to use MSVC project files and
MSVC's make-equivalent to actually drive the build which kind of rules out
using the Makefile rules as-is.

--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
Ask me about EnterpriseDB's RemoteDBA services!


From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Gregory Stark <stark(at)enterprisedb(dot)com>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Dave Page <dpage(at)pgadmin(dot)org>, Magnus Hagander <magnus(at)hagander(dot)net>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org, Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Subject: Re: About CMake
Date: 2008-12-29 22:59:11
Message-ID: 4959563F.4080709@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Gregory Stark wrote:
>
> We could use autoconf on win32 using cygwin utilities for things like sh and
> awk. Just because we use those tools doesn't mean we have to use a cygwin
> compiler or linker to actually do the build.
>

Making Cygwin a build time requirement for using MSVC is something we
seriously wish to avoid.

> And we could always ship the preconfigured pg_config.h from a normal Windows
> machine with cygwin installed since they're all the same (in theory).
>
> I think it has more to do with the build-time tools. We have Makefile rules
> that use awk or sed in them and those wouldn't work unless you have cygwin
> installed when building. And in any case we want to use MSVC project files and
> MSVC's make-equivalent to actually drive the build which kind of rules out
> using the Makefile rules as-is.
>
>

Quite so. CMake outputs MSVC Project files, as I understand it. If you
know of another cross-platform build tool that will do that then speak up.

cheers

andrew


From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Gregory Stark <stark(at)enterprisedb(dot)com>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Dave Page <dpage(at)pgadmin(dot)org>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>
Subject: Re: About CMake
Date: 2008-12-29 23:01:35
Message-ID: 495956CF.30306@hagander.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Gregory Stark wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> writes:
>
>> Jonah H. Harris wrote:
>>> On Mon, Dec 29, 2008 at 11:47 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>>> But of course those are just as straightforward in autoconf. It's
>>>> the not-straightforward stuff that's going to be a PITA to translate.
>>> As much as I dislike autotools, I really despise CMake; it's a nasty
>>> piece of work and I hope we don't switch to it. Though, as I must've
>>> missed it, what's the main complaint with the current build system?
>> Impossible to use autoconf on Win32.
>
> I don't think that's actually it. We used to use autoconf when we used cygwin
> to build, didn't we? And there are other tools that use autoconf on windows.

No. We've never used cygwin for the win32 build, only for the cygwin build.

We've used mingw, which is completely different. But it's still a major
PITA to set up, and binaries produced using it aren't compatible with
windows tracing and debugging tools for example.

Heck, mingw is barely compatible with itself some days :-)

> We could use autoconf on win32 using cygwin utilities for things like sh and
> awk. Just because we use those tools doesn't mean we have to use a cygwin
> compiler or linker to actually do the build.

It does. autoconf is not compatible with MSVC. We did investigate that
before we shipped.

> And we could always ship the preconfigured pg_config.h from a normal Windows
> machine with cygwin installed since they're all the same (in theory).

That's basically what we do now (except it's not cygwin, and it's only
"almost mingw" since MSVC and mingw aren't entirely compatible)

> I think it has more to do with the build-time tools. We have Makefile rules
> that use awk or sed in them and those wouldn't work unless you have cygwin
> installed when building. And in any case we want to use MSVC project files and

Even so, "unix style" Makefiles don't work with MSVC. The compiler is
too different from all unix style compilers. We did try this...

But yes, the build time stuff is what's hard. If you look at the msvc
build stuff now it's mostly parsing our Makefiles and generating the
output. The autoconf stuff is a lot easier since we only target a single
platform.

> MSVC's make-equivalent to actually drive the build which kind of rules out
> using the Makefile rules as-is.

The point is that cmake generates both makefiles and project files.

What we *could* do is define our own "metaformat" for the build stuff,
and use that to *generate* our own makefiles. That would then be instead
of using the CMake format, we use our own perlscript or something. Some
projects do this - I think OpenSSL for example.

That way we'd have a single master, and keep using autoconf for what it
does.

//Magnus


From: James Mansion <james(at)mansionfamily(dot)plus(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Gregory Stark <stark(at)enterprisedb(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Dave Page <dpage(at)pgadmin(dot)org>, Magnus Hagander <magnus(at)hagander(dot)net>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org, Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Subject: Re: About CMake
Date: 2008-12-31 23:37:20
Message-ID: 495C0230.6040502@mansionfamily.plus.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers pgsql-hackers

Andrew Dunstan wrote:
> Quite so. CMake outputs MSVC Project files, as I understand it. If you
> know of another cross-platform build tool that will do that then speak
> up.
>
I think the wxWidgets team have one, and I think scons has some support
for doing that, though I haven't tried
that part of scons. The first uses Perl, scons uses Python.