Better %SYS-GETTID.
[iolib.git] / io.multiplex.asd
blobad6be8212b7225f9331431358f5d1b4c1afe0877
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; indent-tabs-mode: nil -*-
3 (in-package :common-lisp-user)
5 (asdf:defsystem :io.multiplex
6   :description "I/O multiplexing library."
7   :author "Stelian Ionescu <sionescu@common-lisp.net>"
8   :maintainer "Stelian Ionescu <sionescu@common-lisp.net>"
9   :licence "MIT"
10   :depends-on (:iolib.base :iolib.syscalls :cffi)
11   :pathname (merge-pathnames #p"io.multiplex/" *load-truename*)
12   :components
13   ((:file "pkgdcl")
15    ;; Scheduler
16    (:file "time" :depends-on ("pkgdcl"))
17    (:file "utils" :depends-on ("pkgdcl" "time"))
18    (:file "timers" :depends-on ("pkgdcl" "time"))
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" "time" "timers" "queue"
26                                     "scheduler" "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"))))