Re: Is a modern build system acceptable for older platforms

From: Craig Ringer <craig(at)2ndquadrant(dot)com>
To: Yuriy Zhuravlev <stalkerg(at)gmail(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Darafei Komяpa Praliaskouski <me(at)komzpa(dot)net>, Catalin Iacob <iacobcatalin(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Is a modern build system acceptable for older platforms
Date: 2018-04-28 12:01:46
Message-ID: CAMsr+YGdCouCcTn2svcrGJm=2CaCgxHtyRGawXnMKy7NzPQHbA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 27 April 2018 at 15:10, Yuriy Zhuravlev <stalkerg(at)gmail(dot)com> wrote:

> 1. You can remove tools/msvc folder because all your build rules will be
> universal. (cmake build now have much fewer lines of code)

Which is nice, but not actually a major day to day impact.

> 2. You can forget about terminal in Windows (for windows guys it's
> important)

OK, but it's not really important for the PostgreSQL project, IMO.
Also, most people working on PostgreSQL are probably less bothered by
the terminal.

> 3. You can normally check environment on Windows, right now we have
> hardcoded headers and many options. Configure process will be same on all
> platforms.

Again, nice, but does that solve a real current problem?

> 4. You can generate not only GNU Make or MSVC project, you also can make
> Xcode projects, Ninja or NMake for build under MSVC Make. For Windows, you
> also can easily change MSVC to Clang it's not hardcoded at all.

Yeah, that's nice, but again, what're the real world benefits?

> 5. With CMake you have an easy way to build extra modules (plugins), I have
> already working prototype for windows PGXS. A plugin should just include
> .cmake file generated with Postgres build.

Yep. FWIW, I already use CMake for some PostgreSQL extensions because
of PGXS limitations and Windows support. I won't say I'm a big fan,
the documentation is a bit stale and it has some weird quirks and
limitations, but compared to autohell it's pure magic.

> But in my opinion, you should just try CMake to figure out all benefits.

I use it fairly regularly. I'd never use autotools for any project I
was starting myself.

But that doesn't mean converting the whole postgres project is a good idea.

I'd do it, personally. But it's not just up to me. I've yet to hear
something that's compelling to a team who still set Perl 5.8.8 as the
minimum version and support SunOS. You'll need a compelling argument
that it's worth the pain and distruption.

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2018-04-28 13:30:21 Re: Toast issues with OldestXmin going backwards
Previous Message Craig Ringer 2018-04-28 12:00:25 Re: Postgres, fsync, and OSs (specifically linux)