[postgis-devel] Death to PGXS

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Sun Dec 7 09:07:58 PST 2014


On 05/12/14 17:24, Paul Ramsey wrote:

> Thanks for the refresher Mark.
>   I think inevitably removing PGXS will expose a bunch of other corner
> cases that are currently papered over, so it’s probably a wash. Given
> that, since the corner cases that *I* exposed (building from source
> against packaged pgsql) are rare in their own way (packagers will
> necessarily be building everything at once, and can solve it at source;
> users of packaged everything will not see the problem anyways;
> developers can always just fall back to building everything, including
> pgsql, which is what I did for solaris and am going to do for freebsd)
> aren’t all that widespread, I’m not inclined to rip off this bandage
> just for fun. 
>   The CMake thing remains as the eventual prod to make a big build
> re-org happen, but I’m not sure who’s going to grasp that nettle or when :)
> P.

I should add that I'm not totally against CMake (given that I spent some
time looking at this around the Paris code sprint) but my main two
concerns if we were to introduce CMake tomorrow would be i) incompatible
compiler flags between PostgreSQL/PostGIS causing strange crashes on
some setups and ii) putting the burden of supporting two different build
systems onto developers.

I'm also conscious that things do change over time. For example, while
the versioned paths may have changed over the 8.x series it could be
that now the paths are stable so this is a non-issue. Plus I seem to
recall having to use features from a cutting edge version of CMake in my
experiments, which should now be in most stable distributions.

(goes and does some more research)

Interestingly it seems that both the compiler (CC) and flag variables
(CFLAGS) and (LDFLAGS) used to build PostgreSQL got added to pg_config
at some point during the 8.x series. Given that we have dropped support
for older PostgreSQL releases, if we can now import these variables
directly into the CMake build rather than having CMake derive them then
in theory the problem with incompatible builds should go away which
makes me much happier. The only remaining problem would be the platform
coverage for CMake, such as are CMake packages available for Solaris and
some of the less popular systems?


ATB,

Mark.




More information about the postgis-devel mailing list