Fix mutex type for recent CLISP
[bordeaux-threads.git] / bordeaux-threads.asd
blob8db0d2e240afaf4dc3d1050c4d80ab0f37ec0ee0
1 ;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
3 #|
4 Copyright 2006,2007 Greg Pfeil
6 Distributed under the MIT license (see LICENSE file)
7 |#
9 #.(unless (or #+asdf3.1 (version<= "3.1" (asdf-version)))
10     (error "You need ASDF >= 3.1 to load this system correctly."))
12 (eval-when (:compile-toplevel :load-toplevel :execute)
13   #+(or armedbear
14         (and allegro multiprocessing)
15         (and clasp threads)
16         (and clisp mt)
17         (and openmcl openmcl-native-threads)
18         (and cmu mp)
19         corman
20         (and ecl threads)
21         genera
22         mkcl
23         lispworks
24         (and digitool ccl-5.1)
25         (and sbcl sb-thread)
26         scl)
27   (pushnew :thread-support *features*))
29 (defsystem :bordeaux-threads
30   :author "Greg Pfeil <greg@technomadic.org>"
31   :licence "MIT"
32   :description "Bordeaux Threads makes writing portable multi-threaded apps simple."
33   :version (:read-file-form "version.sexp")
34   :depends-on (:alexandria
35                #+(and allegro (version>= 9))       (:require "smputil")
36                #+(and allegro (not (version>= 9))) (:require "process")
37                #+corman                            (:require "threads"))
38   :components ((:static-file "version.sexp")
39                (:module "src"
40                 :serial t
41                 :components
42                 ((:file "pkgdcl")
43                  (:file "bordeaux-threads")
44                  (:file #+(and thread-support armedbear) "impl-abcl"
45                         #+(and thread-support allegro)   "impl-allegro"
46                         #+(and thread-support clasp)     "impl-clasp"
47                         #+(and thread-support clisp)     "impl-clisp"
48                         #+(and thread-support openmcl)   "impl-clozure"
49                         #+(and thread-support cmu)       "impl-cmucl"
50                         #+(and thread-support corman)    "impl-corman"
51                         #+(and thread-support ecl)       "impl-ecl"
52                         #+(and thread-support genera)    "impl-genera"
53                         #+(and thread-support mkcl)      "impl-mkcl"
54                         #+(and thread-support lispworks) "impl-lispworks"
55                         #+(and thread-support digitool)  "impl-mcl"
56                         #+(and thread-support sbcl)      "impl-sbcl"
57                         #+(and thread-support scl)       "impl-scl"
58                         #-thread-support                 "impl-null")
59                  #+(and thread-support lispworks (or lispworks4 lispworks5))
60                  (:file "impl-lispworks-condition-variables")
61                  #+(and thread-support digitool)
62                  (:file "condition-variables")
63                  (:file "default-implementations")))))
65 (defsystem :bordeaux-threads/test
66   :author "Greg Pfeil <greg@technomadic.org>"
67   :description "Bordeaux Threads test suite."
68   :licence "MIT"
69   :version (:read-file-form "version.sexp")
70   :depends-on (:bordeaux-threads :fiveam)
71   :components ((:module "test"
72                 :components ((:file "bordeaux-threads-test")))))
74 (defmethod perform ((o test-op) (c (eql (find-system :bordeaux-threads))))
75   (load-system :bordeaux-threads/test)
76   (symbol-call :5am :run! :bordeaux-threads))