/
cl-unification.asd
 1 ;;;; -*- Mode: Lisp -*-
 2 ;;;; cl-unification.asd --
 3 ;;;; ASDF system file.
 4 
 5 ;;;; See file COPYING for copyright licensing information.
 6 
 7 (defpackage "CL-UNIFICATION-SYSTEM" (:use "CL" "ASDF"))
 8 
 9 (in-package "CL-UNIFICATION-SYSTEM")
10 
11 (when (asdf:find-system 'asdf-system-connections nil)
12   (asdf:oos 'asdf:load-op 'asdf-system-connections))
13 
14 (defclass load-only-file (cl-source-file)
15   ((last-loaded :accessor load-date :initform nil)))
16 (defmethod operation-done-p ((op compile-op) (component load-only-file))
17   t)
18 (defmethod perform :around ((op compile-op) (component load-only-file))
19   nil)
20 (defmethod operation-done-p ((op load-op) (component load-only-file))
21   (and (load-date component)
22        (>= (load-date component) (file-write-date (component-pathname component)))))
23 (defmethod perform ((op load-op) (component load-only-file))
24   (prog1 (load (component-pathname component))
25     (setf (load-date component)
26           (file-write-date (component-pathname component)))))
27 
28 (asdf:defsystem :cl-unification
29   :author "Marco Antoniotti"
30   :in-order-to ((test-op (test-op :cl-unification-test)))
31   :serial t
32   :components ((:file "unification-package")
33                (:file "variables")
34                (:file "substitutions")
35                (:file "lambda-list-parsing")
36                (:file "templates-hierarchy")
37                (:file "template-reader")
38                (:file "unifier")
39                (:file "match-block")
40                (:file "apply-substitution")))
41 
42 #+asdf-system-connections
43 (asdf:defsystem-connection cl-unification+cl-ppcre
44     :requires (:cl-ppcre :cl-unification)
45     :components ((:load-only-file "unification-package")
46                  (:module "lib-dependent"
47                   :components ((:file "cl-ppcre-template")))))
48 
49 #+asdf-system-connections
50 (asdf:defsystem-connection cl-unification+named-readtables
51   :requires (:cl-unification :named-readtables)
52   :components ((:load-only-file "unification-package")
53                (:module "lib-dependent"
54                 :components ((:file "named-readtable")))))
55 
56 ;;;; end of file -- cl-unification.asd --