Add back old defsystems, merely as aliases for the new ones
[iolib.git] / iolib.asd
blob3e017cb3c8d648ae316d6859280907edfa1e105b
1 ;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
3 (asdf:defsystem :iolib/asdf
4   :description "A few ASDF component classes."
5   :author "Stelian Ionescu <sionescu@cddr.org>"
6   :maintainer "Stelian Ionescu <sionescu@cddr.org>"
7   :version (:read-file-form "version.lisp-expr")
8   :licence "MIT"
9   :depends-on (:alexandria)
10   :encoding :utf-8
11   :pathname "src/base/"
12   :components
13   ((:file "asdf")))
15 (asdf:defsystem :iolib/conf
16   :description "Compile-time configuration for IOLib."
17   :author "Stelian Ionescu <sionescu@cddr.org>"
18   :version (:read-file-form "version.lisp-expr")
19   :licence "MIT"
20   :defsystem-depends-on (:iolib/asdf)
21   :around-compile "iolib/asdf:compile-wrapper"
22   :encoding :utf-8
23   :pathname "src/conf/"
24   :components
25   ((:file "pkgdcl")
26    (:file "requires" :depends-on ("pkgdcl"))))
28 (asdf:defsystem :iolib/common-lisp
29   :description "Slightly modified Common Lisp."
30   :maintainer "Stelian Ionescu <sionescu@cddr.org>"
31   :version (:read-file-form "version.lisp-expr")
32   :licence "MIT"
33   :defsystem-depends-on (:iolib/asdf :iolib/conf)
34   :depends-on (:alexandria)
35   :around-compile "iolib/asdf:compile-wrapper"
36   :encoding :utf-8
37   :pathname "src/new-cl/"
38   :components
39   ((:file "conduits")
40    #+scl (:file "scl-gray-streams")
41    (:file "pkgdcl" :depends-on ("conduits" #+scl "scl-gray-streams")
42     :perform
43     (asdf:compile-op :before (o c)
44       (asdf/package:symbol-call :iolib/conf '#:load-gray-streams))
45     :perform
46     (asdf:load-op :before (o c)
47       (asdf/package:symbol-call :iolib/conf '#:load-gray-streams))
48     :perform
49     (asdf:load-source-op :before (o c)
50       (asdf/package:symbol-call :iolib/conf '#:load-gray-streams)))
51    (:file "gray-streams"
52     :depends-on ("pkgdcl" #+scl "scl-gray-streams"))
53    (:file "definitions" :depends-on ("pkgdcl"))
54    (:file "types" :depends-on ("pkgdcl"))))
56 (asdf:defsystem :iolib/base
57   :description "Base IOlib package, used instead of CL."
58   :author "Stelian Ionescu <sionescu@cddr.org>"
59   :maintainer "Stelian Ionescu <sionescu@cddr.org>"
60   :version (:read-file-form "version.lisp-expr")
61   :licence "MIT"
62   :defsystem-depends-on (:iolib/asdf :iolib/conf)
63   :depends-on (:iolib/common-lisp :alexandria :split-sequence)
64   :around-compile "iolib/asdf:compile-wrapper"
65   :encoding :utf-8
66   :pathname "src/base/"
67   :components
68   ((:file "pkgdcl")
69    (:file "return-star" :depends-on ("pkgdcl"))
70    (:file "types" :depends-on ("pkgdcl" "return-star"))
71    (:file "debug" :depends-on ("pkgdcl" "return-star"))
72    (:file "conditions" :depends-on ("pkgdcl" "return-star"))
73    (:file "defalias" :depends-on ("pkgdcl" "return-star"))
74    (:file "deffoldable" :depends-on ("pkgdcl" "return-star"))
75    (:file "defobsolete" :depends-on ("pkgdcl" "return-star"))
76    (:file "reader" :depends-on ("pkgdcl" "return-star" "conditions"))
77    (:file "sequence" :depends-on ("pkgdcl" "return-star"))
78    (:file "matching" :depends-on ("pkgdcl" "return-star"))
79    (:file "time" :depends-on ("pkgdcl" "return-star"))
80    (:file "dynamic-buffer" :depends-on ("pkgdcl" "return-star" "sequence"))))
82 (asdf:defsystem :iolib/grovel
83   :description "The CFFI Groveller"
84   :author "Dan Knapp <dankna@accela.net>"
85   :defsystem-depends-on (:iolib/asdf :iolib/conf)
86   :depends-on (:alexandria :cffi :iolib/asdf :iolib/conf)
87   :around-compile "iolib/asdf:compile-wrapper"
88   :licence "MIT"
89   :encoding :utf-8
90   :pathname "src/grovel/"
91   :components
92   ((:file "package")
93    (:file "invoke")
94    (:static-file "grovel-common.h")
95    (:file "grovel")
96    (:file "asdf"))
97   :serial t
98   :perform (asdf:compile-op :before (o c)
99              #+allegro (require "osi"))
100   :perform (asdf:load-op :before (o c)
101              #+allegro (require "osi"))
102   :perform (asdf:load-source-op :before (o c)
103              #+allegro (require "osi")))
105 (asdf:defsystem :iolib/syscalls
106   :description "Syscalls and foreign types."
107   :maintainer "Stelian Ionescu <sionescu@cddr.org>"
108   :version (:read-file-form "version.lisp-expr")
109   :licence "MIT"
110   :defsystem-depends-on (:iolib/asdf :iolib/conf :iolib/grovel)
111   :depends-on (:trivial-features :cffi :iolib/base :iolib/grovel)
112   :around-compile "iolib/asdf:compile-wrapper"
113   :encoding :utf-8
114   :pathname "src/syscalls/"
115   :components
116   ((:file "pkgdcl")
117    #+unix
118    (:file "syscall-path-strings" :pathname "unix-syscall-path-strings")
119    ;; Platform-specific files
120    (:iolib-grovel-file "ffi-types" :pathname #+unix "ffi-types-unix")
121    (:file "conditions")
122    (:file "os-conditions" :pathname #+unix "os-conditions-unix")
123    (:file "designators")
124    (:file "early")
125    (:file "ffi-functions" :pathname #+unix "ffi-functions-unix"))
126   :serial t)
128 (asdf:defsystem :iolib/multiplex
129   :description "I/O multiplexing library."
130   :author "Stelian Ionescu <sionescu@cddr.org>"
131   :maintainer "Stelian Ionescu <sionescu@cddr.org>"
132   :version (:read-file-form "version.lisp-expr")
133   :licence "MIT"
134   :defsystem-depends-on (:iolib/asdf :iolib/conf)
135   :depends-on (:iolib/base :iolib/syscalls :cffi)
136   :around-compile "iolib/asdf:compile-wrapper"
137   :encoding :utf-8
138   :pathname "src/multiplex/"
139   :components
140   ((:file "pkgdcl")
142    ;; Scheduler
143    (:file "utils" :depends-on ("pkgdcl"))
144    (:file "timers" :depends-on ("pkgdcl"))
145    (:file "queue" :depends-on ("pkgdcl"))
146    (:file "scheduler" :depends-on ("pkgdcl" "timers" "queue"))
148    ;; Event loop
149    (:file "fd-entry" :depends-on ("pkgdcl" "timers"))
150    (:file "multiplexer" :depends-on ("pkgdcl" "utils" "fd-entry"))
151    (:file "event-loop" :depends-on ("pkgdcl" "timers" "queue" "scheduler"
152                                              "fd-entry" "multiplexer"))
154    ;; FD wait
155    (:file "fd-wait" :depends-on ("pkgdcl" "utils"))
157    ;; Event sources
158    (:file "backend-select"
159     :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
160    #+linux
161    (:file "backend-epoll"
162     :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
163    #+bsd
164    (:file "backend-kqueue"
165     :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
166    (:file "detect"
167     :depends-on ("pkgdcl" "multiplexer" "backend-select"
168                           #+linux "backend-epoll" #+bsd "backend-kqueue"))))
170 (asdf:defsystem :iolib/streams
171   :description "Gray streams."
172   :maintainer "Stelian Ionescu <sionescu@cddr.org>"
173   :version (:read-file-form "version.lisp-expr")
174   :licence "MIT"
175   :defsystem-depends-on (:iolib/asdf :iolib/conf)
176   :depends-on (:iolib/base :iolib/multiplex :cffi)
177   :around-compile "iolib/asdf:compile-wrapper"
178   :encoding :utf-8
179   :pathname "src/streams/gray/"
180   :components
181   ((:file "pkgdcl")
182    (:file "classes" :depends-on ("pkgdcl"))
183    (:file "conditions" :depends-on ("pkgdcl"))
184    (:file "buffer" :depends-on ("pkgdcl" "classes"))
185    (:file "fd-mixin" :depends-on ("pkgdcl" "classes"))
186    (:file "io-helpers"
187      :depends-on ("pkgdcl" "classes" "conditions" "buffer" "fd-mixin"))
188    (:file "gray-stream-methods"
189      :depends-on ("pkgdcl" "classes" "conditions" "buffer" "fd-mixin"
190                   "io-helpers"))))
192 (asdf:defsystem :iolib/sockets
193   :description "Socket library."
194   :author "Stelian Ionescu <sionescu@cddr.org>"
195   :maintainer "Stelian Ionescu <sionescu@cddr.org>"
196   :version (:read-file-form "version.lisp-expr")
197   :licence "MIT"
198   :defsystem-depends-on (:iolib/asdf :iolib/conf :iolib/grovel)
199   :depends-on (:iolib/base :iolib/syscalls :iolib/streams
200                :babel :cffi :iolib/grovel :bordeaux-threads
201                :idna)
202   :around-compile "iolib/asdf:compile-wrapper"
203   :encoding :utf-8
204   :pathname "src/sockets/"
205   :components
206   ((:file "pkgdcl")
207    (:iolib-grovel-file "grovel" :depends-on ("pkgdcl"))
208    (:file "conditions" :depends-on ("pkgdcl" "grovel"))
209    (:file "bsd" :depends-on ("pkgdcl" "grovel" "conditions"))
210    (:file "common" :depends-on ("pkgdcl" "grovel" "bsd"))
211    (:file "config" :depends-on ("pkgdcl" "grovel" "bsd"))
213    (:file "iface" :depends-on ("pkgdcl" "grovel" "bsd" "common"))
215    (:file "address" :depends-on ("pkgdcl" "common"))
216    (:file "address-predicates" :depends-on ("pkgdcl" "common" "address"))
217    (:file "address-arithmetic" :depends-on ("pkgdcl" "common" "address" "address-predicates"))
219    (:file "base-sockets" :depends-on ("pkgdcl" "bsd" "common" "config"))
220    (:file "socket-options"
221      :depends-on ("pkgdcl" "grovel" "conditions" "bsd" "common" "config" "base-sockets"))
223    ;; Local file configuration (/etc/hosts etc...)
224    (:file "etc-files" :pathname "namedb/etc-files"
225      :depends-on ("pkgdcl"))
226    (:file "file-monitor" :pathname "namedb/file-monitor"
227      :depends-on ("pkgdcl"))
228    (:file "protocols" :pathname "namedb/protocols"
229      :depends-on ("pkgdcl" "common" "etc-files" "file-monitor"))
230    (:file "services" :pathname "namedb/services"
231      :depends-on ("pkgdcl" "common" "etc-files" "file-monitor"))
232    (:file "hosts" :pathname "namedb/hosts"
233      :depends-on ("pkgdcl" "address" "address-predicates" "etc-files" "file-monitor"))
235    (:file "socket-methods"
236      :depends-on ("pkgdcl" "grovel" "conditions" "bsd" "common" "config"
237                   "address" "address-predicates" "base-sockets" "socket-options"
238                   "protocols" "services"))
239    (:file "make-socket"
240      :depends-on ("pkgdcl" "grovel" "common" "config" "address" "address-predicates"
241                   "base-sockets" "socket-options" "services" "socket-methods"))
243    ;; DNS client
244    (:file "dns-common" :pathname "dns/common"
245      :depends-on ("pkgdcl" "common"))
246    (:file "nameservers" :pathname "dns/nameservers"
247      :depends-on ("pkgdcl" "address" "address-predicates" "etc-files" "file-monitor"))
248    (:file "message":pathname "dns/message"
249      :depends-on ("pkgdcl" "common" "dns-common"))
250    (:file "query" :pathname "dns/query"
251      :depends-on ("pkgdcl" "conditions" "address" "address-predicates"
252                   "socket-options" "socket-methods" "make-socket" "dns-common"
253                   "nameservers" "message"))
254    (:file "dns-conditions" :pathname "dns/conditions"
255      :depends-on ("pkgdcl"))
256    (:file "lookup" :pathname "dns/lookup"
257      :depends-on ("pkgdcl" "address" "address-predicates" "file-monitor" "hosts"
258                   "nameservers" "message" "query" "dns-conditions"))))
260 (asdf:defsystem :iolib/trivial-sockets
261   :description "Trivial-Sockets compatibility layer."
262   :author "Dan Barlow <dan@telent.net>"
263   :maintainer "Stelian Ionescu <sionescu@cddr.org>"
264   :version (:read-file-form "version.lisp-expr")
265   :licence "MIT"
266   :defsystem-depends-on (:iolib/asdf :iolib/conf)
267   :depends-on (:iolib/base :iolib/sockets)
268   :around-compile "iolib/asdf:compile-wrapper"
269   :encoding :utf-8
270   :pathname "src/sockets/"
271   :components
272   ((:file "trivial-sockets")))
274 (asdf:defsystem :iolib/pathnames
275   :description "New pathnames."
276   :author "Stelian Ionescu <sionescu@cddr.org>"
277   :version (:read-file-form "version.lisp-expr")
278   :licence "MIT"
279   :defsystem-depends-on (:iolib/asdf :iolib/conf)
280   :depends-on (:iolib/base :iolib/syscalls)
281   :around-compile "iolib/asdf:compile-wrapper"
282   :encoding :utf-8
283   :pathname "src/pathnames/"
284   :components
285   ((:file "pkgdcl")
286    (:file "file-path")
287    (:file "file-path-os" :pathname #+unix "file-path-unix"))
288   :serial t)
290 (asdf:defsystem :iolib/os
291   :description "OS interface."
292   :maintainer "Stelian Ionescu <sionescu@cddr.org>"
293   :version (:read-file-form "version.lisp-expr")
294   :licence "MIT"
295   :defsystem-depends-on (:iolib/asdf :iolib/conf :iolib/grovel)
296   :depends-on (:iolib/base :iolib/grovel :iolib/syscalls
297                :iolib/streams :iolib/pathnames)
298   :around-compile "iolib/asdf:compile-wrapper"
299   :encoding :utf-8
300   :pathname "src/os/"
301   :components
302   ((:file "pkgdcl")
303    (:file "os" :pathname #+unix "os-unix")
304    (:iolib-grovel-file "ffi-types" :pathname #+unix "ffi-types-unix")
305    (:file "ffi-functions" :pathname #+unix "ffi-functions-unix")
306    (:file "create-process" :pathname #+unix "create-process-unix"))
307   :serial t)
309 (asdf:defsystem :iolib/tests
310   :description "IOLib test suite."
311   :author "Luis Oliveira <loliveira@common-lisp.net>"
312   :version (:read-file-form "version.lisp-expr")
313   :licence "MIT"
314   :defsystem-depends-on (:iolib/base)
315   :depends-on (:fiveam :iolib :iolib/pathnames)
316   :around-compile "iolib/asdf:compile-wrapper"
317   :encoding :utf-8
318   :pathname "tests/"
319   :components
320   ((:file "pkgdcl")
321    (:file "defsuites" :depends-on ("pkgdcl"))
322    (:file "base" :depends-on ("pkgdcl" "defsuites"))
323    (:file "file-paths-os" :depends-on ("pkgdcl" "defsuites")
324      :pathname #+unix "file-paths-unix")
325    (:file "events" :depends-on ("pkgdcl" "defsuites"))
326    (:file "streams" :depends-on ("pkgdcl" "defsuites"))
327    (:file "sockets" :depends-on ("pkgdcl" "defsuites"))))
329 (defmethod asdf:perform ((o asdf:test-op)
330                          (c (eql (asdf:find-system :iolib/tests))))
331   (asdf:load-system :iolib/tests)
332   (asdf/package:symbol-call :5am :run! :iolib))
334 (asdf:defsystem :iolib
335   :description "I/O library."
336   :author "Stelian Ionescu <sionescu@cddr.org>"
337   :maintainer "Stelian Ionescu <sionescu@cddr.org>"
338   :version (:read-file-form "version.lisp-expr")
339   :licence "MIT"
340   :defsystem-depends-on (:iolib/asdf :iolib/conf)
341   :depends-on (:iolib/base :iolib/multiplex :iolib/streams :iolib/sockets)
342   :around-compile "iolib/asdf:compile-wrapper"
343   :in-order-to ((asdf:test-op (asdf:test-op :iolib/tests)))
344   :encoding :utf-8
345   :pathname "src/iolib/"
346   :components ((:file "pkgdcl")))
348 (asdf:defsystem :iolib/examples
349   :version (:read-file-form "version.lisp-expr")
350   :defsystem-depends-on (:iolib/base)
351   :depends-on (:iolib :bordeaux-threads)
352   :around-compile "iolib/asdf:compile-wrapper"
353   :pathname "examples/"
354   :components ((:file "package")
355                (:file "ex1-client" :depends-on ("package"))
356                (:file "ex2-client" :depends-on ("package"))
357                (:file "ex3-client" :depends-on ("package"))
358                (:file "ex4-client" :depends-on ("package"))
359                (:file "ex5a-client" :depends-on ("package"))
360                (:file "ex5b-client" :depends-on ("package"))
362                (:file "ex1-server" :depends-on ("package"))
363                (:file "ex2-server" :depends-on ("package"))
364                (:file "ex3-server" :depends-on ("package"))
365                (:file "ex4-server" :depends-on ("package"))
366                (:file "ex5-server" :depends-on ("package"))
367                (:file "ex6-server" :depends-on ("package"))
368                (:file "ex7-buffer" :depends-on ("package"))
369                (:file "ex7-server" :depends-on ("package" "ex7-buffer"))
370                (:file "ex8-buffer" :depends-on ("package"))
371                (:file "ex8-server" :depends-on ("package" "ex8-buffer"))))