Split system BORDEAUX-THREADS-TEST into its own .asd
[bordeaux-threads.git] / bordeaux-threads.asd
blobdd5f6e8296a2f0070a76643b3ba532ed9844f567
1 #|
2 Copyright 2006,2007 Greg Pfeil
4 Distributed under the MIT license (see LICENSE file)
5 |#
7 (defpackage bordeaux-threads-system
8   (:use #:cl #:asdf))
10 (in-package :bordeaux-threads-system)
12 (eval-when (:compile-toplevel :load-toplevel :execute)
13   #+allegro (require :process)
14   #+corman  (require :threads))
16 (eval-when (:compile-toplevel :load-toplevel :execute)
17   #+(or (and allegro multiprocessing)
18         armedbear
19         (and cmu mp)
20         scl
21         corman
22         (and digitool ccl-5.1)
23         (and ecl threads)
24         lispworks
25         (and openmcl openmcl-native-threads)
26         (and sbcl sb-thread)
27         (and clisp mt))
28   (pushnew :thread-support *features*))
30 (defsystem :bordeaux-threads
31   :author "Greg Pfeil <greg@technomadic.org>"
32   ;; based on original Bordeaux-MP spec by Dan Barlow <dan@telent.net>
33   ;; contributors:
34   ;; Attila Lendvai <attila.lendvai@gmail.com>
35   ;; - better handling of unsupported Lisps
36   ;; Vladimir Sekissov <svg@surnet.ru>
37   ;; - fixes for CMUCL implementation
38   ;; Pierre Thierry <nowhere.man@levallois.eu.org>
39   ;; - added license information
40   ;; Stelian Ionescu <sionescu@common-lisp.net>
41   ;; - finished conversion from generic functions
42   ;; - enabled running thread-safe code in unthreaded lisps
43   ;; Douglas Crosher <dtc@scieneer.com>
44   ;; - added Scieneer Common Lisp support
45   :licence "MIT"
46   :version "0.5.1"
47   :components ((:module "src"
48                         :serial t
49                         :components
50                         ((:file "bordeaux-threads")
51                          (:file #+(and thread-support allegro)   "allegro"
52                                 #+(and thread-support armedbear) "armedbear"
53                                 #+(and thread-support cmu)       "cmu"
54                                 #+(and thread-support scl)       "scl"
55                                 #+(and thread-support corman)    "corman"
56                                 #+(and thread-support digitool)  "mcl"
57                                 #+(and thread-support ecl)       "ecl"
58                                 #+(and thread-support lispworks) "lispworks"
59                                 #+(and thread-support openmcl)   "openmcl"
60                                 #+(and thread-support sbcl)      "sbcl"
61                                 #+(and thread-support clisp)     "clisp"
62                                 #-thread-support                 "unsupported")
63                          (:file "default-implementations")
64                          #+(and thread-support
65                                 (or armedbear ecl lispworks digitool))
66                          (:file "condition-variables"))))
67   :in-order-to ((test-op (load-op bordeaux-threads-test)))
68   :perform (test-op :after (op c)
69              (describe
70               (funcall (intern (string '#:run-tests) :lift)
71                        :suite (intern (string '#:test-bordeaux-threads)
72                                       :bordeaux-threads-test)))))
74 (defmethod operation-done-p ((op test-op)
75                              (c (eql (find-system :bordeaux-threads))))
76   (values nil))