--- /dev/null
+;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
+
+(asdf:defsystem :iolib/asdf
+ :description "A few ASDF component classes."
+ :author "Stelian Ionescu <sionescu@cddr.org>"
+ :maintainer "Stelian Ionescu <sionescu@cddr.org>"
+ :version (:read-file-form "version.lisp-expr")
+ :licence "MIT"
+ :depends-on (:alexandria)
+ :encoding :utf-8
+ :pathname "src/base/"
+ :components
+ ((:file "asdf")))
+
+(asdf:defsystem :iolib/conf
+ :description "Compile-time configuration for IOLib."
+ :author "Stelian Ionescu <sionescu@cddr.org>"
+ :version (:read-file-form "version.lisp-expr")
+ :licence "MIT"
+ :defsystem-depends-on (:iolib/asdf)
+ :around-compile "iolib.asdf:compile-wrapper"
+ :encoding :utf-8
+ :pathname "src/conf/"
+ :components
+ ((:file "pkgdcl")
+ (:file "requires" :depends-on ("pkgdcl"))))
+
+(asdf:defsystem :iolib/common-lisp
+ :description "Slightly modified Common Lisp."
+ :maintainer "Stelian Ionescu <sionescu@cddr.org>"
+ :version (:read-file-form "version.lisp-expr")
+ :licence "MIT"
+ :defsystem-depends-on (:iolib/asdf :iolib/conf)
+ :depends-on (:alexandria)
+ :around-compile "iolib.asdf:compile-wrapper"
+ :encoding :utf-8
+ :pathname "src/new-cl/"
+ :components
+ ((:file "conduits")
+ #+scl (:file "scl-gray-streams")
+ (:file "pkgdcl" :depends-on ("conduits" #+scl "scl-gray-streams")
+ :perform
+ (asdf:compile-op :before (o c)
+ (asdf/package:symbol-call :iolib/conf '#:load-gray-streams))
+ :perform
+ (asdf:load-op :before (o c)
+ (asdf/package:symbol-call :iolib/conf '#:load-gray-streams))
+ :perform
+ (asdf:load-source-op :before (o c)
+ (asdf/package:symbol-call :iolib/conf '#:load-gray-streams)))
+ (:file "gray-streams"
+ :depends-on ("pkgdcl" #+scl "scl-gray-streams"))
+ (:file "definitions" :depends-on ("pkgdcl"))
+ (:file "types" :depends-on ("pkgdcl"))))
+
+(asdf:defsystem :iolib/base
+ :description "Base IOlib package, used instead of CL."
+ :author "Stelian Ionescu <sionescu@cddr.org>"
+ :maintainer "Stelian Ionescu <sionescu@cddr.org>"
+ :version (:read-file-form "version.lisp-expr")
+ :licence "MIT"
+ :defsystem-depends-on (:iolib/asdf :iolib/conf)
+ :depends-on (:iolib/common-lisp :alexandria :split-sequence)
+ :around-compile "iolib.asdf:compile-wrapper"
+ :encoding :utf-8
+ :pathname "src/base/"
+ :components
+ ((:file "pkgdcl")
+ (:file "return-star" :depends-on ("pkgdcl"))
+ (:file "types" :depends-on ("pkgdcl" "return-star"))
+ (:file "debug" :depends-on ("pkgdcl" "return-star"))
+ (:file "conditions" :depends-on ("pkgdcl" "return-star"))
+ (:file "defalias" :depends-on ("pkgdcl" "return-star"))
+ (:file "deffoldable" :depends-on ("pkgdcl" "return-star"))
+ (:file "defobsolete" :depends-on ("pkgdcl" "return-star"))
+ (:file "reader" :depends-on ("pkgdcl" "return-star" "conditions"))
+ (:file "sequence" :depends-on ("pkgdcl" "return-star"))
+ (:file "matching" :depends-on ("pkgdcl" "return-star"))
+ (:file "time" :depends-on ("pkgdcl" "return-star"))
+ (:file "dynamic-buffer" :depends-on ("pkgdcl" "return-star" "sequence"))))
+
+(asdf:defsystem :iolib/grovel
+ :description "The CFFI Groveller"
+ :author "Dan Knapp <dankna@accela.net>"
+ :defsystem-depends-on (:iolib/asdf :iolib/conf)
+ :depends-on (:alexandria :cffi :iolib/asdf :iolib/conf)
+ :around-compile "iolib.asdf:compile-wrapper"
+ :licence "MIT"
+ :encoding :utf-8
+ :pathname "src/grovel/"
+ :components
+ ((:file "package")
+ (:file "invoke")
+ (:static-file "grovel-common.h")
+ (:file "grovel")
+ (:file "asdf"))
+ :serial t
+ :perform (asdf:compile-op :before (o c)
+ #+allegro (require "osi"))
+ :perform (asdf:load-op :before (o c)
+ #+allegro (require "osi"))
+ :perform (asdf:load-source-op :before (o c)
+ #+allegro (require "osi")))
+
+(asdf:defsystem :iolib/syscalls
+ :description "Syscalls and foreign types."
+ :maintainer "Stelian Ionescu <sionescu@cddr.org>"
+ :version (:read-file-form "version.lisp-expr")
+ :licence "MIT"
+ :defsystem-depends-on (:iolib/asdf :iolib/conf :iolib/grovel)
+ :depends-on (:trivial-features :cffi :iolib/base :iolib/grovel)
+ :around-compile "iolib.asdf:compile-wrapper"
+ :encoding :utf-8
+ :pathname "src/syscalls/"
+ :components
+ ((:file "pkgdcl")
+ #+unix
+ (:file "syscall-path-strings" :pathname "unix-syscall-path-strings")
+ ;; Platform-specific files
+ (:iolib-grovel-file "ffi-types" :pathname #+unix "ffi-types-unix")
+ (:file "conditions")
+ (:file "os-conditions" :pathname #+unix "os-conditions-unix")
+ (:file "designators")
+ (:file "early")
+ (:file "ffi-functions" :pathname #+unix "ffi-functions-unix"))
+ :serial t)
+
+(asdf:defsystem :iolib/multiplex
+ :description "I/O multiplexing library."
+ :author "Stelian Ionescu <sionescu@cddr.org>"
+ :maintainer "Stelian Ionescu <sionescu@cddr.org>"
+ :version (:read-file-form "version.lisp-expr")
+ :licence "MIT"
+ :defsystem-depends-on (:iolib/asdf :iolib/conf)
+ :depends-on (:iolib/base :iolib/syscalls :cffi)
+ :around-compile "iolib.asdf:compile-wrapper"
+ :encoding :utf-8
+ :pathname "src/multiplex/"
+ :components
+ ((:file "pkgdcl")
+
+ ;; Scheduler
+ (:file "utils" :depends-on ("pkgdcl"))
+ (:file "timers" :depends-on ("pkgdcl"))
+ (:file "queue" :depends-on ("pkgdcl"))
+ (:file "scheduler" :depends-on ("pkgdcl" "timers" "queue"))
+
+ ;; Event loop
+ (:file "fd-entry" :depends-on ("pkgdcl" "timers"))
+ (:file "multiplexer" :depends-on ("pkgdcl" "utils" "fd-entry"))
+ (:file "event-loop" :depends-on ("pkgdcl" "timers" "queue" "scheduler"
+ "fd-entry" "multiplexer"))
+
+ ;; FD wait
+ (:file "fd-wait" :depends-on ("pkgdcl" "utils"))
+
+ ;; Event sources
+ (:file "backend-select"
+ :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
+ #+linux
+ (:file "backend-epoll"
+ :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
+ #+bsd
+ (:file "backend-kqueue"
+ :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
+ (:file "detect"
+ :depends-on ("pkgdcl" "multiplexer" "backend-select"
+ #+linux "backend-epoll" #+bsd "backend-kqueue"))))
+
+(asdf:defsystem :iolib/streams
+ :description "Gray streams."
+ :maintainer "Stelian Ionescu <sionescu@cddr.org>"
+ :version (:read-file-form "version.lisp-expr")
+ :licence "MIT"
+ :defsystem-depends-on (:iolib/asdf :iolib/conf)
+ :depends-on (:iolib/base :iolib/multiplex :cffi)
+ :around-compile "iolib.asdf:compile-wrapper"
+ :encoding :utf-8
+ :pathname "src/streams/gray/"
+ :components
+ ((:file "pkgdcl")
+ (:file "classes" :depends-on ("pkgdcl"))
+ (:file "conditions" :depends-on ("pkgdcl"))
+ (:file "buffer" :depends-on ("pkgdcl" "classes"))
+ (:file "fd-mixin" :depends-on ("pkgdcl" "classes"))
+ (:file "io-helpers"
+ :depends-on ("pkgdcl" "classes" "conditions" "buffer" "fd-mixin"))
+ (:file "gray-stream-methods"
+ :depends-on ("pkgdcl" "classes" "conditions" "buffer" "fd-mixin"
+ "io-helpers"))))
+
+(asdf:defsystem :iolib/sockets
+ :description "Socket library."
+ :author "Stelian Ionescu <sionescu@cddr.org>"
+ :maintainer "Stelian Ionescu <sionescu@cddr.org>"
+ :version (:read-file-form "version.lisp-expr")
+ :licence "MIT"
+ :defsystem-depends-on (:iolib/asdf :iolib/conf :iolib/grovel)
+ :depends-on (:iolib/base :iolib/syscalls :iolib/streams
+ :babel :cffi :iolib/grovel :bordeaux-threads
+ :idna)
+ :around-compile "iolib.asdf:compile-wrapper"
+ :encoding :utf-8
+ :pathname "src/sockets/"
+ :components
+ ((:file "pkgdcl")
+ (:iolib-grovel-file "grovel" :depends-on ("pkgdcl"))
+ (:file "conditions" :depends-on ("pkgdcl" "grovel"))
+ (:file "bsd" :depends-on ("pkgdcl" "grovel" "conditions"))
+ (:file "common" :depends-on ("pkgdcl" "grovel" "bsd"))
+ (:file "config" :depends-on ("pkgdcl" "grovel" "bsd"))
+
+ (:file "iface" :depends-on ("pkgdcl" "grovel" "bsd" "common"))
+
+ (:file "address" :depends-on ("pkgdcl" "common"))
+ (:file "address-predicates" :depends-on ("pkgdcl" "common" "address"))
+ (:file "address-arithmetic" :depends-on ("pkgdcl" "common" "address" "address-predicates"))
+
+ (:file "base-sockets" :depends-on ("pkgdcl" "bsd" "common" "config"))
+ (:file "socket-options"
+ :depends-on ("pkgdcl" "grovel" "conditions" "bsd" "common" "config" "base-sockets"))
+
+ ;; Local file configuration (/etc/hosts etc...)
+ (:file "etc-files" :pathname "namedb/etc-files"
+ :depends-on ("pkgdcl"))
+ (:file "file-monitor" :pathname "namedb/file-monitor"
+ :depends-on ("pkgdcl"))
+ (:file "protocols" :pathname "namedb/protocols"
+ :depends-on ("pkgdcl" "common" "etc-files" "file-monitor"))
+ (:file "services" :pathname "namedb/services"
+ :depends-on ("pkgdcl" "common" "etc-files" "file-monitor"))
+ (:file "hosts" :pathname "namedb/hosts"
+ :depends-on ("pkgdcl" "address" "address-predicates" "etc-files" "file-monitor"))
+
+ (:file "socket-methods"
+ :depends-on ("pkgdcl" "grovel" "conditions" "bsd" "common" "config"
+ "address" "address-predicates" "base-sockets" "socket-options"
+ "protocols" "services"))
+ (:file "make-socket"
+ :depends-on ("pkgdcl" "grovel" "common" "config" "address" "address-predicates"
+ "base-sockets" "socket-options" "services" "socket-methods"))
+
+ ;; DNS client
+ (:file "dns-common" :pathname "dns/common"
+ :depends-on ("pkgdcl" "common"))
+ (:file "nameservers" :pathname "dns/nameservers"
+ :depends-on ("pkgdcl" "address" "address-predicates" "etc-files" "file-monitor"))
+ (:file "message":pathname "dns/message"
+ :depends-on ("pkgdcl" "common" "dns-common"))
+ (:file "query" :pathname "dns/query"
+ :depends-on ("pkgdcl" "conditions" "address" "address-predicates"
+ "socket-options" "socket-methods" "make-socket" "dns-common"
+ "nameservers" "message"))
+ (:file "dns-conditions" :pathname "dns/conditions"
+ :depends-on ("pkgdcl"))
+ (:file "lookup" :pathname "dns/lookup"
+ :depends-on ("pkgdcl" "address" "address-predicates" "file-monitor" "hosts"
+ "nameservers" "message" "query" "dns-conditions"))))
+
+(asdf:defsystem :iolib/trivial-sockets
+ :description "Trivial-Sockets compatibility layer."
+ :author "Dan Barlow <dan@telent.net>"
+ :maintainer "Stelian Ionescu <sionescu@cddr.org>"
+ :version (:read-file-form "version.lisp-expr")
+ :licence "MIT"
+ :defsystem-depends-on (:iolib/asdf :iolib/conf)
+ :depends-on (:iolib/base :iolib/sockets)
+ :around-compile "iolib.asdf:compile-wrapper"
+ :encoding :utf-8
+ :pathname "src/sockets/"
+ :components
+ ((:file "trivial-sockets")))
+
+(asdf:defsystem :iolib/pathnames
+ :description "New pathnames."
+ :author "Stelian Ionescu <sionescu@cddr.org>"
+ :version (:read-file-form "version.lisp-expr")
+ :licence "MIT"
+ :defsystem-depends-on (:iolib/asdf :iolib/conf)
+ :depends-on (:iolib/base :iolib/syscalls)
+ :around-compile "iolib.asdf:compile-wrapper"
+ :encoding :utf-8
+ :pathname "src/pathnames/"
+ :components
+ ((:file "pkgdcl")
+ (:file "file-path")
+ (:file "file-path-os" :pathname #+unix "file-path-unix"))
+ :serial t)
+
+(asdf:defsystem :iolib/os
+ :description "OS interface."
+ :maintainer "Stelian Ionescu <sionescu@cddr.org>"
+ :version (:read-file-form "version.lisp-expr")
+ :licence "MIT"
+ :defsystem-depends-on (:iolib/asdf :iolib/conf :iolib/grovel)
+ :depends-on (:iolib/base :iolib/grovel :iolib/syscalls
+ :iolib/streams :iolib/pathnames)
+ :around-compile "iolib.asdf:compile-wrapper"
+ :encoding :utf-8
+ :pathname "src/os/"
+ :components
+ ((:file "pkgdcl")
+ (:file "os" :pathname #+unix "os-unix")
+ (:iolib-grovel-file "ffi-types" :pathname #+unix "ffi-types-unix")
+ (:file "ffi-functions" :pathname #+unix "ffi-functions-unix")
+ (:file "create-process" :pathname #+unix "create-process-unix"))
+ :serial t)
+
+(asdf:defsystem :iolib/tests
+ :description "IOLib test suite."
+ :author "Luis Oliveira <loliveira@common-lisp.net>"
+ :version (:read-file-form "version.lisp-expr")
+ :licence "MIT"
+ :defsystem-depends-on (:iolib/base)
+ :depends-on (:fiveam :iolib :iolib/pathnames)
+ :around-compile "iolib.asdf:compile-wrapper"
+ :encoding :utf-8
+ :pathname "tests/"
+ :components
+ ((:file "pkgdcl")
+ (:file "defsuites" :depends-on ("pkgdcl"))
+ (:file "base" :depends-on ("pkgdcl" "defsuites"))
+ (:file "file-paths-os" :depends-on ("pkgdcl" "defsuites")
+ :pathname #+unix "file-paths-unix")
+ (:file "events" :depends-on ("pkgdcl" "defsuites"))
+ (:file "streams" :depends-on ("pkgdcl" "defsuites"))
+ (:file "sockets" :depends-on ("pkgdcl" "defsuites"))))
+
+(defmethod asdf:perform ((o asdf:test-op)
+ (c (eql (asdf:find-system :iolib/tests))))
+ (asdf:load-system :iolib/tests)
+ (asdf/package:symbol-call :5am :run! :iolib))
+
+(asdf:defsystem :iolib
+ :description "I/O library."
+ :author "Stelian Ionescu <sionescu@cddr.org>"
+ :maintainer "Stelian Ionescu <sionescu@cddr.org>"
+ :version (:read-file-form "version.lisp-expr")
+ :licence "MIT"
+ :defsystem-depends-on (:iolib/asdf :iolib/conf)
+ :depends-on (:iolib/base :iolib/multiplex :iolib/streams :iolib/sockets)
+ :around-compile "iolib.asdf:compile-wrapper"
+ :in-order-to ((asdf:test-op (asdf:test-op :iolib/tests)))
+ :encoding :utf-8
+ :pathname "src/iolib/"
+ :components ((:file "pkgdcl")))
;;;
(defpackage :iolib.asdf
+ (:nicknames :iolib/asdf)
(:use :common-lisp)
(:export #:compile-wrapper)
#+sb-package-locks
(in-package :iolib.common-lisp-user)
(defpackage :iolib.base
+ (:nicknames :iolib/base)
(:extend/excluding :iolib.common-lisp
#:defun #:defmethod #:defmacro #:define-compiler-macro
#:constantp)
;;;
(cl:defpackage :iolib.conf
+ (:nicknames :iolib/conf)
(:use :common-lisp)
(:export #:load-gray-streams))
(defparameter *prologue*
"
-#include <grovel/common.h>
+#include <grovel-common.h>
int main(int argc, char**argv) {
int autotype_tmp;
;; add the cffi directory to the include path to make common.h visible
,(format nil "-I~A"
(directory-namestring
- (truename
- (asdf:system-definition-pathname :iolib-grovel))))
+ (asdf:component-pathname
+ (asdf:find-system :iolib/grovel))))
,@(when library *platform-library-flags*)
"-o" ,(native-namestring output-file)
,(native-namestring input-file))))
;;; DEALINGS IN THE SOFTWARE.
;;;
-(defpackage #:iolib-grovel
+(defpackage :iolib-grovel
+ (:nicknames :iolib/grovel)
(:use #:common-lisp #:alexandria)
(:import-from #:cffi-sys #:native-namestring)
(:export
+++ /dev/null
-;;;; -*- Mode: lisp; indent-tabs-mode: nil -*-
-;;;
-;;; iolib-grovel.asd --- ASDF system definition for iolib-grovel.
-;;;
-;;; Copyright (C) 2007, Luis Oliveira <loliveira@common-lisp.net>
-;;;
-;;; Permission is hereby granted, free of charge, to any person
-;;; obtaining a copy of this software and associated documentation
-;;; files (the "Software"), to deal in the Software without
-;;; restriction, including without limitation the rights to use, copy,
-;;; modify, merge, publish, distribute, sublicense, and/or sell copies
-;;; of the Software, and to permit persons to whom the Software is
-;;; furnished to do so, subject to the following conditions:
-;;;
-;;; The above copyright notice and this permission notice shall be
-;;; included in all copies or substantial portions of the Software.
-;;;
-;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-;;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-;;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-;;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-;;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-;;; WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-;;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-;;; DEALINGS IN THE SOFTWARE.
-;;;
-
-(asdf:defsystem :iolib-grovel
- :description "The CFFI Groveller"
- :author "Dan Knapp <dankna@accela.net>"
- :defsystem-depends-on (:iolib.asdf :iolib.conf)
- :depends-on (:alexandria :cffi :iolib.asdf :iolib.conf)
- :around-compile "iolib.asdf:compile-wrapper"
- :licence "MIT"
- :encoding :utf-8
- :pathname "grovel/"
- :components
- ((:file "package")
- (:file "invoke")
- (:static-file "common.h")
- (:file "grovel")
- (:file "asdf"))
- :serial t
- :perform (asdf:compile-op :before (o c)
- #+allegro (require "osi"))
- :perform (asdf:load-op :before (o c)
- #+allegro (require "osi"))
- :perform (asdf:load-source-op :before (o c)
- #+allegro (require "osi")))
-
-;; vim: ft=lisp et
+++ /dev/null
-;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
-
-(asdf:defsystem :iolib
- :description "I/O library."
- :author "Stelian Ionescu <sionescu@cddr.org>"
- :maintainer "Stelian Ionescu <sionescu@cddr.org>"
- :version (:read-file-form "../version.lisp-expr")
- :licence "MIT"
- :defsystem-depends-on (:iolib.asdf :iolib.conf)
- :depends-on (:iolib.base :iolib.multiplex :iolib.streams :iolib.sockets)
- :around-compile "iolib.asdf:compile-wrapper"
- :encoding :utf-8
- :pathname "iolib/"
- :components ((:file "pkgdcl")))
-
-(defmethod asdf:perform ((o asdf:test-op)
- (c (eql (asdf:find-system :iolib))))
- (asdf:test-system :iolib-tests))
+++ /dev/null
-;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
-
-(asdf:defsystem :iolib.asdf
- :description "A few ASDF component classes."
- :author "Stelian Ionescu <sionescu@cddr.org>"
- :maintainer "Stelian Ionescu <sionescu@cddr.org>"
- :version (:read-file-form "../version.lisp-expr")
- :licence "MIT"
- :depends-on (:alexandria)
- :encoding :utf-8
- :pathname "base/"
- :components
- ((:file "asdf")))
+++ /dev/null
-;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
-
-(asdf:defsystem :iolib.common-lisp
- :description "Slightly modified Common Lisp."
- :maintainer "Stelian Ionescu <sionescu@cddr.org>"
- :version (:read-file-form "../version.lisp-expr")
- :licence "MIT"
- :defsystem-depends-on (:iolib.asdf :iolib.conf)
- :depends-on (:alexandria)
- :around-compile "iolib.asdf:compile-wrapper"
- :encoding :utf-8
- :pathname "new-cl/"
- :components
- ((:file "conduits")
- #+scl (:file "scl-gray-streams")
- (:file "pkgdcl" :depends-on ("conduits" #+scl "scl-gray-streams")
- :perform
- (asdf:compile-op :before (o c)
- (asdf/package:symbol-call :iolib.conf '#:load-gray-streams))
- :perform
- (asdf:load-op :before (o c)
- (asdf/package:symbol-call :iolib.conf '#:load-gray-streams))
- :perform
- (asdf:load-source-op :before (o c)
- (asdf/package:symbol-call :iolib.conf '#:load-gray-streams)))
- (:file "gray-streams"
- :depends-on ("pkgdcl" #+scl "scl-gray-streams"))
- (:file "definitions" :depends-on ("pkgdcl"))
- (:file "types" :depends-on ("pkgdcl"))))
-
-(asdf:defsystem :iolib.base
- :description "Base IOlib package, used instead of CL."
- :author "Stelian Ionescu <sionescu@cddr.org>"
- :maintainer "Stelian Ionescu <sionescu@cddr.org>"
- :version (:read-file-form "../version.lisp-expr")
- :licence "MIT"
- :defsystem-depends-on (:iolib.asdf :iolib.conf)
- :depends-on (:iolib.common-lisp :alexandria :split-sequence)
- :around-compile "iolib.asdf:compile-wrapper"
- :encoding :utf-8
- :pathname "base/"
- :components
- ((:file "pkgdcl")
- (:file "return-star" :depends-on ("pkgdcl"))
- (:file "types" :depends-on ("pkgdcl" "return-star"))
- (:file "debug" :depends-on ("pkgdcl" "return-star"))
- (:file "conditions" :depends-on ("pkgdcl" "return-star"))
- (:file "defalias" :depends-on ("pkgdcl" "return-star"))
- (:file "deffoldable" :depends-on ("pkgdcl" "return-star"))
- (:file "defobsolete" :depends-on ("pkgdcl" "return-star"))
- (:file "reader" :depends-on ("pkgdcl" "return-star" "conditions"))
- (:file "sequence" :depends-on ("pkgdcl" "return-star"))
- (:file "matching" :depends-on ("pkgdcl" "return-star"))
- (:file "time" :depends-on ("pkgdcl" "return-star"))
- (:file "dynamic-buffer" :depends-on ("pkgdcl" "return-star" "sequence"))))
+++ /dev/null
-;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
-
-(asdf:defsystem :iolib.conf
- :description "Compile-time configuration for IOLib."
- :author "Stelian Ionescu <sionescu@cddr.org>"
- :version (:read-file-form "../version.lisp-expr")
- :licence "MIT"
- :defsystem-depends-on (:iolib.asdf)
- :around-compile "iolib.asdf:compile-wrapper"
- :encoding :utf-8
- :pathname "conf/"
- :components
- ((:file "pkgdcl")
- (:file "requires" :depends-on ("pkgdcl"))))
+++ /dev/null
-;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
-
-(asdf:defsystem :iolib.multiplex
- :description "I/O multiplexing library."
- :author "Stelian Ionescu <sionescu@cddr.org>"
- :maintainer "Stelian Ionescu <sionescu@cddr.org>"
- :version (:read-file-form "../version.lisp-expr")
- :licence "MIT"
- :defsystem-depends-on (:iolib.asdf :iolib.conf)
- :depends-on (:iolib.base :iolib.syscalls :cffi)
- :around-compile "iolib.asdf:compile-wrapper"
- :encoding :utf-8
- :pathname "multiplex/"
- :components
- ((:file "pkgdcl")
-
- ;; Scheduler
- (:file "utils" :depends-on ("pkgdcl"))
- (:file "timers" :depends-on ("pkgdcl"))
- (:file "queue" :depends-on ("pkgdcl"))
- (:file "scheduler" :depends-on ("pkgdcl" "timers" "queue"))
-
- ;; Event loop
- (:file "fd-entry" :depends-on ("pkgdcl" "timers"))
- (:file "multiplexer" :depends-on ("pkgdcl" "utils" "fd-entry"))
- (:file "event-loop" :depends-on ("pkgdcl" "timers" "queue" "scheduler"
- "fd-entry" "multiplexer"))
-
- ;; FD wait
- (:file "fd-wait" :depends-on ("pkgdcl" "utils"))
-
- ;; Event sources
- (:file "backend-select"
- :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
- #+linux
- (:file "backend-epoll"
- :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
- #+bsd
- (:file "backend-kqueue"
- :depends-on ("pkgdcl" "utils" "fd-entry" "multiplexer"))
- (:file "detect"
- :depends-on ("pkgdcl" "multiplexer" "backend-select"
- #+linux "backend-epoll" #+bsd "backend-kqueue"))))
+++ /dev/null
-;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
-
-(asdf:defsystem :iolib.os
- :description "OS interface."
- :maintainer "Stelian Ionescu <sionescu@cddr.org>"
- :version (:read-file-form "../version.lisp-expr")
- :licence "MIT"
- :defsystem-depends-on (:iolib.asdf :iolib.conf :iolib-grovel)
- :depends-on (:iolib.base :iolib-grovel :iolib.syscalls
- :iolib.streams :iolib.pathnames)
- :around-compile "iolib.asdf:compile-wrapper"
- :encoding :utf-8
- :pathname "os/"
- :components
- ((:file "pkgdcl")
- (:file "os" :pathname #+unix "os-unix")
- (:iolib-grovel-file "ffi-types" :pathname #+unix "ffi-types-unix")
- (:file "ffi-functions" :pathname #+unix "ffi-functions-unix")
- (:file "create-process" :pathname #+unix "create-process-unix"))
- :serial t)
+++ /dev/null
-;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
-
-(asdf:defsystem :iolib.pathnames
- :description "New pathnames."
- :author "Stelian Ionescu <sionescu@cddr.org>"
- :version (:read-file-form "../version.lisp-expr")
- :licence "MIT"
- :defsystem-depends-on (:iolib.asdf :iolib.conf)
- :depends-on (:iolib.base :iolib.syscalls)
- :around-compile "iolib.asdf:compile-wrapper"
- :encoding :utf-8
- :pathname "pathnames/"
- :components
- ((:file "pkgdcl")
- (:file "file-path")
- (:file "file-path-os" :pathname #+unix "file-path-unix"))
- :serial t)
+++ /dev/null
-;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
-
-(asdf:defsystem :iolib.sockets
- :description "Socket library."
- :author "Stelian Ionescu <sionescu@cddr.org>"
- :maintainer "Stelian Ionescu <sionescu@cddr.org>"
- :version (:read-file-form "../version.lisp-expr")
- :licence "MIT"
- :defsystem-depends-on (:iolib.asdf :iolib.conf :iolib-grovel)
- :depends-on (:iolib.base :iolib.syscalls :iolib.streams
- :babel :cffi :iolib-grovel :bordeaux-threads
- :idna)
- :around-compile "iolib.asdf:compile-wrapper"
- :encoding :utf-8
- :pathname "sockets/"
- :components
- ((:file "pkgdcl")
- (:iolib-grovel-file "grovel" :depends-on ("pkgdcl"))
- (:file "conditions" :depends-on ("pkgdcl" "grovel"))
- (:file "bsd" :depends-on ("pkgdcl" "grovel" "conditions"))
- (:file "common" :depends-on ("pkgdcl" "grovel" "bsd"))
- (:file "config" :depends-on ("pkgdcl" "grovel" "bsd"))
-
- (:file "iface" :depends-on ("pkgdcl" "grovel" "bsd" "common"))
-
- (:file "address" :depends-on ("pkgdcl" "common"))
- (:file "address-predicates" :depends-on ("pkgdcl" "common" "address"))
- (:file "address-arithmetic" :depends-on ("pkgdcl" "common" "address" "address-predicates"))
-
- (:file "base-sockets" :depends-on ("pkgdcl" "bsd" "common" "config"))
- (:file "socket-options"
- :depends-on ("pkgdcl" "grovel" "conditions" "bsd" "common" "config" "base-sockets"))
-
- ;; Local file configuration (/etc/hosts etc...)
- (:file "etc-files" :pathname "namedb/etc-files"
- :depends-on ("pkgdcl"))
- (:file "file-monitor" :pathname "namedb/file-monitor"
- :depends-on ("pkgdcl"))
- (:file "protocols" :pathname "namedb/protocols"
- :depends-on ("pkgdcl" "common" "etc-files" "file-monitor"))
- (:file "services" :pathname "namedb/services"
- :depends-on ("pkgdcl" "common" "etc-files" "file-monitor"))
- (:file "hosts" :pathname "namedb/hosts"
- :depends-on ("pkgdcl" "address" "address-predicates" "etc-files" "file-monitor"))
-
- (:file "socket-methods"
- :depends-on ("pkgdcl" "grovel" "conditions" "bsd" "common" "config"
- "address" "address-predicates" "base-sockets" "socket-options"
- "protocols" "services"))
- (:file "make-socket"
- :depends-on ("pkgdcl" "grovel" "common" "config" "address" "address-predicates"
- "base-sockets" "socket-options" "services" "socket-methods"))
-
- ;; DNS client
- (:file "dns-common" :pathname "dns/common"
- :depends-on ("pkgdcl" "common"))
- (:file "nameservers" :pathname "dns/nameservers"
- :depends-on ("pkgdcl" "address" "address-predicates" "etc-files" "file-monitor"))
- (:file "message":pathname "dns/message"
- :depends-on ("pkgdcl" "common" "dns-common"))
- (:file "query" :pathname "dns/query"
- :depends-on ("pkgdcl" "conditions" "address" "address-predicates"
- "socket-options" "socket-methods" "make-socket" "dns-common"
- "nameservers" "message"))
- (:file "dns-conditions" :pathname "dns/conditions"
- :depends-on ("pkgdcl"))
- (:file "lookup" :pathname "dns/lookup"
- :depends-on ("pkgdcl" "address" "address-predicates" "file-monitor" "hosts"
- "nameservers" "message" "query" "dns-conditions"))))
+++ /dev/null
-;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
-
-(asdf:defsystem :iolib.streams
- :description "Gray streams."
- :maintainer "Stelian Ionescu <sionescu@cddr.org>"
- :version (:read-file-form "../version.lisp-expr")
- :licence "MIT"
- :defsystem-depends-on (:iolib.asdf :iolib.conf)
- :depends-on (:iolib.base :iolib.multiplex :cffi)
- :around-compile "iolib.asdf:compile-wrapper"
- :encoding :utf-8
- :pathname "streams/gray/"
- :components
- ((:file "pkgdcl")
- (:file "classes" :depends-on ("pkgdcl"))
- (:file "conditions" :depends-on ("pkgdcl"))
- (:file "buffer" :depends-on ("pkgdcl" "classes"))
- (:file "fd-mixin" :depends-on ("pkgdcl" "classes"))
- (:file "io-helpers"
- :depends-on ("pkgdcl" "classes" "conditions" "buffer" "fd-mixin"))
- (:file "gray-stream-methods"
- :depends-on ("pkgdcl" "classes" "conditions" "buffer" "fd-mixin"
- "io-helpers"))))
+++ /dev/null
-;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
-
-(asdf:defsystem :iolib.syscalls
- :description "Syscalls and foreign types."
- :maintainer "Stelian Ionescu <sionescu@cddr.org>"
- :version (:read-file-form "../version.lisp-expr")
- :licence "MIT"
- :defsystem-depends-on (:iolib.asdf :iolib.conf :iolib-grovel)
- :depends-on (:trivial-features :cffi :iolib.base :iolib-grovel)
- :around-compile "iolib.asdf:compile-wrapper"
- :encoding :utf-8
- :pathname "syscalls/"
- :components
- ((:file "pkgdcl")
- #+unix
- (:file "syscall-path-strings" :pathname "unix-syscall-path-strings")
- ;; Platform-specific files
- (:iolib-grovel-file "ffi-types" :pathname #+unix "ffi-types-unix")
- (:file "conditions")
- (:file "os-conditions" :pathname #+unix "os-conditions-unix")
- (:file "designators")
- (:file "early")
- (:file "ffi-functions" :pathname #+unix "ffi-functions-unix"))
- :serial t)
+++ /dev/null
-;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
-
-(asdf:defsystem :iolib.trivial-sockets
- :description "Trivial-Sockets compatibility layer."
- :author "Dan Barlow <dan@telent.net>"
- :maintainer "Stelian Ionescu <sionescu@cddr.org>"
- :version (:read-file-form "../version.lisp-expr")
- :licence "MIT"
- :defsystem-depends-on (:iolib.asdf :iolib.conf)
- :depends-on (:iolib.base :iolib.sockets)
- :around-compile "iolib.asdf:compile-wrapper"
- :encoding :utf-8
- :pathname "sockets/"
- :components
- ((:file "trivial-sockets")))
(in-package :common-lisp-user)
(defpackage :iolib.multiplex
- (:nicknames #:iomux)
+ (:nicknames :iomux :iolib/multiplex)
(:use :iolib.base :cffi)
(:export
;; Classes and Types
#:stream-clear-output #:stream-advance-to-column
#:stream-read-byte #:stream-write-byte)))
`(defpackage :iolib.common-lisp
- (:nicknames :iolib.cl)
+ (:nicknames :iolib.cl :iolib/common-lisp)
(:extend/excluding :common-lisp
#:export #:unexport #:defpackage
#:delete-package #:rename-package
(define-gray-streams-package))
(defpackage :iolib.common-lisp-user
- (:nicknames :iolib.cl-user)
+ (:nicknames :iolib.cl-user :iolib/common-lisp-user :iolib/cl-user)
(:use :iolib.common-lisp))
(in-package :common-lisp-user)
(defpackage :iolib.os
+ (:nicknames :iolib/os)
(:use :iolib.base :iolib.pathnames :cffi)
(:import-from :iolib.syscalls
#:defsyscall #:sstring
(in-package :common-lisp-user)
(defpackage :iolib.pathnames
- (:nicknames #:ipath)
+ (:nicknames :ipath :iolib/pathnames)
(:use :iolib.base)
(:export
;; Classes and types
(in-package :common-lisp-user)
(defpackage :iolib.sockets
- (:nicknames #:sockets)
+ (:nicknames :sockets :iolib/sockets)
(:use :iolib.base :iolib.streams :cffi)
(:import-from #:iolib.syscalls #:defsyscall
#:size-t #:ssize-t #:pid-t #:uid-t #:gid-t
(in-package :common-lisp-user)
(defpackage :iolib.trivial-sockets
+ (:nicknames :iolib/trivial-sockets)
(:use :iolib.base :iolib.sockets)
(:shadow #:socket-error #:accept-connection)
(:export #:open-stream #:socket-error #:socket-nested-error
(in-package :common-lisp-user)
(defpackage :iolib.streams
+ (:nicknames :iolib/streams)
(:use :iolib.base :cffi)
(:export
;; Classes
(in-package :common-lisp-user)
(defpackage :iolib.syscalls
- (:nicknames #:isys)
+ (:nicknames :isys :iolib/syscalls)
(:use :iolib.base :cffi)
(:shadow #:open #:close #:read #:write #:listen
#:truncate #:ftruncate #:time)
+++ /dev/null
-;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
-
-(asdf:defsystem :iolib-tests
- :description "IOLib test suite."
- :author "Luis Oliveira <loliveira@common-lisp.net>"
- :version (:read-file-form "../version.lisp-expr")
- :licence "MIT"
- :defsystem-depends-on (:iolib.base)
- :depends-on (:fiveam :iolib :iolib.pathnames)
- :around-compile "iolib.asdf:compile-wrapper"
- :encoding :utf-8
- :components
- ((:file "pkgdcl")
- (:file "defsuites" :depends-on ("pkgdcl"))
- (:file "base" :depends-on ("pkgdcl" "defsuites"))
- (:file "file-paths-os" :depends-on ("pkgdcl" "defsuites")
- :pathname #+unix "file-paths-unix")
- (:file "events" :depends-on ("pkgdcl" "defsuites"))
- (:file "streams" :depends-on ("pkgdcl" "defsuites"))
- (:file "sockets" :depends-on ("pkgdcl" "defsuites"))))
-
-(defmethod asdf:perform ((o asdf:test-op)
- (c (eql (asdf:find-system :iolib-tests))))
- (asdf:load-system :iolib-tests)
- (asdf/package:symbol-call :5am :run! :iolib))
;;; pkgdcl.lisp --- Package definition.
;;;
-(in-package #:cl-user)
+(in-package :cl-user)
-(defpackage #:iolib-tests
+(defpackage :iolib-tests
+ (:nicknames :iolib/tests)
(:use :5am :iolib.base :iolib :iolib.pathnames)
#+sb-package-locks
(:lock t)
(test (simple-local-sockets :compile-at :definition-time)
(is (string= (let ((file (namestring
(make-pathname :name "local-socket" :type nil
- :defaults (truename
- (asdf:system-definition-pathname
- (asdf:find-system '#:iolib-tests)))))))
+ :defaults (asdf:component-pathname
+ (asdf:find-system :iolib/tests))))))
(ignore-errors (delete-file file))
(with-open-socket (p :address-family :local :connect :passive :local-filename file)
(with-open-socket (a :address-family :local :remote-filename file)
,@body))))
(defvar *data-dir*
- (let ((sys-pn (truename (asdf:system-definition-pathname
- (asdf:find-system 'iolib-tests)))))
+ (let ((sys-pn (truename (asdf:component-pathname
+ (asdf:find-system :iolib/tests)))))
(make-pathname :directory (append (pathname-directory sys-pn)
'("data")))))