62bc4dc9cf338f0af963cd7d8ad925e6435a40a8
[iolib.git] / src / iolib.multiplex.asd
blob62bc4dc9cf338f0af963cd7d8ad925e6435a40a8
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   :around-compile "iolib.asdf:compile-wrapper"
12   :encoding :utf-8
13   :pathname "multiplex/"
14   :components
15   ((:file "pkgdcl")
17    ;; Scheduler
18    (:file "utils" :depends-on ("pkgdcl"))
19    (:file "timers" :depends-on ("pkgdcl"))
20    (:file "queue" :depends-on ("pkgdcl"))
21    (:file "scheduler" :depends-on ("pkgdcl" "timers" "queue"))
23    ;; Event loop
24    (:file "fd-entry" :depends-on ("pkgdcl" "timers"))
25    (:file "multiplexer" :depends-on ("pkgdcl" "utils" "fd-entry"))
26    (:file "event-loop" :depends-on ("pkgdcl" "timers" "queue" "scheduler"
27                                     "fd-entry" "multiplexer"))
29    ;; FD wait
30    (:file "fd-wait" :depends-on ("pkgdcl" "utils"))
32    ;; Event sources
33    (:file "backend-select"
34      :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
35    #+linux
36    (:file "backend-epoll"
37      :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
38    #+bsd
39    (:file "backend-kqueue"
40      :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
41    (:file "detect"
42      :depends-on ("pkgdcl" "multiplexer" "backend-select"
43                   #+linux "backend-epoll" #+bsd "backend-kqueue"))))