48 lines
1.4 KiB
Common Lisp
48 lines
1.4 KiB
Common Lisp
(require 'asdf)
|
|
|
|
(defmacro def-pegrep (name &rest args)
|
|
`(asdf:defsystem ,name
|
|
:serial t
|
|
:build-operation "program-op"
|
|
:entry-point "pegrep:entry"
|
|
:depends-on ("alexandria")
|
|
:components
|
|
((:module "./src"
|
|
:serial t
|
|
:components ((:file "pegrep"))))
|
|
,@args))
|
|
|
|
(def-pegrep :pegrep
|
|
:build-pathname "./build/pegrep"
|
|
:around-compile (lambda (next)
|
|
(proclaim '(optimize
|
|
(safety 3)
|
|
(debug 0)
|
|
(speed 3)))
|
|
(funcall next)))
|
|
|
|
(def-pegrep :pegrep/faf
|
|
:build-pathname "./build/pegrep-faf"
|
|
:around-compile (lambda (next)
|
|
(proclaim '(optimize
|
|
(safety 0)
|
|
(debug 0)
|
|
(speed 3)))
|
|
(funcall next)))
|
|
|
|
(def-pegrep :pegrep/debug
|
|
:build-pathname "./build/pegrep-debug"
|
|
:around-compile (lambda (next)
|
|
(proclaim '(optimize
|
|
(safety 3)
|
|
(debug 3)
|
|
(speed 0)))
|
|
(funcall next)))
|
|
|
|
(asdf:defsystem :pegrep/tests
|
|
:depends-on (:pegrep :fiveam)
|
|
:perform (asdf:test-op (o s)
|
|
(uiop:symbol-call :pegrep-tests :test-pegrep))
|
|
:components ((:module "./test"
|
|
:serial t
|
|
:components ((:file "main")))))
|