/
/cl-smoke.smoke.asd
1 (defsystem :cl-smoke.smoke
2 :name :cl-smoke.smoke
3 :version (0 0 1)
4 :author "Tobias Rautenkranz"
5 :license "GPL with linking exception"
6 :description "Smoke bindings. Provides the base functionality to
7 implement bindings using the various Smoke modules."
8 :depends-on
9 (:cffi :closer-mop :alexandria :trivial-garbage :bordeaux-threads
10 #+(and sbcl unix) :sb-posix)
11
12 :components
13 ((:module :src :components
14 ((:file "package")
15 (:file "using-type" :depends-on ("package"))
16 (:file "overload-resolution" :depends-on ("package" "smoke" "using-type"))
17 #+sbcl (:file "sb-optimize" :depends-on ("overload-resolution"))
18 (:file "smoke" :depends-on (:libsmoke :objects "clos"))
19 (:file "object-map" :depends-on (:objects :utils))
20 (:file "class-map" :depends-on ("package"))
21 (:file "bindings" :depends-on ("package" :utils))
22 (:file "cxx-method" :depends-on ("package"))
23 (:file "clos" :depends-on (:libsmoke "cxx-method" :objects
24 "object-map" "class-map" "bindings"))
25 (:file "smoke-to-clos" :depends-on ("clos" "overload-resolution"))
26 (:module :objects
27 :serial t
28 :depends-on (:libsmoke :utils "bindings")
29 :components
30 ((:file "object") (:file "enum" :depends-on ("object"))
31 (:file "type" :depends-on ("enum"))
32 (:file "method" :depends-on ("type"))
33 (:file "class" :depends-on ("method"))
34 (:file "instance" :depends-on ("class"))
35 (:file "stack" :depends-on ("instance"))))
36 (:module :libsmoke
37 :depends-on ("package")
38 :components
39 ((:file "smoke")
40 (:file "class" :depends-on ("smoke"))
41 (:file "stack" :depends-on ("class"))
42 (:file "method" :depends-on ("stack"))
43 (:file "type" :depends-on ("method"))))
44 (:module :utils
45 :depends-on ("package")
46 :components
47 ((:file "get-value")
48 #+(and sbcl unix) (:file "sbcl-bundle")
49 (:module :image :components
50 ((:file "image" :depends-on (:impl))
51 (:module :impl
52 :components
53 (#+sbcl (:file "sbcl")
54 #+openmcl (:file "ccl")
55 #+(not (or sbcl openmcl))
56 (:file "not-implemented")))))))))))
57
58 (defmethod perform ((operation test-op) (c (eql (find-system :cl-smoke.smoke))))
59 (operate 'asdf:load-op :cl-smoke.qt.tests)
60 (operate 'asdf:test-op :cl-smoke.qt.tests))