On Tue, Mar 31, 2015 at 9:40 AM, Peter Eisentraut <peter_e@gmx.net> wrote:
On 3/30/15 6:29 PM, Michael Paquier wrote: > > > On Tue, Mar 31, 2015 at 5:39 AM, Peter Eisentraut <peter_e@gmx.net > <mailto:peter_e@gmx.net>> wrote: > > On 3/25/15 1:32 AM, Michael Paquier wrote: > > Well, I have no other cases than ones of the type mentioned upthread, > > and honestly I am fine as long as we do not apply maths to a version > > string. So attached is a patch that adds VERSION_NUM in > > Makefile.global. > > How would you make use of this in an extension makefile? > > > One use case is regression test list filtering depending on backend version.
I'm interested in the exact syntax you'd use, to compare it to the currently used techniques.
With the presence of VERSION_NUM directly in pg_config, the following expression: VERSION_NUM=$(shell $(PG_CONFIG) --version-num)
With its presence in Makefile.global, that's close to what you can do with pg_config.h already:
VERSION_NUM := $(shell cat `$(PG_CONFIG) --libdir`/pgxs/src/Makefile.global \ | perl -ne 'print $$1 and exit if /VERSION_NUM =\s+(\d+)/')
But that looks a little bit magic..
Another advantage of putting this information in pg_config is for environments that do not have PGXS installed, for example MSVC.