Sun Feb 7 07:33:38 UTC 2010 pix@kepibu.org * Fix export of lib-dependent symbols diff -rN -u old-cl-unification-1/cl-unification.asd new-cl-unification-1/cl-unification.asd --- old-cl-unification-1/cl-unification.asd 2014-09-11 07:34:34.000000000 +0000 +++ new-cl-unification-1/cl-unification.asd 2014-09-11 07:34:34.000000000 +0000 @@ -1,11 +1,7 @@ ;;;; -*- Mode: Lisp -*- - ;;;; cl-unification.asd -- ;;;; ASDF system file. -;;;;=========================================================================== -;;;; Simple stuff that should be built in ASDF. - (defpackage "CL-UNIFICATION-SYSTEM" (:use "CL" "ASDF")) (in-package "CL-UNIFICATION-SYSTEM") @@ -13,9 +9,19 @@ (when (asdf:find-system 'asdf-system-connections nil) (asdf:oos 'asdf:load-op 'asdf-system-connections)) -(defclass asdf-system-definition-file (asdf:cl-source-file) ()) -(defmethod source-file-type ((c asdf-system-definition-file) (s module)) "asd") - +(defclass load-only-file (cl-source-file) + ((last-loaded :accessor load-date :initform nil))) +(defmethod operation-done-p ((op compile-op) (component load-only-file)) + t) +(defmethod perform :around ((op compile-op) (component load-only-file)) + nil) +(defmethod operation-done-p ((op load-op) (component load-only-file)) + (and (load-date component) + (>= (load-date component) (file-write-date (component-pathname component))))) +(defmethod perform ((op load-op) (component load-only-file)) + (prog1 (load (component-pathname component)) + (setf (load-date component) + (file-write-date (component-pathname component))))) (asdf:defsystem :cl-unification :author "Marco Antoniotti" @@ -28,29 +34,20 @@ (:file "template-reader") (:file "unifier") (:file "match-block") - (:file "apply-substitution") - #+asdf-with-optional-dependencies - (:module "lib-dependent" - :pathname "lib-dependent" - :depends-on ("templates-hierarchy" "unifier") - :components ((:file "cl-ppcre-template" - :depends-on (cl-ppcre)) - )) - #-asdf-with-optional-dependencies - (asdf-system-definition-file - "cl-unification-lib") - )) + (:file "apply-substitution"))) #+asdf-system-connections (asdf:defsystem-connection cl-unification+cl-ppcre :requires (:cl-ppcre :cl-unification) - :components ((:module "lib-dependent" + :components ((:load-only-file "unification-package") + (:module "lib-dependent" :components ((:file "cl-ppcre-template"))))) #+asdf-system-connections (asdf:defsystem-connection cl-unification+named-readtables :requires (:cl-unification :named-readtables) - :components ((:module "lib-dependent" + :components ((:load-only-file "unification-package") + (:module "lib-dependent" :components ((:file "named-readtable"))))) ;;;; end of file -- cl-unification.asd --