Merge pull request #25 from fighting-spirit/master
[hunchentoot.git] / hunchentoot.asd
blob6e9d345a25a205fb5153c9b309bfeade2bf88de8
1 ;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
3 ;;; Copyright (c) 2004-2010, Dr. Edmund Weitz.  All rights reserved.
5 ;;; Redistribution and use in source and binary forms, with or without
6 ;;; modification, are permitted provided that the following conditions
7 ;;; are met:
9 ;;;   * Redistributions of source code must retain the above copyright
10 ;;;     notice, this list of conditions and the following disclaimer.
12 ;;;   * Redistributions in binary form must reproduce the above
13 ;;;     copyright notice, this list of conditions and the following
14 ;;;     disclaimer in the documentation and/or other materials
15 ;;;     provided with the distribution.
17 ;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
18 ;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 ;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 ;;; ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
21 ;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 ;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
23 ;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 ;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25 ;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26 ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 (in-package :cl-user)
31 (defpackage :hunchentoot-asd
32   (:use :cl :asdf))
34 (in-package :hunchentoot-asd)
36 (defvar *hunchentoot-version* "1.2.3"
37   "A string denoting the current version of Hunchentoot.  Used
38 for diagnostic output.")
40 (export '*hunchentoot-version*)
42 (defsystem :hunchentoot
43   :serial t
44   :version #.*hunchentoot-version*
45   :description "Hunchentoot is a HTTP server based on USOCKET and
46   BORDEAUX-THREADS.  It supports HTTP 1.1, serves static files, has a
47   simple framework for user-defined handlers and can be extended
48   through subclassing."
49   :depends-on (:chunga
50                :cl-base64
51                :cl-fad
52                :cl-ppcre
53                :flexi-streams
54                #-(or :lispworks :hunchentoot-no-ssl) :cl+ssl
55                :md5
56                :rfc2388
57                :trivial-backtrace
58                #-:lispworks :usocket
59                #-:lispworks :bordeaux-threads)
60   :components ((:module url-rewrite
61                 :serial t
62                 :components ((:file "packages")
63                              (:file "specials")
64                              (:file "primitives")
65                              (:file "util")
66                              (:file "url-rewrite")))
67                (:file "packages")
68                #+:lispworks (:file "lispworks")
69                #-:lispworks (:file "compat")
70                (:file "specials")
71                (:file "conditions")
72                (:file "mime-types")
73                (:file "util")
74                (:file "log")
75                (:file "cookie")
76                (:file "reply")
77                (:file "request")
78                (:file "session")
79                (:file "misc")
80                (:file "easy-handlers")
81                (:file "headers")
82                (:file "set-timeouts")
83                (:file "taskmaster")
84                (:file "acceptor")
85                #-:hunchentoot-no-ssl (:file "ssl")))
87 (defsystem :hunchentoot-test
88   :description "Self test functionality for the Hunchentoot HTTP server."
89   :components ((:module "test"
90                         :serial t
91                         :components ((:file "packages")
92                                      (:file "test-handlers")
93                                      (:file "script-engine")
94                                      (:file "script"))))
95   :depends-on (:hunchentoot :cl-who :cl-ppcre :drakma))
97 (defmethod perform ((o test-op) (c (eql (find-system 'hunchentoot))))
98   (load (merge-pathnames "run-test.lisp" (system-source-directory c))))