Deliver each contrib as a single FASL. Don't implicitly require ASDF or source code...
[sbcl.git] / contrib / sb-bsd-sockets / sb-bsd-sockets.asd
1 ;;; -*-  Lisp -*-
2
3 (defsystem sb-bsd-sockets
4   :version "0.58"
5   :defsystem-depends-on (sb-grovel)
6   #+sb-building-contrib :pathname
7   #+sb-building-contrib #p"SYS:CONTRIB;SB-BSD-SOCKETS;"
8   :components
9   ((:file "defpackage")
10    (:file "split" :depends-on ("defpackage"))
11    (:file "win32-lib" :if-feature :win32)
12    (:sb-grovel-constants-file "constants" :package :sockint
13     :depends-on ("defpackage") :if-feature (:not :win32))
14    (:sb-grovel-constants-file "win32-constants" :package
15     :sockint :depends-on ("defpackage" "win32-lib") :if-feature :win32)
16    (:file "win32-sockets"
17     :depends-on ("win32-constants") :if-feature :win32)
18    (:file "sockets" :depends-on ("constants" "win32-sockets"))
19    (:file "sockopt" :depends-on ("sockets"))
20    (:file "inet" :depends-on ("sockets" "split"))
21    (:file "local" :depends-on ("sockets" "split"))
22    (:file "name-service" :depends-on ("sockets"))
23    (:file "misc" :depends-on ("sockets"))
24    (:static-file "NEWS")
25    ;; (:static-file "INSTALL")
26    ;; (:static-file "README")
27    ;; (:static-file "index.html")
28    (:static-file "TODO"))
29   :perform (load-op :after (o c) (provide 'sb-bsd-sockets))
30   :perform (test-op (o c) (test-system 'sb-bsd-sockets/tests)))
31
32 (defsystem sb-bsd-sockets/tests
33   :depends-on (sb-rt sb-bsd-sockets #-win32 sb-posix)
34   :components ((:file "tests"))
35   :perform (test-op (o c)
36              (multiple-value-bind (soft strict pending)
37                  (funcall (intern "DO-TESTS" (find-package "SB-RT")))
38                (declare (ignorable pending))
39                (fresh-line)
40                (unless strict
41                  #+sb-testing-contrib
42                  ;; We create TEST-PASSED from a shell script if tests passed.  But
43                  ;; since the shell script only `touch'es it, we can actually create
44                  ;; it ahead of time -- as long as we're certain that tests truly
45                  ;; passed, hence the check for SOFT.
46                  (when soft
47                    (with-open-file (s #p"SYS:CONTRIB;SB-BSD-SOCKETS;TEST-PASSED.TEST-REPORT"
48                                       :direction :output)
49                      (dolist (pend pending)
50                        (format s "Expected failure: ~A~%" pend))))
51                  (warn "ignoring expected failures in test-op"))
52                (unless soft
53                  (error "test-op failed with unexpected failures")))))