X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/54c017728489af16b13e13541e7cc53c985ca436..58a9509014d2d133b91e96c7956957f82bc000a4:/configure.ac diff --git a/configure.ac b/configure.ac index cb1c5a6..c1fed50 100644 --- a/configure.ac +++ b/configure.ac @@ -38,6 +38,32 @@ AM_PROG_LIBTOOL AX_CFLAGS_WARN_ALL mdw_LIBTOOL_VERSION_INFO +dnl-------------------------------------------------------------------------- +dnl Convert the version number for ASDF. + +## This is surprisingly awful. The convention for official version numbers +## is that they look like MAJOR.MINOR.PATCH[.BPB][-N-gHEX[+]]. ASDF +## insists on simple numeric things separated by dots. If there's no Git +## thing on the end, then the main version number will do fine. If there +## is, then we insert /two/ `0's in, followed by N and the HEX converted to +## decimal. Why two? Because if there's no brown-paper-bag number, we +## want to make sure that the first BPB release is higher than any of the +## preceding Git revisions. +ver=AC_PACKAGE_VERSION +case $ver in + *-*-g*) + base=${ver%%-*} tail=${ver#*-} + n=${tail%%-*} tail=${tail#*-g} + case $tail in *+) grubby=.1 tail=${tail%+} ;; *) grubby= ;; esac + rev=$(( 0x$tail )) + ASDF_VERSION=$base.0.0.$n.$rev$grubby + ;; + *) + ASDF_VERSION=$ver + ;; +esac +AC_SUBST([ASDF_VERSION]) + dnl-------------------------------------------------------------------------- dnl Common Lisp things.