From ca70819abd6189bde70891a96ba9150852ac6091 Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Tue, 12 Dec 2006 13:00:52 +0000 Subject: [PATCH] Added code to detect version of CLisp Organization: Straylight/Edgeware From: espen --- tools/config.lisp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/tools/config.lisp b/tools/config.lisp index 9416610..aa15f19 100644 --- a/tools/config.lisp +++ b/tools/config.lisp @@ -3,7 +3,7 @@ (defpackage #:pkg-config #+sbcl (:import-from #:sb-int #:featurep) (:export #:pkg-cflags #:pkg-libs #:pkg-exists-p #:pkg-version #:pkg-variable) - (:export #:featurep #:sbcl>=)) + (:export #:featurep #:sbcl>= #:clisp>=)) (in-package #:pkg-config) @@ -136,3 +136,21 @@ (defun sbcl>= (req-major req-minor req-micro) (defun sbcl>= (req-major req-minor req-micro) (declare (ignore req-major req-minor req-micro)) nil) + +#+clisp +(progn + (defun clisp-version () + (let* ((dot (position #\. (lisp-implementation-version)))) + (values + (parse-integer (lisp-implementation-version) :end dot) + (parse-integer (lisp-implementation-version) :start (1+ dot) :junk-allowed t)))) + (defun clisp>= (req-major req-minor) + (multiple-value-bind (major minor) (clisp-version) + (or + (> major req-major) + (and (= major req-major) (> minor req-minor)))))) + +#-clisp +(defun clisp>= (req-major req-minor) + (declare (ignore req-major req-minor)) + nil) -- [mdw]