-
-
Notifications
You must be signed in to change notification settings - Fork 37
/
fast-http.asd
54 lines (50 loc) · 2 KB
/
fast-http.asd
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
#|
This file is a part of fast-http project.
URL: http://github.com/fukamachi/fast-http
Copyright (c) 2014 Eitaro Fukamachi <[email protected]>
|#
(in-package :cl-user)
(defpackage fast-http-asd
(:use :cl :asdf))
(in-package :fast-http-asd)
(defsystem fast-http
:name "Fast HTTP Parser"
:description "A fast HTTP protocol parser in Common Lisp"
:version "0.2.0"
:author "Eitaro Fukamachi"
:license "MIT"
:depends-on (:alexandria
:cl-utilities
:proc-parse
:babel
:xsubseq
#+fast-http-debug
:log4cl
:smart-buffer)
:components ((:module "src"
:components
((:file "fast-http" :depends-on ("http" "parser" "multipart-parser" "byte-vector" "error"))
(:file "http")
(:file "parser" :depends-on ("http" "error" "byte-vector" "util"))
(:file "multipart-parser" :depends-on ("parser" "byte-vector" "error"))
(:file "byte-vector")
(:file "error")
(:file "util" :depends-on ("error")))))
:long-description
#.(with-open-file (stream (merge-pathnames
#p"README.markdown"
(or *load-pathname* *compile-file-pathname*))
:if-does-not-exist nil
:direction :input)
(when stream
(let ((seq (make-array (file-length stream)
:element-type 'character
:fill-pointer t)))
(setf (fill-pointer seq) (read-sequence seq stream))
seq)))
:in-order-to ((test-op (test-op fast-http-test))))
;; XXX: On ECL, it fails if loading a FASL file of parser.lisp.
;; This is an ugly workaround for now, as I don't get why it happens.
#+ecl
(defmethod asdf:perform :after ((op asdf:load-op) (c (eql (asdf:find-system :fast-http))))
(load (asdf:system-relative-pathname :fast-http #P"src/parser.lisp")))