1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
;;; -*- Mode: LISP; Package: :cl-user; BASE: 10; Syntax: ANSI-Common-Lisp; -*-
;;;
;;; Time-stamp: <2010-12-20 11:36:14 IST>
;;; Touched: Mon Dec 20 11:35:11 2010 +0530 <enometh@meer.net>
;;; Bugs-To: enometh@meer.net
;;; Status: Experimental. Do not redistribute
;;; Copyright (C) 2010 Madhu. All Rights Reserved.
;;;
;;; ;madhu 101220 "Packages/usocket-svn-r569/"
;;; ;madhu 191210 "usocket-0.8.2"
(in-package "CL-USER")
(defvar *usocket-source-dir*
(merge-pathnames "usocket/" (translate-logical-pathname "EXTERN:")))
(defvar *usocket-binary-dir* (binary-directory *usocket-source-dir*))
;;; NOTE: the key "art" here is, no need to recompile any file when switching
;;; between a native backend and IOlib backend. -- Chun Tian (binghe)
#+sample
(pushnew :usocket-iolib *features*)
(mk:defsystem :usocket
:source-pathname *usocket-source-dir*
:binary-pathname *usocket-binary-dir*
:source-extension "lisp"
:depends-on (:split-sequence
#+(and (or sbcl ecl)
(not usocket-iolib)) :sb-bsd-sockets
#+(and mkcl (not usocket-iolib)) :sockets
#+usocket-iolib :iolib)
:components ((:file "package")
(:module "vendor" :depends-on ("package")
:components (#+mcl (:file "kqueue")
#+mcl (:file "OpenTransportUDP")))
(:file "usocket" :depends-on ("vendor"))
(:file "condition" :depends-on ("usocket"))
#-usocket-iolib
(:module "backend" :depends-on ("condition")
:components (#+abcl (:file "abcl")
#+(or allegro cormanlisp)
(:file "allegro")
#+clisp (:file "clisp")
#+(or openmcl clozure)
(:file "openmcl")
#+clozure (:file "clozure" :depends-on ("openmcl"))
#+cmu (:file "cmucl")
#+(or sbcl ecl clasp mkcl)
(:file "sbcl")
#+(or ecl mkcl) (:file "ecl" :depends-on ("sbcl"))
#+clasp (:file "clasp" :depends-on ("sbcl"))
#+lispworks (:file "lispworks")
#+mcl (:file "mcl")
#+mocl (:file "mocl")
#+scl (:file "scl")
#+genera (:file "genera")
#+mezzano (:file "mezzano")))
#-usocket-iolib
(:file "option" :depends-on ("backend"))
#+usocket-iolib
(:module "backend" :depends-on ("condition")
:components ((:file "iolib"))))
#+nil
((:file "pkg")
(:module "vendor" :depends-on ("pkg")
:components
((:file "split-sequence")
#+mcl (:file "kqueue")
#+openmcl (:file "ccl-send")
(:file "spawn-thread")))
(:file "usocket" :depends-on ("vendor"))
(:file "condition" :depends-on ("usocket"))
(:module "backend" :depends-on ("condition")
:components
(#+abcl
(:file "abcl")
#+clisp (:file "clisp")
#+cmu (:file "cmucl")
#+scl (:file "scl")
#+(or sbcl ecl mkcl) (:file "sbcl")
#+lispworks (:file "lispworks")
#+mcl (:file "mcl")
#+openmcl (:file "openmcl")
#+allegro (:file "allegro")))
(:file "server" :depends-on ("backend"))))
#+nil
(mk:oos :usocket :load :compile-during-load t)
|