8aaae597ff66bcd8223f8b2d8bb873f1c4249906
[iolib.git] / src / iolib.multiplex.asd
blob8aaae597ff66bcd8223f8b2d8bb873f1c4249906
1 ;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
3 (asdf:defsystem :iolib.multiplex
4   :description "I/O multiplexing library."
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   :defsystem-depends-on (:iolib.asdf :iolib.conf)
10   :depends-on (:iolib.base :iolib.syscalls :cffi)
11   :default-component-class :iolib-source-file
12   :pathname "multiplex/"
13   :components
14   ((:file "pkgdcl")
16    ;; Scheduler
17    (:file "utils" :depends-on ("pkgdcl"))
18    (:file "timers" :depends-on ("pkgdcl"))
19    (:file "queue" :depends-on ("pkgdcl"))
20    (:file "scheduler" :depends-on ("pkgdcl" "timers" "queue"))
22    ;; Event loop
23    (:file "fd-entry" :depends-on ("pkgdcl" "timers"))
24    (:file "multiplexer" :depends-on ("pkgdcl" "utils" "fd-entry"))
25    (:file "event-loop" :depends-on ("pkgdcl" "timers" "queue" "scheduler"
26                                     "fd-entry" "multiplexer"))
28    ;; FD wait
29    (:file "fd-wait" :depends-on ("pkgdcl" "utils"))
31    ;; Event sources
32    (:file "backend-select"
33      :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
34    #+linux
35    (:file "backend-epoll"
36      :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
37    #+bsd
38    (:file "backend-kqueue"
39      :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
40    (:file "detect"
41      :depends-on ("pkgdcl" "multiplexer" "backend-select"
42                   #+linux "backend-epoll" #+bsd "backend-kqueue"))))