Deliver each contrib as a single FASL. Don't implicitly require ASDF or source code...
[sbcl.git] / contrib / sb-rotate-byte / sb-rotate-byte.asd
index 036f1ba..dc5be27 100644 (file)
@@ -1,9 +1,5 @@
 ;;; -*-  Lisp -*-
 
-(cl:defpackage #:sb-rotate-byte-system
-  (:use #:asdf #:cl))
-(cl:in-package #:sb-rotate-byte-system)
-
 (defsystem sb-rotate-byte
   :version "0.1"
   #+sb-building-contrib :pathname
   ((:file "package")
    (:file "compiler" :depends-on ("package"))
    (:module "vm"
-            :depends-on ("compiler")
-            :components
-            (#+x86
-             (:file "x86-vm")
-             #+x86-64
-             (:file "x86-64-vm")
-             #+ppc
-             (:file "ppc-vm"))
-            :pathname
-            #+sb-building-contrib #p"SYS:CONTRIB;SB-ROTATE-BYTE;"
-            #-sb-building-contrib #.(make-pathname :directory '(:relative)))
-   (:file "rotate-byte" :depends-on ("compiler"))))
+    :depends-on ("compiler")
+    :pathname ""
+    :components
+    ((:file "x86-vm" :if-feature :x86)
+     (:file "x86-64-vm" :if-feature :x86-64)
+     (:file "ppc-vm" :if-feature :ppc)))
+   (:file "rotate-byte" :depends-on ("compiler")))
+  :perform (load-op :after (o c) (provide 'sb-rotate-byte))
+  :perform (test-op (o c) (test-system 'sb-rotate-byte/tests)))
+
 
-(defmethod perform :after ((o load-op) (c (eql (find-system :sb-rotate-byte))))
-  (provide 'sb-rotate-byte))
+(defsystem sb-rotate-byte/tests
+  #+sb-building-contrib :pathname
+  #+sb-building-contrib #p"SYS:CONTRIB;SB-ROTATE-BYTE;"
+  :depends-on (sb-rotate-byte)
+  :components ((:file "rotate-byte-tests")))
 
-(defmethod perform ((o test-op) (c (eql (find-system :sb-rotate-byte))))
-  (or (load (compile-file "rotate-byte-tests.lisp"))
-      (error "test-op failed")))