Fixed loading in CMUCL 21b (two lock class symbols are not external in MP package)
[bordeaux-threads.git] / bordeaux-threads.asd
blobf6d64a6c506b56855427573e78ef3ac5846b9187
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 clisp mt)
16         (and openmcl openmcl-native-threads)
17         (and cmu mp)
18         corman
19         (and ecl threads)
20         mkcl
21         lispworks
22         (and digitool ccl-5.1)
23         (and sbcl sb-thread)
24         scl)
25   (pushnew :thread-support *features*))
27 (defsystem :bordeaux-threads
28   :author "Greg Pfeil <greg@technomadic.org>"
29   :licence "MIT"
30   :description "Bordeaux Threads makes writing portable multi-threaded apps simple."
31   :version (:read-file-form "version.sexp")
32   :depends-on (:alexandria
33                #+(and allegro (version>= 9))       (:require "smputil")
34                #+(and allegro (not (version>= 9))) (:require "process")
35                #+corman                            (:require "threads"))
36   :components ((:static-file "version.sexp")
37                (:module "src"
38                 :serial t
39                 :components
40                 ((:file "pkgdcl")
41                  (:file "bordeaux-threads")
42                  (:file #+(and thread-support armedbear) "impl-abcl"
43                         #+(and thread-support allegro)   "impl-allegro"
44                         #+(and thread-support clisp)     "impl-clisp"
45                         #+(and thread-support openmcl)   "impl-clozure"
46                         #+(and thread-support cmu)       "impl-cmucl"
47                         #+(and thread-support corman)    "impl-corman"
48                         #+(and thread-support ecl)       "impl-ecl"
49                         #+(and thread-support mkcl)      "impl-mkcl"
50                         #+(and thread-support lispworks) "impl-lispworks"
51                         #+(and thread-support digitool)  "impl-mcl"
52                         #+(and thread-support sbcl)      "impl-sbcl"
53                         #+(and thread-support scl)       "impl-scl"
54                         #-thread-support                 "impl-null")
55                  #+(and thread-support lispworks (not (or lispworks6 lispworks7)))
56                  (:file "impl-lispworks-condition-variables")
57                  #+(and thread-support digitool)
58                  (:file "condition-variables")
59                  (:file "default-implementations")))))
61 (defsystem :bordeaux-threads/test
62   :author "Greg Pfeil <greg@technomadic.org>"
63   :description "Bordeaux Threads test suite."
64   :licence "MIT"
65   :version (:read-file-form "version.sexp")
66   :depends-on (:bordeaux-threads :fiveam)
67   :components ((:module "test"
68                 :components ((:file "bordeaux-threads-test")))))
70 (defmethod perform ((o test-op) (c (eql (find-system :bordeaux-threads))))
71   (load-system :bordeaux-threads/test)
72   (symbol-call :5am :run! :bordeaux-threads))