-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathscriptl.asd
54 lines (45 loc) · 1.58 KB
/
scriptl.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
(defpackage :scriptl.asdf
(:use #:cl #:asdf))
(in-package :scriptl.asdf)
(defclass autoconf-module (module)
((prefix :initarg :prefix :initform nil)
(configure-args :initarg :configure-args :initform nil)
(test-target :initarg :test-target :initform nil
:documentation "Quick check to see if things are built")))
(defmethod perform ((op compile-op) (c autoconf-module))
(with-slots (prefix configure-args test-target) c
(let ((path (asdf:component-pathname c)))
(unless (probe-file (merge-pathnames test-target path))
(let ((*verbose-out* *standard-output*))
(run-shell-command "cd ~A ; sh ./configure ~@[--prefix=~A~] ~@[~A~]; make"
path prefix configure-args))))))
(defmethod operation-done-p ((op compile-op) (c autoconf-module))
nil)
(defsystem :scriptl
:description "Scripting, Common Lisp style"
:author "Ryan Pavlik"
:license "LLGPL"
:version "2.1"
:depends-on (:alexandria :bordeaux-threads :iolib :osicat
:trivial-utf-8 :trivial-gray-streams :trivial-backtrace
:cl-ppcre :defpackage-plus)
:serial t
:components
((:module "bin"
:pathname "bin")
(:module "src"
:pathname "src"
:components
((:file "package")
(:file "proto")
(:file "packet-io-stream")
(:file "script-text")
(:file "make-script")
(:file "scriptl-v1")
(:file "scriptl-v2")
(:file "server")
(:file "asdf-util")
(:file "scriptl-cmd")
(:autoconf-module "scriptlcom"
:pathname "scriptlcom"
:test-target "src/scriptlcom")))))