1 ;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp -*-
5 (eval-when (:compile-toplevel :load-toplevel :execute)
8 (defpackage #:iolib-system
9 (:use #:common-lisp #:asdf #:sb-grovel))
11 (eval-when (:compile-toplevel :load-toplevel :execute)
12 (defpackage #:iolib-alien
14 (:use #:common-lisp #:sb-alien)
16 (in-package #:iolib-system)
18 (sb-alien:with-alien ((a (array (sb-alien:unsigned 8) 4)))
20 (setf (sb-alien:deref a i) (1+ i)))
21 (pushnew (case (sb-alien:deref (sb-alien:cast (sb-alien:addr a) (* sb-alien:unsigned)))
22 (#x01020304 :big-endian)
23 (#x04030201 :little-endian)
25 (error "Your machine seems to be neither little-endian nor big-endian. Please report this to the maintainer(s).")))
28 (defsystem iolib-alien
29 :description "Alien definitions for IOLib."
30 :author "Stelian Ionescu <sionescu@common-lisp.net>"
31 :maintainer "Stelian Ionescu <sionescu@common-lisp.net>"
32 :licence "public domain"
33 :depends-on (#:sb-grovel
36 ((sb-grovel:grovel-constants-file
38 :package #:iolib-alien)
39 (:file "alien-functions" :depends-on ("alien-constants"))))
41 (defsystem net.sockets
42 :description "Socket library for SBCL."
43 :author "Stelian Ionescu <sionescu@common-lisp.net>"
44 :maintainer "Stelian Ionescu <sionescu@common-lisp.net>"
46 :depends-on (#:sb-posix
52 (:file "common" :depends-on ("defpackage"))
53 (:file "config" :depends-on ("defpackage"))
54 (:file "conditions" :depends-on ("defpackage"))
55 (:file "iface" :depends-on ("defpackage" "conditions" "common"))
56 (:file "address" :depends-on ("defpackage" "conditions" "common"))
57 (:file "resolv" :depends-on ("defpackage" "common" "config" "conditions" "address"))
59 :depends-on ("defpackage" "config" "common"))
60 (:file "socket-options"
61 :depends-on ("defpackage" "common" "base-sockets"))))))
64 :description "I/O library for SBCL."
65 :author "Stelian Ionescu <sionescu@common-lisp.net>"
66 :maintainer "Stelian Ionescu <sionescu@common-lisp.net>"
68 :depends-on (#:iolib-alien