Improve RETURN*.
[iolib.git] / io.multiplex.asd
blob7a5794fa91d46a4887cd4d1744e5c2f6fb529322
1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; indent-tabs-mode: nil -*-
3 (in-package :common-lisp-user)
5 ;;; Need trivial-features to correctly handle the reader conditionals
6 ;;; in the system definition form.
7 (eval-when (:load-toplevel :execute)
8   (asdf:oos 'asdf:load-op :cffi-grovel)
9   (asdf:oos 'asdf:load-op :trivial-features))
11 (asdf:defsystem :io.multiplex
12   :description "I/O multiplexing library."
13   :author "Stelian Ionescu <sionescu@common-lisp.net>"
14   :maintainer "Stelian Ionescu <sionescu@common-lisp.net>"
15   :licence "MIT"
16   :depends-on (:osicat :alexandria :series :trivial-gray-streams)
17   :pathname (merge-pathnames #p"io.multiplex/" *load-truename*)
18   :components
19   ((:file "pkgdcl")
21    ;; Foreign definitions
22    (cffi-grovel:grovel-file "grovel" :depends-on ("pkgdcl"))
23    (:file "foreign-unix" :depends-on ("pkgdcl" "grovel"))
24    #+linux (:file "foreign-linux" :depends-on ("pkgdcl" "grovel"))
25    #+bsd (:file "foreign-bsd" :depends-on ("pkgdcl" "grovel"))
27    ;; Scheduler
28    (:file "time" :depends-on ("pkgdcl"))
29    (:file "utils" :depends-on ("pkgdcl" "grovel" "time"))
30    (:file "timers" :depends-on ("pkgdcl" "time"))
31    (:file "queue" :depends-on ("pkgdcl"))
32    (:file "scheduler" :depends-on ("pkgdcl" "timers" "queue"))
34    ;; Event loop
35    (:file "fd-entry" :depends-on ("pkgdcl" "timers"))
36    (:file "multiplexer" :depends-on ("pkgdcl" "utils" "fd-entry"))
37    (:file "event-loop" :depends-on ("pkgdcl" "time" "timers" "queue"
38                                     "scheduler" "fd-entry" "multiplexer"))
40    ;; FD wait
41    (:file "fd-wait" :depends-on ("pkgdcl" "grovel" "foreign-unix" "utils"))
43    ;; Event sources
44    (:file "select" :depends-on ("pkgdcl" "utils" "grovel" "foreign-unix"
45                                 "fd-entry" "multiplexer"))
46    #+linux (:file "epoll" :depends-on ("pkgdcl" "grovel" "foreign-linux"
47                                        "utils" "fd-entry" "multiplexer"))
48    #+bsd (:file "kqueue" :depends-on ("pkgdcl" "grovel" "foreign-bsd"
49                                       "utils" "fd-entry" "multiplexer"))
50    (:file "detect" :depends-on ("pkgdcl" "multiplexer" "select"
51                                 #+linux "epoll" #+bsd "kqueue"))))