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