Add socket option ICMP_FILTER and relative FFI enums
[iolib.git] / src / iolib.multiplex.asd
blobb23dca5c4b5d756b2cb44090cc609afbc017e8bb
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 #.(with-open-file (f (merge-pathnames "../version.lisp-expr"
8                                                  (or *compile-file-pathname*
9                                                      *load-truename*)))
10                (read f))
11   :licence "MIT"
12   :defsystem-depends-on (:iolib.asdf :iolib.conf)
13   :depends-on (:iolib.base :iolib.syscalls :cffi)
14   :default-component-class :iolib-source-file
15   :pathname "multiplex/"
16   :components
17   ((:file "pkgdcl")
19    ;; Scheduler
20    (:file "utils" :depends-on ("pkgdcl"))
21    (:file "timers" :depends-on ("pkgdcl"))
22    (:file "queue" :depends-on ("pkgdcl"))
23    (:file "scheduler" :depends-on ("pkgdcl" "timers" "queue"))
25    ;; Event loop
26    (:file "fd-entry" :depends-on ("pkgdcl" "timers"))
27    (:file "multiplexer" :depends-on ("pkgdcl" "utils" "fd-entry"))
28    (:file "event-loop" :depends-on ("pkgdcl" "timers" "queue" "scheduler"
29                                     "fd-entry" "multiplexer"))
31    ;; FD wait
32    (:file "fd-wait" :depends-on ("pkgdcl" "utils"))
34    ;; Event sources
35    (:file "backend-select"
36      :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
37    #+linux
38    (:file "backend-epoll"
39      :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
40    #+bsd
41    (:file "backend-kqueue"
42      :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
43    (:file "detect"
44      :depends-on ("pkgdcl" "multiplexer" "backend-select"
45                   #+linux "backend-epoll" #+bsd "backend-kqueue"))))