X-Git-Url: https://git.distorted.org.uk/~mdw/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 @@ -39,6 +39,32 @@ 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. AC_ARG_WITH([lisp-system],