chiark
/
gitweb
/
~mdw
/
clg
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
625e291
)
Fixed warning about invalid directory
author
espen
<espen>
Wed, 15 Feb 2006 23:36:17 +0000
(23:36 +0000)
committer
espen
<espen>
Wed, 15 Feb 2006 23:36:17 +0000
(23:36 +0000)
tools/asdf-extensions.lisp
patch
|
blob
|
blame
|
history
diff --git
a/tools/asdf-extensions.lisp
b/tools/asdf-extensions.lisp
index 6b3da9336b885ae2b3bd560be787a21b436dad2d..b7a589bffb7bb7a650eae5ae2c808992bab22680 100644
(file)
--- a/
tools/asdf-extensions.lisp
+++ b/
tools/asdf-extensions.lisp
@@
-106,17
+106,22
@@
(defclass library (component)
((libdir :initarg :libdir)))
((libdir :initarg :libdir)))
-(defun relative-pathname (path)
- (etypecase path
- (cons path)
- (string (if (char= #\/ (char path 0))
- (subseq path 1)
- path))))
+(defun split-path (path)
+ (labels ((split (path)
+ (unless (zerop (length path))
+ (let ((slash (position #\/ path)))
+ (if slash
+ (cons (subseq path 0 slash) (split (subseq path (1+ slash))))
+ (list path))))))
+ (if (and (not (zerop (length path))) (char= (char path 0) #\/))
+ (cons :absolute (split (subseq path 1)))
+ (cons :relative (split path)))))
+
(defmethod component-pathname ((lib library))
(make-pathname :type "so"
:name (component-name lib)
(defmethod component-pathname ((lib library))
(make-pathname :type "so"
:name (component-name lib)
- :directory (
relative-pathname
(slot-value lib 'libdir))))
+ :directory (
split-path
(slot-value lib 'libdir))))
(defmethod perform ((o load-op) (c library))
(load-dso (component-pathname c)))
(defmethod perform ((o load-op) (c library))
(load-dso (component-pathname c)))