1 (defpackage :postmodern-system
2 (:use :common-lisp :asdf)
4 (in-package :postmodern-system)
6 ;; Change this to manually turn threading support on or off.
7 (eval-when (:compile-toplevel :load-toplevel :execute)
8 #+(or allegro armedbear cmu corman (and digitool ccl-5.1)
9 ecl lispworks openmcl sbcl)
10 (pushnew :postmodern-thread-safe *features*)
12 #+(or allegro clisp ecl lispworks mcl openmcl cmu sbcl)
13 (pushnew :postmodern-use-mop *features*))
15 (defsystem :postmodern
16 :description "PostgreSQL programming API"
17 :author "Marijn Haverbeke <marijnh@gmail.com>"
19 :depends-on (:cl-postgres :s-sql #+postmodern-use-mop :closer-mop
20 #+postmodern-thread-safe :bordeaux-threads)
23 :components ((:file "package")
24 (:file "connect" :depends-on ("package"))
25 (:file "query" :depends-on ("connect"))
26 (:file "prepare" :depends-on ("query"))
27 (:file "util" :depends-on ("query"))
28 (:file "transaction" :depends-on ("query"))
29 (:file "namespace" :depends-on ("query"))
31 (:file "table" :depends-on ("util" "transaction"))
32 (:file "deftable" :depends-on
33 ("query" #+postmodern-use-mop "table")))))
34 :in-order-to ((test-op (test-op :postmodern-tests))))
36 (defsystem :postmodern-tests
37 :depends-on (:postmodern :fiveam :simple-date :simple-date-postgres-glue
41 :components ((:file "tests"))))
42 :perform (test-op (o c)
43 (uiop:symbol-call :cl-postgres-tests '#:prompt-connection)
44 (uiop:symbol-call :fiveam '#:run! :postmodern)))