a7b9fae1d08c28c9dedbdd75a177a1d68ca6a914
[clsql.git] / clsql-base.asd
1 ;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
4 ;;;;
5 ;;;; Name:          clsql-base.asd
6 ;;;; Purpose:       ASDF definition file for Base CLSQL
7 ;;;; Programmer:    Kevin M. Rosenberg
8 ;;;; Date Started:  Feb 2002
9 ;;;;
10 ;;;; $Id: clsql-base.asd,v 1.5 2002/09/01 09:00:14 kevin Exp $
11 ;;;;
12 ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
13 ;;;;
14 ;;;; CLSQL users are granted the rights to distribute and use this software
15 ;;;; as governed by the terms of the Lisp Lesser GNU Public License
16 ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
17 ;;;; *************************************************************************
18
19 (declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))
20 (in-package :asdf)
21
22 ;; For use with non-Common Lisp Controller installations
23 #-common-lisp-controller
24 (let ((path (make-pathname :name "set-logical" :type "cl"
25                                       :defaults *load-truename*)))
26   (when (probe-file path)
27     (load path)
28     (set-logical-host-for-pathname 
29      "clsql" 
30      (make-pathname :host (pathname-host *load-truename*)
31                     :device (pathname-device *load-truename*)
32                     :directory (pathname-directory *load-truename*)))))
33
34 (defconstant +clsql-logical-host+
35   #+common-lisp-controller "cl-library"
36   #-common-lisp-controller "clsql"
37   "Logical hostname for loading system")
38
39 (defmethod source-file-type  ((c cl-source-file)
40                               (s (eql (find-system 'clsql-base)))) 
41    "cl")
42
43  ;;; System definitions
44
45 (defsystem clsql-base
46   :pathname #.(format nil "~A:clsql-base;" +clsql-logical-host+)
47   :perform (load-op :after (op clsql-base)
48                     (pushnew :clsql-base cl:*features*))
49   :components ((:file "cmucl-compat")
50                (:file "package")
51                (:file "utils" :depends-on ("package"))
52                (:file "classes" :depends-on ("package"))
53                (:file "conditions" :depends-on ("classes"))
54                (:file "db-interface" :depends-on ("conditions"))
55                (:file "initialize" :depends-on ("db-interface")))
56   )