endif
#---------------------------------------------------------------
-# Postgis version
+# Postgis version and build date
#---------------------------------------------------------------
POSTGIS_VERSION = $(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) USE_GEOS=$(USE_GEOS) USE_PROJ=$(USE_PROJ) USE_STATS=$(USE_STATS)
POSTGIS_LIB_VERSION = $(SO_MAJOR_VERSION).$(SO_MINOR_VERSION).$(SO_MICRO_VERSION)
+POSTGIS_BUILD_DATE := $(shell date -u "+%F %H-%M-%S")
+
#---------------------------------------------------------------
override CFLAGS += -DUSE_VERSION=$(USE_VERSION)
override CFLAGS += -DPOSTGIS_LIB_VERSION='"$(POSTGIS_LIB_VERSION)"'
override CFLAGS += -DPOSTGIS_SCRIPTS_VERSION='"$(SCRIPTS_VERSION)"'
+override CFLAGS += -DPOSTGIS_BUILD_DATE='"$(POSTGIS_BUILD_DATE)"'
ifeq ($(USE_GEOS),1)
override CFLAGS += -I$(GEOS_DIR)/include -DUSE_GEOS
# Shared library stuff
lwpostgis.sql: lwpostgis.sql.in
- cpp -P -traditional-cpp -DUSE_VERSION=$(USE_VERSION) $< | sed -e 's:@MODULE_FILENAME@:$(MODULE_FILENAME):g;s:@POSTGIS_VERSION@:$(POSTGIS_VERSION):g;s:@POSTGIS_SCRIPTS_VERSION@:$(SCRIPTS_VERSION):g' | grep -v ^# > $@
+ cpp -P -traditional-cpp -DUSE_VERSION=$(USE_VERSION) $< | sed -e 's:@MODULE_FILENAME@:$(MODULE_FILENAME):g;s:@POSTGIS_VERSION@:$(POSTGIS_VERSION):g;s:@POSTGIS_SCRIPTS_VERSION@:$(SCRIPTS_VERSION):g;s:@POSTGIS_BUILD_DATE@:$(POSTGIS_BUILD_DATE):g' | grep -v ^# > $@
cp lwpostgis.sql ..
install: all installdirs install-lwgeom-lib install-lwgeom-scripts
Datum postgis_autocache_bbox(PG_FUNCTION_ARGS);
Datum postgis_scripts_released(PG_FUNCTION_ARGS);
Datum postgis_lib_version(PG_FUNCTION_ARGS);
+Datum postgis_lib_build_date(PG_FUNCTION_ARGS);
Datum LWGEOM_length2d_linestring(PG_FUNCTION_ARGS);
Datum LWGEOM_length_linestring(PG_FUNCTION_ARGS);
Datum LWGEOM_perimeter2d_poly(PG_FUNCTION_ARGS);
PG_RETURN_POINTER(result);
}
+PG_FUNCTION_INFO_V1(postgis_lib_build_date);
+Datum postgis_lib_build_date(PG_FUNCTION_ARGS)
+{
+ char *ver = POSTGIS_BUILD_DATE;
+ text *result;
+ result = (text *) lwalloc(VARHDRSZ + strlen(ver));
+ VARATT_SIZEP(result) = VARHDRSZ + strlen(ver) ;
+ memcpy(VARDATA(result), ver, strlen(ver));
+ PG_RETURN_POINTER(result);
+}
+
PG_FUNCTION_INFO_V1(postgis_scripts_released);
Datum postgis_scripts_released(PG_FUNCTION_ARGS)
{
-----------------------------------------------------------------------
CREATEFUNCTION postgis_version() RETURNS text
-AS 'SELECT \'@POSTGIS_VERSION@\'::text AS version'
-LANGUAGE 'sql';
+ AS 'SELECT \'@POSTGIS_VERSION@\'::text AS version'
+ LANGUAGE 'sql';
CREATEFUNCTION postgis_proj_version() RETURNS text
AS '@MODULE_FILENAME@'
LANGUAGE 'C';
CREATEFUNCTION postgis_scripts_installed() RETURNS text
-AS 'SELECT \'@POSTGIS_SCRIPTS_VERSION@\'::text AS version'
-LANGUAGE 'sql';
+ AS 'SELECT \'@POSTGIS_SCRIPTS_VERSION@\'::text AS version'
+ LANGUAGE 'sql';
CREATEFUNCTION postgis_lib_version() RETURNS text
AS '@MODULE_FILENAME@'
AS '@MODULE_FILENAME@'
LANGUAGE 'C';
+CREATEFUNCTION postgis_scripts_build_date() RETURNS text
+ AS 'SELECT \'@POSTGIS_BUILD_DATE@\'::text AS version'
+ LANGUAGE 'sql';
+
+CREATEFUNCTION postgis_lib_build_date() RETURNS text
+ AS '@MODULE_FILENAME@'
+ LANGUAGE 'C';
+
+
CREATEFUNCTION postgis_full_version() RETURNS text
AS '