root/trunk/thirdparty/cl-store_0.8.4/cl-store.asd

Revision 2554, 2.4 kB (checked in by ksprotte, 11 months ago)

added cl-store

  • Property svn:executable set to *
Line 
1 ;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
2 ;; See the file LICENCE for licence information.
3 (in-package #:cl-user)
4
5 (defpackage #:cl-store.system
6   (:use #:cl #:asdf)
7   (:export #:non-required-file))
8
9
10 (in-package #:cl-store.system)
11
12 #-(or lispworks mcl cmu clisp sbcl allegro ecl openmcl abcl)
13 (error "This is an unsupported lisp implementation.
14 Currently only MCL, OpenMCL, Lispworks, CMUCL, SBCL,
15 CLISP, ECL and AllegroCL are supported.")
16
17 (defclass non-required-file (cl-source-file) ()
18   (:documentation
19    "File containing implementation dependent code which may or may not be there."))
20
21 (defun lisp-system-shortname ()
22   #+mcl :mcl #+lispworks :lispworks #+cmu :cmucl #+clisp :clisp #+sbcl :sbcl
23   #+allegro :acl #+ecl :ecl #+openmcl :openmcl #+abcl :abcl)
24
25 (defmethod component-pathname ((component non-required-file))
26   (let ((pathname (call-next-method))
27         (name (string-downcase (lisp-system-shortname))))
28     (merge-pathnames
29      (make-pathname :directory (list :relative name))
30      pathname)))
31
32 (defmethod perform ((op compile-op) (component non-required-file))
33   (when (probe-file (component-pathname component))
34     (call-next-method)))
35
36 (defmethod perform ((op load-op) (component non-required-file))
37   (when (probe-file (component-pathname component))
38     (call-next-method)))
39
40 (defmethod operation-done-p ((o operation) (c non-required-file))
41   (when (probe-file (component-pathname c))
42     (call-next-method)))
43
44 (defsystem cl-store
45   :name "CL-STORE"
46   :author "Sean Ross <sross@common-lisp.net>"
47   :maintainer "Sean Ross <sross@common-lisp.net>"
48   :version "0.8.4"
49   :description "Serialization package"
50   :long-description "Portable CL Package to serialize data"
51   :licence "MIT"
52   :serial t
53   :components ((:file "package")
54                (:file "utils")
55                #+(or abcl (and clisp (not mop)))
56                (:file "mop")
57                (:file "backends")
58                (:file "plumbing")
59                (:file "circularities")
60                (:file "default-backend")
61                (:non-required-file "custom")))
62
63 (defmethod perform :after ((o load-op) (c (eql (find-system :cl-store))))
64   (funcall (find-symbol "SETUP-SPECIAL-FLOATS" :cl-store))
65   (provide 'cl-store))
66
67 (defmethod perform ((op test-op) (sys (eql (find-system :cl-store))))
68   (oos 'load-op :cl-store-tests)
69   (oos 'test-op :cl-store-tests))
70
71 (defsystem cl-store-tests
72   :depends-on (rt cl-store)
73   :components ((:file "tests")))
74
75 ;; EOF
Note: See TracBrowser for help on using the browser.