anchor.diff:    t)
     
   
  +
  +(defclass library (static-file) 
  +  ((libdir :initarg :libdir)))
  +
  +
  +(defun relative-pathname (path)
  +  (etypecase path
  +    (cons path)
  +    (string (if (char= #\/ (char path 0))
  +		(subseq path 1)
  +	      path))))
  +
  +(defmethod component-pathname ((lib library))
  +  (make-pathname :type "so"
  +		 :name (component-name lib)
  +		 :directory (relative-pathname (slot-value lib 'libdir))))
  +
  +(defmethod perform ((o load-op) (c library))
  +  (load-dso (component-pathname c)))
  
positive.code: 			      (module-components dso)))))
        (error 'operation-error :operation operation :component dso))))
  
  (defmethod perform ((o load-op) (c unix-dso))
    (let ((co (make-instance 'compile-op)))
      (let ((filename (car (output-files co c))))
        #+cmu (ext:load-foreign filename)
        #+sbcl (sb-alien:load-shared-object filename))))
  
  
  
  
negative.code:      (logical-pathname (translate-logical-pathname pathname))
       (t pathname))))
  
  (defmethod input-files ((operation compile-op) (dso unix-dso))
    (mapcar #'component-pathname (module-components dso)))
  
  (defmethod output-files ((operation compile-op) (dso unix-dso))
  