From 47216ad794b42a663c92830bb4d3fa81b311a348 Mon Sep 17 00:00:00 2001 From: Stelian Ionescu Date: Tue, 22 Jan 2013 00:29:48 +0100 Subject: [PATCH] Move all system definitions to iolib.asd --- iolib.asd | 346 +++++++++++++++++++++++++++++++ src/base/asdf.lisp | 1 + src/base/pkgdcl.lisp | 1 + src/conf/pkgdcl.lisp | 1 + src/grovel/{common.h => grovel-common.h} | 0 src/grovel/grovel.lisp | 6 +- src/grovel/package.lisp | 3 +- src/iolib-grovel.asd | 51 ----- src/iolib.asd | 18 -- src/iolib.asdf.asd | 13 -- src/iolib.base.asd | 55 ----- src/iolib.conf.asd | 14 -- src/iolib.multiplex.asd | 43 ---- src/iolib.os.asd | 20 -- src/iolib.pathnames.asd | 17 -- src/iolib.sockets.asd | 69 ------ src/iolib.streams.asd | 23 -- src/iolib.syscalls.asd | 24 --- src/iolib.trivial-sockets.asd | 15 -- src/multiplex/pkgdcl.lisp | 2 +- src/new-cl/pkgdcl.lisp | 4 +- src/os/pkgdcl.lisp | 1 + src/pathnames/pkgdcl.lisp | 2 +- src/sockets/pkgdcl.lisp | 2 +- src/sockets/trivial-sockets.lisp | 1 + src/streams/gray/pkgdcl.lisp | 1 + src/syscalls/pkgdcl.lisp | 2 +- tests/iolib-tests.asd | 25 --- tests/pkgdcl.lisp | 5 +- tests/sockets.lisp | 5 +- tests/streams.lisp | 4 +- 31 files changed, 370 insertions(+), 404 deletions(-) create mode 100644 iolib.asd rename src/grovel/{common.h => grovel-common.h} (100%) delete mode 100644 src/iolib-grovel.asd delete mode 100644 src/iolib.asd delete mode 100644 src/iolib.asdf.asd delete mode 100644 src/iolib.base.asd delete mode 100644 src/iolib.conf.asd delete mode 100644 src/iolib.multiplex.asd delete mode 100644 src/iolib.os.asd delete mode 100644 src/iolib.pathnames.asd delete mode 100644 src/iolib.sockets.asd delete mode 100644 src/iolib.streams.asd delete mode 100644 src/iolib.syscalls.asd delete mode 100644 src/iolib.trivial-sockets.asd delete mode 100644 tests/iolib-tests.asd diff --git a/iolib.asd b/iolib.asd new file mode 100644 index 0000000..acf18ba --- /dev/null +++ b/iolib.asd @@ -0,0 +1,346 @@ +;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*- + +(asdf:defsystem :iolib/asdf + :description "A few ASDF component classes." + :author "Stelian Ionescu " + :maintainer "Stelian Ionescu " + :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 " + :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 " + :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 " + :maintainer "Stelian Ionescu " + :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 " + :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 " + :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 " + :maintainer "Stelian Ionescu " + :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 " + :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 " + :maintainer "Stelian Ionescu " + :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 " + :maintainer "Stelian Ionescu " + :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 " + :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 " + :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 " + :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 " + :maintainer "Stelian Ionescu " + :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"))) diff --git a/src/base/asdf.lisp b/src/base/asdf.lisp index f64f7c2..1e45b21 100644 --- a/src/base/asdf.lisp +++ b/src/base/asdf.lisp @@ -4,6 +4,7 @@ ;;; (defpackage :iolib.asdf + (:nicknames :iolib/asdf) (:use :common-lisp) (:export #:compile-wrapper) #+sb-package-locks diff --git a/src/base/pkgdcl.lisp b/src/base/pkgdcl.lisp index ffff37d..7a1a0dc 100644 --- a/src/base/pkgdcl.lisp +++ b/src/base/pkgdcl.lisp @@ -6,6 +6,7 @@ (in-package :iolib.common-lisp-user) (defpackage :iolib.base + (:nicknames :iolib/base) (:extend/excluding :iolib.common-lisp #:defun #:defmethod #:defmacro #:define-compiler-macro #:constantp) diff --git a/src/conf/pkgdcl.lisp b/src/conf/pkgdcl.lisp index 76b2093..c1cafda 100644 --- a/src/conf/pkgdcl.lisp +++ b/src/conf/pkgdcl.lisp @@ -4,5 +4,6 @@ ;;; (cl:defpackage :iolib.conf + (:nicknames :iolib/conf) (:use :common-lisp) (:export #:load-gray-streams)) diff --git a/src/grovel/common.h b/src/grovel/grovel-common.h similarity index 100% rename from src/grovel/common.h rename to src/grovel/grovel-common.h diff --git a/src/grovel/grovel.lisp b/src/grovel/grovel.lisp index 661b5b3..62c9708 100644 --- a/src/grovel/grovel.lisp +++ b/src/grovel/grovel.lisp @@ -66,7 +66,7 @@ (defparameter *prologue* " -#include +#include int main(int argc, char**argv) { int autotype_tmp; @@ -280,8 +280,8 @@ int main(int argc, char**argv) { ;; 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)))) diff --git a/src/grovel/package.lisp b/src/grovel/package.lisp index f9cbbb5..692d254 100644 --- a/src/grovel/package.lisp +++ b/src/grovel/package.lisp @@ -23,7 +23,8 @@ ;;; DEALINGS IN THE SOFTWARE. ;;; -(defpackage #:iolib-grovel +(defpackage :iolib-grovel + (:nicknames :iolib/grovel) (:use #:common-lisp #:alexandria) (:import-from #:cffi-sys #:native-namestring) (:export diff --git a/src/iolib-grovel.asd b/src/iolib-grovel.asd deleted file mode 100644 index ca22a0f..0000000 --- a/src/iolib-grovel.asd +++ /dev/null @@ -1,51 +0,0 @@ -;;;; -*- Mode: lisp; indent-tabs-mode: nil -*- -;;; -;;; iolib-grovel.asd --- ASDF system definition for iolib-grovel. -;;; -;;; Copyright (C) 2007, Luis Oliveira -;;; -;;; 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 " - :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 diff --git a/src/iolib.asd b/src/iolib.asd deleted file mode 100644 index 5d3dd0d..0000000 --- a/src/iolib.asd +++ /dev/null @@ -1,18 +0,0 @@ -;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*- - -(asdf:defsystem :iolib - :description "I/O library." - :author "Stelian Ionescu " - :maintainer "Stelian Ionescu " - :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)) diff --git a/src/iolib.asdf.asd b/src/iolib.asdf.asd deleted file mode 100644 index 6b56cd0..0000000 --- a/src/iolib.asdf.asd +++ /dev/null @@ -1,13 +0,0 @@ -;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*- - -(asdf:defsystem :iolib.asdf - :description "A few ASDF component classes." - :author "Stelian Ionescu " - :maintainer "Stelian Ionescu " - :version (:read-file-form "../version.lisp-expr") - :licence "MIT" - :depends-on (:alexandria) - :encoding :utf-8 - :pathname "base/" - :components - ((:file "asdf"))) diff --git a/src/iolib.base.asd b/src/iolib.base.asd deleted file mode 100644 index a1d8232..0000000 --- a/src/iolib.base.asd +++ /dev/null @@ -1,55 +0,0 @@ -;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*- - -(asdf:defsystem :iolib.common-lisp - :description "Slightly modified Common Lisp." - :maintainer "Stelian Ionescu " - :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 " - :maintainer "Stelian Ionescu " - :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")))) diff --git a/src/iolib.conf.asd b/src/iolib.conf.asd deleted file mode 100644 index 2492a6a..0000000 --- a/src/iolib.conf.asd +++ /dev/null @@ -1,14 +0,0 @@ -;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*- - -(asdf:defsystem :iolib.conf - :description "Compile-time configuration for IOLib." - :author "Stelian Ionescu " - :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")))) diff --git a/src/iolib.multiplex.asd b/src/iolib.multiplex.asd deleted file mode 100644 index 62bc4dc..0000000 --- a/src/iolib.multiplex.asd +++ /dev/null @@ -1,43 +0,0 @@ -;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*- - -(asdf:defsystem :iolib.multiplex - :description "I/O multiplexing library." - :author "Stelian Ionescu " - :maintainer "Stelian Ionescu " - :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")))) diff --git a/src/iolib.os.asd b/src/iolib.os.asd deleted file mode 100644 index 3b57a4a..0000000 --- a/src/iolib.os.asd +++ /dev/null @@ -1,20 +0,0 @@ -;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*- - -(asdf:defsystem :iolib.os - :description "OS interface." - :maintainer "Stelian Ionescu " - :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) diff --git a/src/iolib.pathnames.asd b/src/iolib.pathnames.asd deleted file mode 100644 index ea8df6a..0000000 --- a/src/iolib.pathnames.asd +++ /dev/null @@ -1,17 +0,0 @@ -;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*- - -(asdf:defsystem :iolib.pathnames - :description "New pathnames." - :author "Stelian Ionescu " - :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) diff --git a/src/iolib.sockets.asd b/src/iolib.sockets.asd deleted file mode 100644 index ef7c938..0000000 --- a/src/iolib.sockets.asd +++ /dev/null @@ -1,69 +0,0 @@ -;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*- - -(asdf:defsystem :iolib.sockets - :description "Socket library." - :author "Stelian Ionescu " - :maintainer "Stelian Ionescu " - :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")))) diff --git a/src/iolib.streams.asd b/src/iolib.streams.asd deleted file mode 100644 index fd350cb..0000000 --- a/src/iolib.streams.asd +++ /dev/null @@ -1,23 +0,0 @@ -;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*- - -(asdf:defsystem :iolib.streams - :description "Gray streams." - :maintainer "Stelian Ionescu " - :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")))) diff --git a/src/iolib.syscalls.asd b/src/iolib.syscalls.asd deleted file mode 100644 index 2822828..0000000 --- a/src/iolib.syscalls.asd +++ /dev/null @@ -1,24 +0,0 @@ -;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*- - -(asdf:defsystem :iolib.syscalls - :description "Syscalls and foreign types." - :maintainer "Stelian Ionescu " - :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) diff --git a/src/iolib.trivial-sockets.asd b/src/iolib.trivial-sockets.asd deleted file mode 100644 index 14e9bbd..0000000 --- a/src/iolib.trivial-sockets.asd +++ /dev/null @@ -1,15 +0,0 @@ -;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*- - -(asdf:defsystem :iolib.trivial-sockets - :description "Trivial-Sockets compatibility layer." - :author "Dan Barlow " - :maintainer "Stelian Ionescu " - :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"))) diff --git a/src/multiplex/pkgdcl.lisp b/src/multiplex/pkgdcl.lisp index 1d062f8..5d42201 100644 --- a/src/multiplex/pkgdcl.lisp +++ b/src/multiplex/pkgdcl.lisp @@ -6,7 +6,7 @@ (in-package :common-lisp-user) (defpackage :iolib.multiplex - (:nicknames #:iomux) + (:nicknames :iomux :iolib/multiplex) (:use :iolib.base :cffi) (:export ;; Classes and Types diff --git a/src/new-cl/pkgdcl.lisp b/src/new-cl/pkgdcl.lisp index 52aa55e..7bc9d53 100644 --- a/src/new-cl/pkgdcl.lisp +++ b/src/new-cl/pkgdcl.lisp @@ -29,7 +29,7 @@ #: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 @@ -47,5 +47,5 @@ (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)) diff --git a/src/os/pkgdcl.lisp b/src/os/pkgdcl.lisp index 68001d4..e95239a 100644 --- a/src/os/pkgdcl.lisp +++ b/src/os/pkgdcl.lisp @@ -6,6 +6,7 @@ (in-package :common-lisp-user) (defpackage :iolib.os + (:nicknames :iolib/os) (:use :iolib.base :iolib.pathnames :cffi) (:import-from :iolib.syscalls #:defsyscall #:sstring diff --git a/src/pathnames/pkgdcl.lisp b/src/pathnames/pkgdcl.lisp index 1edaa21..32ae007 100644 --- a/src/pathnames/pkgdcl.lisp +++ b/src/pathnames/pkgdcl.lisp @@ -6,7 +6,7 @@ (in-package :common-lisp-user) (defpackage :iolib.pathnames - (:nicknames #:ipath) + (:nicknames :ipath :iolib/pathnames) (:use :iolib.base) (:export ;; Classes and types diff --git a/src/sockets/pkgdcl.lisp b/src/sockets/pkgdcl.lisp index bab838a..a796daf 100644 --- a/src/sockets/pkgdcl.lisp +++ b/src/sockets/pkgdcl.lisp @@ -6,7 +6,7 @@ (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 diff --git a/src/sockets/trivial-sockets.lisp b/src/sockets/trivial-sockets.lisp index 8f15d26..25a1b5c 100644 --- a/src/sockets/trivial-sockets.lisp +++ b/src/sockets/trivial-sockets.lisp @@ -6,6 +6,7 @@ (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 diff --git a/src/streams/gray/pkgdcl.lisp b/src/streams/gray/pkgdcl.lisp index 4cc549f..581f70e 100644 --- a/src/streams/gray/pkgdcl.lisp +++ b/src/streams/gray/pkgdcl.lisp @@ -6,6 +6,7 @@ (in-package :common-lisp-user) (defpackage :iolib.streams + (:nicknames :iolib/streams) (:use :iolib.base :cffi) (:export ;; Classes diff --git a/src/syscalls/pkgdcl.lisp b/src/syscalls/pkgdcl.lisp index aa74d47..e85ea1b 100644 --- a/src/syscalls/pkgdcl.lisp +++ b/src/syscalls/pkgdcl.lisp @@ -6,7 +6,7 @@ (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) diff --git a/tests/iolib-tests.asd b/tests/iolib-tests.asd deleted file mode 100644 index eb5034c..0000000 --- a/tests/iolib-tests.asd +++ /dev/null @@ -1,25 +0,0 @@ -;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*- - -(asdf:defsystem :iolib-tests - :description "IOLib test suite." - :author "Luis Oliveira " - :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)) diff --git a/tests/pkgdcl.lisp b/tests/pkgdcl.lisp index 7284087..05f5456 100644 --- a/tests/pkgdcl.lisp +++ b/tests/pkgdcl.lisp @@ -3,9 +3,10 @@ ;;; 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) diff --git a/tests/sockets.lisp b/tests/sockets.lisp index b6a1217..36da0e2 100644 --- a/tests/sockets.lisp +++ b/tests/sockets.lisp @@ -363,9 +363,8 @@ (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) diff --git a/tests/streams.lisp b/tests/streams.lisp index 8cf9be4..b74b7a6 100644 --- a/tests/streams.lisp +++ b/tests/streams.lisp @@ -74,8 +74,8 @@ ,@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"))))) -- 2.11.4.GIT