How to release
~~~~~~~~~~~~~~
-Date: 2014-05-14
+Date: 2015-10-08
Versioning Scheme
-----------------
-Release version is composed by POSTGIS_MAJOR_VERSION, POSTGIS_MINOR_VERSION
-and POSTGIS_MICRO_VERSION components.
+*PostGIS*
+
+PostGIS release version is composed by POSTGIS_MAJOR_VERSION,
+POSTGIS_MINOR_VERSION and POSTGIS_MICRO_VERSION components, all
+set in Version.config.
By default only [POSTGIS_MICRO_VERSION] increments between releases.
-Starting at PostGIS 2.1 in development POSTGIS_MICRO_VERSION should have a dev at the end
+Starting at PostGIS 2.1 in development POSTGIS_MICRO_VERSION should have
+a "dev" string at the end
[POSTGIS_MINOR_VERSION] is incremented (and MICRO set to 0) when minor
additions have been introduced (one or two functions can be considered
So for example if you just release 2.1.1, then the 2.1 branch should have
POSTGIS_MICRO_VERSION set to 2dev so that the full version is 2.1.2dev.
+*Liblwgeom*
+
+Liblwgeom versioning is composed by by LIBLWGEOM_IFACE_CUR,
+LIBLWGEOM_IFACE_AGE and LIBLWGEOM_IFACE_REV; all set and documented
+in Version.config.
+
+The liblwgeom versioning represents compatibility of the library
+within a PostGIS minor version.
+
Requirements
------------
POSTGIS_MINOR_VERSION=3
POSTGIS_MICRO_VERSION=0dev
+# Liblwgeom interface versioning, reset to 1:0:0 (cur:age:rev)
+# when changing POSTGIS_MINOR_VERSION
+
+# Current interface, increments when adding an interface
+LIBLWGEOM_IFACE_CUR=1
+# Age of current interface, only changes when current interface
+# changes, either incrementing with it (compatible change) or
+# going back to zero (incompatible change).
+LIBLWGEOM_IFACE_AGE=0
+# Revision of current interface, set to 0 when adding an interface
+# or increment when just changing implementations.
+LIBLWGEOM_IFACE_REV=0
+
AC_SUBST([POSTGIS_MICRO_VERSION])
dnl
-dnl Convert PostGIS version info into liblwgeom libtool-happy numbers
+dnl Liblwgeom version information imported from Version.config
dnl
-LIBLWGEOM_CURRENT=`expr $POSTGIS_MAJOR_VERSION + $POSTGIS_MINOR_VERSION`
-LIBLWGEOM_AGE=$POSTGIS_MINOR_VERSION
-LIBLWGEOM_REV=`echo $POSTGIS_MICRO_VERSION | perl -p -e 's/(\d+)\w*\d*/$1/g'`
+LIBLWGEOM_CURRENT=`cat Version.config | grep LIBLWGEOM_IFACE_CUR | sed 's/[[^=]]*=\([[0-9]]\)/\1/g'`
+LIBLWGEOM_AGE=`cat Version.config | grep LIBLWGEOM_IFACE_AGE | sed 's/[[^=]]*=\([[0-9]]\)/\1/g'`
+LIBLWGEOM_REV=`cat Version.config | grep LIBLWGEOM_IFACE_REV | sed 's/[[^=]]*=\([[0-9]]\)/\1/g'`
AC_SUBST([LIBLWGEOM_CURRENT])
AC_SUBST([LIBLWGEOM_AGE])
AC_SUBST([LIBLWGEOM_REV])