File: fast-http.asd

package info (click to toggle)
acl2 8.6%2Bdfsg-3
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 1,138,276 kB
  • sloc: lisp: 17,818,294; java: 125,359; python: 28,122; javascript: 23,458; cpp: 18,851; ansic: 11,569; perl: 7,678; xml: 5,591; sh: 3,978; makefile: 3,840; ruby: 2,633; yacc: 1,126; ml: 763; awk: 295; csh: 233; lex: 197; php: 178; tcl: 49; asm: 23; haskell: 17
file content (54 lines) | stat: -rw-r--r-- 2,045 bytes parent folder | download | duplicates (3)
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 <e.arrows@gmail.com>
|#

(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")))