1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; indent-tabs-mode: nil -*-
3 (eval-when (:compile-toplevel :load-toplevel :execute)
4 (oos 'load-op :cffi-grovel))
6 (defsystem :iolib.sockets
7 :description "Socket library."
8 :author "Stelian Ionescu <sionescu@cddr.org>"
9 :maintainer "Stelian Ionescu <sionescu@cddr.org>"
11 :depends-on (:iolib.base :iolib.syscalls :iolib.streams
12 :babel :cffi :cffi-grovel :bordeaux-threads)
13 :pathname (merge-pathnames #p"sockets/" *load-truename*)
16 (cffi-grovel:grovel-file "grovel" :depends-on ("pkgdcl"))
17 (:file "conditions" :depends-on ("pkgdcl" "grovel"))
18 (:file "bsd" :depends-on ("pkgdcl" "grovel" "conditions"))
19 (:file "common" :depends-on ("pkgdcl" "grovel" "bsd"))
20 (:file "config" :depends-on ("pkgdcl" "grovel" "bsd"))
22 (:file "iface" :depends-on ("pkgdcl" "grovel" "bsd" "common"))
24 (:file "address" :depends-on ("pkgdcl" "common"))
25 (:file "address-predicates" :depends-on ("pkgdcl" "common" "address"))
26 (:file "address-arithmetic" :depends-on ("pkgdcl" "common" "address" "address-predicates"))
28 (:file "base-sockets" :depends-on ("pkgdcl" "bsd" "config"))
29 (:file "socket-options"
30 :depends-on ("pkgdcl" "grovel" "conditions" "bsd" "common" "config" "base-sockets"))
32 ;; Local file configuration (/etc/hosts etc...)
33 (:file "etc-files" :pathname #p"namedb/etc-files"
34 :depends-on ("pkgdcl"))
35 (:file "file-monitor" :pathname #p"namedb/file-monitor"
36 :depends-on ("pkgdcl"))
37 (:file "protocols" :pathname #p"namedb/protocols"
38 :depends-on ("pkgdcl" "common" "etc-files" "file-monitor"))
39 (:file "services" :pathname #p"namedb/services"
40 :depends-on ("pkgdcl" "common" "etc-files" "file-monitor"))
41 (:file "hosts" :pathname #p"namedb/hosts"
42 :depends-on ("pkgdcl" "address" "address-predicates" "etc-files" "file-monitor"))
44 (:file "socket-methods"
45 :depends-on ("pkgdcl" "grovel" "conditions" "bsd" "common" "config"
46 "address" "address-predicates" "base-sockets" "socket-options"
47 "protocols" "services"))
49 :depends-on ("pkgdcl" "grovel" "common" "config" "address" "address-predicates"
50 "socket-options" "services" "socket-methods"))
53 (:file "dns-common" :pathname #p"dns/common"
54 :depends-on ("pkgdcl" "common"))
55 (:file "nameservers" :pathname #p"dns/nameservers"
56 :depends-on ("pkgdcl" "address" "etc-files" "file-monitor"))
57 (:file "dynamic-buffer" :pathname #p"dns/dynamic-buffer"
58 :depends-on ("pkgdcl"))
59 (:file "message":pathname #p"dns/message"
60 :depends-on ("pkgdcl" "common" "dns-common" "dynamic-buffer"))
61 (:file "query" :pathname #p"dns/query"
62 :depends-on ("pkgdcl" "conditions" "address" "address-predicates"
63 "socket-options" "socket-methods" "make-socket" "dns-common"
64 "nameservers" "dynamic-buffer" "message"))
65 (:file "dns-conditions" :pathname #p"dns/conditions"
66 :depends-on ("pkgdcl"))
67 (:file "lookup" :pathname #p"dns/lookup"
68 :depends-on ("pkgdcl" "address" "address-predicates" "file-monitor" "hosts"
69 "nameservers" "message" "query" "dns-conditions"))))