anchor.diff:    (or (soname-of c)
         (asdf:component-name c)))
   
  +(defmethod asdf:output-files ((op process-op) (c wrapper-file))
  +  (let* ((input-file (asdf:component-pathname c))
  +         (output-file (make-pathname :type (generated-lisp-file-type c)
  +                                     :defaults input-file))
  +         (c-file (make-c-file-name output-file))
  +         (lib-soname (wrapper-soname c)))
  +    (list output-file
  +          c-file
  +          (lib-filename (make-soname lib-soname output-file)))))
  +
   (defmethod asdf:perform ((op process-op) (c wrapper-file))
     (let ((output-file (first (asdf:output-files op c)))
           (input-file  (asdf:component-pathname c)))
  
positive.code:      "This ASDF component represents an input file that is processed
       by PROCESS-GROVEL-FILE.")))
  
  (defmethod asdf:perform ((op process-op) (c grovel-file))
    (let ((output-file (first (asdf:output-files op c)))
          (input-file (asdf:component-pathname c)))
  
negative.code:     COMPILE-OP and LOAD-SOURCE-OP operations to the file generated by
      PROCESS-OP.")))
  
  (defmethod asdf:input-files ((op process-op) (c process-op-input))
    (list (asdf:component-pathname c)))
  
  (defmethod asdf:component-depends-on ((op process-op) (c process-op-input))
    (append (call-next-method)
  