roswell.roswell/lisp/util-use.lisp
SANO Masatoshi 8ce52d59c8 typo...
2017-06-20 17:49:20 +09:00

25 lines
828 B
Common Lisp

(roswell:include "util" "util-use")
(defpackage :roswell.util.use
(:use :cl :roswell.util)
(:export :use))
(in-package :roswell.util.use)
(defun use (impl &rest args)
"Parse the lisp version string (such as ccl-bin/1.11) and set it to the correct config slot(s)"
(destructuring-bind (lisp version) (parse-version-spec impl)
(cond
((let ((func (module "use" lisp)))
(when func
(apply func lisp version args))
func))
((and impl
(ignore-errors
(roswell:roswell `("-L" ,impl "version=t" "run"))))
(cond ((and lisp version)
(setf (config "default.lisp") lisp
(config (format nil "~A.version" lisp)) version))
(lisp
(setf (config "default.lisp")
lisp)))
t))))