Correctly sort out string-specified getters in virtual-slots.lisp
[clg] / tools / asdf-extensions.lisp
index 89e0727..a6dd160 100644 (file)
@@ -1,6 +1,9 @@
 (in-package :asdf)
 
 (eval-when (:load-toplevel :compile-toplevel :execute)
+  ;; ASDF defines featurep, which we don't want to clobber. As such, shadow it
+  ;; here and then reference it with a pkg-config: prefix below.
+  (shadow :featurep)
   (use-package :pkg-config))
 
 (export '(*search-library-path-on-reload* *dso-extension*
@@ -60,7 +63,7 @@
        (pushnew (namestring-name namestring)
         *reload-shared-objects* :test #'string=)))))
 
-#?(or (sbcl< 1 0 22) (featurep :cmu))
+#?(or (sbcl< 1 0 22) (pkg-config:featurep :cmu))
 (progn
   (defun remove-shared-objects ()    
     (dolist (namestring *dont-save-shared-objects*)
 (defmethod output-files ((op compile-op) (c c-source-file))
   (list (make-pathname :type "o" :defaults (component-pathname c))))
 
+(defmethod component-pathname ((c c-source-file))
+  (make-pathname :type "c" :name (component-name c)
+                 :directory (pathname-directory (call-next-method))))
 
 (defmethod perform ((op compile-op) (c c-source-file))
   (unless