anchor.diff:  
   (defclass library (component) 
     ((libdir :initarg :libdir :initform nil)
  -   (libname :initarg :libname :initform nil)))
  +   (libname :initarg :libname :initform nil)
  +   (absolute :initform nil :initarg :absolute :reader absolute-p)))
   
   
   (defun split-path (path)
  
positive.code: #+clisp
  (defvar *loaded-libraries* ())
  
  (defun load-shared-object (pathname)
    (let ((namestring (ensure-namestring pathname)))
      #+sbcl(sb-alien:load-shared-object namestring)
      #+cmu(ext:load-foreign namestring)
      #+clisp
      (unless (find namestring *loaded-libraries* :test #'equal)
        (ffi::foreign-library namestring)
        (push namestring *loaded-libraries*))))
  
  
  (defmethod perform ((o load-op) (c shared-object))
    (let ((co (make-instance 'compile-op)))
      (let ((pathname (car (output-files co c))))
        (load-shared-object pathname))))
  
  
  
  
negative.code: 
  ;;; The following code is more or less copied from sb-bsd-sockets.asd,
  ;;; but extended to allow flags to be set in a general way. The class
  ;;; has been renamed from unix-dso to shared-object as this code is no
  ;;; longer specific to unix
  
  (defclass shared-object (module)
    ((ldflags :initform nil :initarg :ldflags)
     (absolute :initform nil :initarg :absolute :reader absolute-p)))
  
  (defun ensure-namestring (pathname)
    (namestring 
  