1 ;;;; -*- Mode: LISP; Syntax: ANSI-Common-lisp; Base: 10; Package: ASDF -*-
2 ;;;; The above modeline is required for Genera. Do not change.
4 #.(unless (or #+asdf3.1 (version<= "3.1" (asdf-version)))
5 (error "You need ASDF >= 3.1 to load this system correctly."))
7 (eval-when (:compile-toplevel :load-toplevel :execute)
9 (and allegro multiprocessing)
12 (and openmcl openmcl-native-threads)
20 (and digitool ccl-5.1)
23 (pushnew :thread-support *features*))
26 (error "This implementation is unsupported.")
28 (defsystem :bordeaux-threads
29 :author "Stelian Ionescu <sionescu@cddr.org>"
31 :description "Bordeaux Threads makes writing portable multi-threaded apps simple."
32 :version (:read-file-form "version.sexp")
33 :depends-on (:alexandria :global-vars :trivial-features :trivial-garbage
34 #+(and allegro (version>= 9)) (:require "smputil")
35 #+(and allegro (not (version>= 9))) (:require "process")
36 (:feature :corman (:require "threads")))
37 :components ((:static-file "version.sexp")
43 (:file "bordeaux-threads")
44 (:file "impl-abcl" :if-feature :armedbear)
45 (:file "impl-allegro" :if-feature :allegro)
46 (:file "impl-clasp" :if-feature :clasp)
47 (:file "impl-clisp" :if-feature :clisp)
48 (:file "impl-clozure" :if-feature :openmcl)
49 (:file "impl-cmucl" :if-feature :cmu)
50 (:file "impl-corman" :if-feature :corman)
51 (:file "impl-ecl" :if-feature :ecl)
52 (:file "impl-genera" :if-feature :genera)
53 (:file "impl-mezzano" :if-feature :mezzano)
54 (:file "impl-mkcl" :if-feature :mkcl)
55 (:file "impl-lispworks" :if-feature :lispworks)
56 (:file "impl-mcl" :if-feature :digitool)
57 (:file "impl-sbcl" :if-feature :sbcl)
58 (:file "impl-scl" :if-feature :scl)
59 (:file "impl-lispworks-condition-variables" :if-feature (:and :lispworks
60 (:or :lispworks4 :lispworks5)))
61 (:file "condition-variables" :if-feature :digitool)
62 (:file "default-implementations")))
65 :depends-on ("api-v1")
69 (:file "bordeaux-threads")
70 (:file "timeout-interrupt")
71 (:file "impl-abcl" :if-feature :abcl)
72 (:file "impl-allegro" :if-feature :allegro)
73 (:file "impl-clasp" :if-feature :clasp)
74 (:file "impl-clisp" :if-feature :clisp)
75 (:file "impl-clozure" :if-feature :clozure)
76 (:file "impl-cmucl" :if-feature :cmu)
77 (:file "impl-corman" :if-feature :corman)
78 (:file "impl-ecl" :if-feature :ecl)
79 (:file "impl-genera" :if-feature :genera)
80 (:file "impl-mezzano" :if-feature :mezzano)
81 (:file "impl-mkcl" :if-feature :mkcl)
82 (:file "impl-lispworks" :if-feature :lispworks)
83 (:file "impl-mcl" :if-feature :digitool)
84 (:file "impl-sbcl" :if-feature :sbcl)
85 (:file "impl-scl" :if-feature :scl)
86 (:file "atomics" :if-feature (:not :abcl))
87 (:file "atomics-java" :if-feature :abcl)
90 (:file "api-semaphores")
91 (:file "impl-condition-variables-semaphores"
93 (:file "api-condition-variables"))))
94 :in-order-to ((test-op (test-op :bordeaux-threads/test))))
96 (defsystem :bordeaux-threads/test
97 :author "Stelian Ionescu <sionescu@cddr.org>"
98 :description "Bordeaux Threads test suite."
100 :version (:read-file-form "version.sexp")
101 :depends-on (:bordeaux-threads :fiveam)
104 :components ((:file "tests-v1")
106 (:file "not-implemented")
108 :perform (test-op (o c)
109 (symbol-call :5am :run! :bordeaux-threads)
110 (symbol-call :5am :run! :bordeaux-threads-2)))