From 5cc9b9e3b20afb9f40ed57957ed5c3dd2bcbd13b Mon Sep 17 00:00:00 2001 Message-Id: <5cc9b9e3b20afb9f40ed57957ed5c3dd2bcbd13b.1716555173.git.mdw@distorted.org.uk> From: Mark Wooding Date: Mon, 10 Apr 2006 17:48:41 +0000 Subject: [PATCH] Improved glib version detection Organization: Straylight/Edgeware From: espen --- glib/glib.asd | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/glib/glib.asd b/glib/glib.asd index f6fd3e7..44de186 100644 --- a/glib/glib.asd +++ b/glib/glib.asd @@ -20,30 +20,17 @@ (pkg-exists-p "glib-2.0" :atleast-version "2.4.0") -(when (string>= (pkg-version "glib-2.0") "2.6.0") +(when (pkg-exists-p "glib-2.0" :atleast-version "2.6.0" :error nil) (push :glib2.6 *features*)) -(when (string>= (pkg-version "glib-2.0") "2.8.0") +(when (pkg-exists-p "glib-2.0" :atleast-version "2.8.0" :error nil) (push :glib2.8 *features*)) #+sbcl (progn - (defun sbcl-version () - (let ((dot1 (position #\. (lisp-implementation-version))) - (dot2 (position #\. (lisp-implementation-version) :from-end t))) - (values - (parse-integer (lisp-implementation-version) :end dot1) - (parse-integer (lisp-implementation-version) :start (1+ dot1) :end dot2) - (parse-integer (lisp-implementation-version) :start (1+ dot2))))) - (defun sbcl-version>= (req-major req-minor req-micro) - (multiple-value-bind (major minor micro) (sbcl-version) - (or - (> major req-major) - (and (= major req-major) (> minor req-minor)) - (and (= major req-major) (= minor req-minor) (>= micro req-micro))))) - (when (sbcl-version>= 0 9 8) + (when (sbcl>= 0 9 8) (push :sbcl>=0.9.8 *features*)) - (when (sbcl-version>= 0 9 10) + (when (sbcl>= 0 9 10) (push :sbcl>=0.9.10 *features*))) #+(and sbcl (not alien-callbacks)) -- [mdw]