Add subdirectory support for DATA/DOCS with PGXS

From: Mark Cave-Ayland <mark(dot)cave-ayland(at)siriusit(dot)co(dot)uk>
To: pgsql-hackers(at)postgreSQL(dot)org
Subject: Add subdirectory support for DATA/DOCS with PGXS
Date: 2009-12-29 12:59:26
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Hi all,

Since moving PostGIS over to PGXS for the 1.4 release, we've been
looking at how we can support multiple versions of PostGIS being
installed in different databases within the same cluster.

We are able to version the .so file produced by PGXS without too much
difficulty, however PGXS in its current form does not have the ability
to install different versions of the DATA or DOCS files within the same

The attached patch is a prototype which allows the user to specify a new
MODULEDIR variable in a module makefile which, if specified, will
install DATA and DOCS items in contrib/$(MODULEDIR) rather than just
contrib. If MODULEDIR is left unspecified, the files will simply be
stored directly in contrib/ as before.

In my current development setup here, the head of the new PostGIS PGXS
Makefile now looks like this:


With this patch in place, "make install" on the PGXS will correctly
install the DATA and DOCS files in versioned directories and therefore
allow multiple installations within the same database cluster.

The coding within the Makefile isn't too difficult in its current form,
but I'd be interested to get some initial feedback as to whether the
introduction of a new MODULEDIR variable is the best way to add this new
piece of functionality.

Many thanks,


Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
t: +44 870 608 0063

Sirius Labs:

Attachment Content-Type Size
pgxs-moduledir.patch text/x-diff 3.1 KB


Browse pgsql-hackers by date

  From Date Subject
Next Message Guillaume Lelarge 2009-12-29 13:12:52 Re: Application name patch - v3
Previous Message Josh Rovero 2009-12-29 12:56:31 Re: Port for Microsoft Services for Unix (SFU) or SUA