chiark / gitweb /
Added code to detect version of CLisp
authorespen <espen>
Tue, 12 Dec 2006 13:00:52 +0000 (13:00 +0000)
committerespen <espen>
Tue, 12 Dec 2006 13:00:52 +0000 (13:00 +0000)
tools/config.lisp

index 94166109d15c4284a077e2d389b9112c308a7c6b..aa15f19cce1a4bc665a42e892af18e817bf4a95a 100644 (file)
@@ -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)