pegrep-cl/pegrep.asd
2024-09-22 12:27:54 -05:00

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