chiark / gitweb /
src/method-impl.lisp: Initialize `suppliedp' flags properly.
[sod] / configure.ac
index 361421f41905abc8348014c8d5dd4ea63b091db6..75bed26171a0adf60bfdfe720e29890d01dfd37f 100644 (file)
@@ -7,7 +7,7 @@ dnl
 
 dnl----- Licensing notice ---------------------------------------------------
 dnl
-dnl This file is part of the Sensble Object Design, an object system for C.
+dnl This file is part of the Sensible Object Design, an object system for C.
 dnl
 dnl SOD is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
@@ -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.
 
@@ -60,10 +86,10 @@ AC_SUBST([LISPSYS])
 AC_MSG_RESULT([$LISPSYS])
 
 AC_MSG_CHECKING([FASL file extension])
-FASL_TYPE=$($CL_LAUNCH -l $LISPSYS -ip \
+fasl=$($CL_LAUNCH -l $LISPSYS -ip \
        '(pathname-type (compile-file-pathname "foo.lisp"))')
-AC_SUBST([FASL_TYPE])
-AC_MSG_RESULT([.$FASL_TYPE])
+AC_SUBST([fasl])
+AC_MSG_RESULT([.$fasl])
 
 AC_ARG_WITH([lisp-source-dir],
        [AS_HELP_STRING([--with-lisp-source-dir=DIR],
@@ -79,7 +105,12 @@ AC_SUBST([lispsysdir], [$with_lisp_system_dir])
 dnl--------------------------------------------------------------------------
 dnl Output.
 
-AC_CONFIG_FILES([Makefile src/Makefile lib/Makefile])
+AC_CONFIG_FILES(
+  [Makefile]
+  [src/Makefile]
+  [lib/Makefile]
+  [doc/Makefile]
+  [test/Makefile])
 AC_OUTPUT
 
 dnl----- That's all, folks --------------------------------------------------