Loading asdf.lisp +28 −20 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ (defvar *asdf-version* nil) (defvar *upgraded-p* nil) (let* ((asdf-version ;; the 1+ helps the version bumping script discriminate (subseq "VERSION:2.007" (1+ (length "VERSION")))) ; same as 2.124 (subseq "VERSION:2.008" (1+ (length "VERSION")))) ; same as 2.128 (existing-asdf (fboundp 'find-system)) (existing-version *asdf-version*) (already-there (equal asdf-version existing-version))) Loading Loading @@ -176,6 +176,9 @@ :shadow ',shadow :unintern ',(append #-(or gcl ecl) redefined-functions unintern) :fmakunbound ',(append fmakunbound)))) (let ((u (find-package :asdf-utilities))) (when u (ensure-unintern u (loop :for s :being :each :present-symbol :in u :collect s)))) (pkgdcl :asdf :use (:common-lisp) Loading Loading @@ -287,29 +290,29 @@ #:clear-source-registry #:ensure-source-registry #:process-source-registry #:system-registered-p #:asdf-message ;; Utilities #:absolute-pathname-p #:aif #:appendf #:asdf-message ;; #:aif #:it ;; #:appendf #:coerce-name #:directory-pathname-p #:ends-with ;; #:ends-with #:ensure-directory-pathname #:getenv #:get-uid #:length=n-p ;; #:get-uid ;; #:length=n-p #:merge-pathnames* #:pathname-directory-pathname #:read-file-forms #:remove-keys #:remove-keyword ;; #:remove-keys ;; #:remove-keyword #:resolve-symlinks #:split-string #:component-name-to-pathname-components #:split-name-type #:system-registered-p #:truenamize #:while-collecting))) (setf *asdf-version* asdf-version Loading Loading @@ -531,7 +534,7 @@ Also, if either argument is NIL, then the other argument is returned unmodified. (let* ((specified (pathname specified)) (defaults (pathname defaults)) (directory (pathname-directory specified)) #-sbcl (directory (if (stringp directory) `(:absolute ,directory) directory)) #-(or sbcl cmu) (directory (if (stringp directory) `(:absolute ,directory) directory)) (name (or (pathname-name specified) (pathname-name defaults))) (type (or (pathname-type specified) (pathname-type defaults))) (version (or (pathname-version specified) (pathname-version defaults)))) Loading Loading @@ -740,7 +743,9 @@ actually-existing directory." '(ffi:clines "#include <sys/types.h>" "#include <unistd.h>")) (defun* get-uid () #+allegro (excl.osi:getuid) #+clisp (posix:uid) #+clisp (loop :for s :in '("posix:uid" "LINUX:getuid") :for f = (ignore-errors (read-from-string s)) :when f :return (funcall f)) #+(or cmu scl) (unix:unix-getuid) #+ecl #.(cl:if (cl:< ext:+ecl-version-number+ 100601) '(ffi:c-inline () () :int "getuid()" :one-liner t) Loading @@ -764,11 +769,13 @@ actually-existing directory." (defun* probe-file* (p) "when given a pathname P, probes the filesystem for a file or directory with given pathname and if it exists return its truename." (and (pathnamep p) (not (wild-pathname-p p)) #+(or allegro clozure cmu ecl sbcl scl) (probe-file p) #+clisp (ext:probe-pathname p) #-(or allegro clisp clozure cmu ecl sbcl scl) (ignore-errors (truename p)))) (etypecase p (null nil) (string (probe-file* (parse-namestring p))) (pathname (unless (wild-pathname-p p) #.(or #+(or allegro clozure cmu ecl sbcl scl) '(probe-file p) #+clisp (aif (find-symbol (string :probe-pathname) :ext) `(,it p)) '(ignore-errors (truename p))))))) (defun* truenamize (p) "Resolve as much of a pathname as possible" Loading @@ -779,7 +786,7 @@ with given pathname and if it exists return its truename." (when (typep p 'logical-pathname) (return p)) (let ((found (probe-file* p))) (when found (return found))) #-sbcl (when (stringp directory) (return p)) #-(or sbcl cmu) (when (stringp directory) (return p)) (when (not (eq :absolute (car directory))) (return p)) (let ((sofar (probe-file* (pathname-root p)))) (unless sofar (return p)) Loading Loading @@ -857,7 +864,8 @@ with given pathname and if it exists return its truename." error-name error-pathname error-condition duplicate-names-name error-component error-operation module-components module-components-by-name) module-components module-components-by-name circular-dependency-components) (ftype (function (t t) t) (setf module-components-by-name))) Loading Loading @@ -1353,7 +1361,7 @@ to ~S which is not a directory.~@:>" ;; NOTE that the host and device slots will be taken from the defaults, ;; but that should only matter if you either (a) use absolute pathnames, or ;; (b) later merge relative pathnames with CL:MERGE-PATHNAMES instead of ;; ASDF-UTILITIES:MERGE-PATHNAMES* ;; ASDF:MERGE-PATHNAMES* (etypecase name (pathname name) Loading doc/asdf.texinfo +35 −4 Original line number Diff line number Diff line Loading @@ -1891,8 +1891,10 @@ and for XCVB the corresponding functions are in package XCVB. @defun clear-source-registry undoes any source registry configuration and clears any cache for the search algorithm. You might want to call that before you dump an image that would be resumed with a different configuration, You might want to call this function (or better, @code{clear-configuration}) before you dump an image that would be resumed with a different configuration, and return an empty configuration. Note that this does not include clearing information about systems defined in the current image, only about Loading @@ -1904,6 +1906,15 @@ and for XCVB the corresponding functions are in package XCVB. If not, initialize it with the given @var{PARAMETER}. @end defun Every time you use ASDF's @code{find-system}, or anything that uses it (such as @code{operate}, @code{load-system}, etc.), @code{ensure-source-registry} is called with parameter NIL, which the first time around causes your configuration to be read. If you change a configuration file, you need to explicitly @code{initialize-source-registry} again, or maybe simply to @code{clear-source-registry} (or @code{clear-configuration}) which will cause the initialization to happen next time around. @section Future Loading Loading @@ -2375,8 +2386,10 @@ The specified functions are exported from package ASDF. @defun clear-output-translations undoes any output translation configuration and clears any cache for the mapping algorithm. You might want to call that before you dump an image that would be resumed with a different configuration, You might want to call this function (or better, @code{clear-configuration}) before you dump an image that would be resumed with a different configuration, and return an empty configuration. Note that this does not include clearing information about systems defined in the current image, only about Loading @@ -2394,6 +2407,15 @@ The specified functions are exported from package ASDF. (calls @code{ensure-output-translations} for the translations). @end defun Every time you use ASDF's @code{output-files}, or anything that uses it (that may compile, such as @code{operate}, @code{perform}, etc.), @code{ensure-output-translations} is called with parameter NIL, which the first time around causes your configuration to be read. If you change a configuration file, you need to explicitly @code{initialize-output-translations} again, or maybe @code{clear-output-translations} (or @code{clear-configuration}), which will cause the initialization to happen next time around. @section Credits for output translations Loading Loading @@ -3140,6 +3162,15 @@ initform for the @code{type} slot: ((type :initform "cl"))) @end lisp To support both ASDF 1 and ASDF 2, you may omit the above @code{type} slot definition and instead define: @lisp (defmethod source-file-type ((f my-cl-source-file) (m module)) (declare (ignorable f m)) "cl") @end lisp Then make your system use this subclass in preference to the standard one: Loading doc/index.html +3 −3 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ <div class="contents"> <a id="ASDF 2"></a> <h3>ASDF 2</h3> <p>We recently released ASDF 2 (on May 31st 2010). <p>We released ASDF 2 on May 31st 2010. It will hopefully be bundled will all official releases of Common Lisp implementations made after that date. </p> Loading Loading @@ -98,7 +98,7 @@ <a id="news"></a> <h3>What is happening</h3> <dl> <dt>December 2009 to August 2010</dt> <dt>Since December 2009</dt> <dd>François-René Rideau is de facto maintainer, with notable contributions from Robert P. Goldman, Juanjo Garcia-Ripoll and James Anderson. Loading Loading @@ -133,7 +133,7 @@ <a class="nav" href="http://common-lisp.net/" title="Common-Lisp.net"> <img src="http://common-lisp.net/project/cl-containers/shared/buttons/lisp-lizard.png" width="80" height="15" title="Common-Lisp.net" alt="Common-Lisp.net button" /></a> <p><span class="copyright"Copyright © 2001-2010 Daniel Barlow and contributors</span></p> <p>ASDF has an <a href="http://www.opensource.org/licenses/mit-license.php">MIT style</a> license</p> <div id="timestamp">Last updated 2010-06-02</div> <div id="timestamp">Last updated 2010-10-06</div> </div> </body> </html> Loading
asdf.lisp +28 −20 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ (defvar *asdf-version* nil) (defvar *upgraded-p* nil) (let* ((asdf-version ;; the 1+ helps the version bumping script discriminate (subseq "VERSION:2.007" (1+ (length "VERSION")))) ; same as 2.124 (subseq "VERSION:2.008" (1+ (length "VERSION")))) ; same as 2.128 (existing-asdf (fboundp 'find-system)) (existing-version *asdf-version*) (already-there (equal asdf-version existing-version))) Loading Loading @@ -176,6 +176,9 @@ :shadow ',shadow :unintern ',(append #-(or gcl ecl) redefined-functions unintern) :fmakunbound ',(append fmakunbound)))) (let ((u (find-package :asdf-utilities))) (when u (ensure-unintern u (loop :for s :being :each :present-symbol :in u :collect s)))) (pkgdcl :asdf :use (:common-lisp) Loading Loading @@ -287,29 +290,29 @@ #:clear-source-registry #:ensure-source-registry #:process-source-registry #:system-registered-p #:asdf-message ;; Utilities #:absolute-pathname-p #:aif #:appendf #:asdf-message ;; #:aif #:it ;; #:appendf #:coerce-name #:directory-pathname-p #:ends-with ;; #:ends-with #:ensure-directory-pathname #:getenv #:get-uid #:length=n-p ;; #:get-uid ;; #:length=n-p #:merge-pathnames* #:pathname-directory-pathname #:read-file-forms #:remove-keys #:remove-keyword ;; #:remove-keys ;; #:remove-keyword #:resolve-symlinks #:split-string #:component-name-to-pathname-components #:split-name-type #:system-registered-p #:truenamize #:while-collecting))) (setf *asdf-version* asdf-version Loading Loading @@ -531,7 +534,7 @@ Also, if either argument is NIL, then the other argument is returned unmodified. (let* ((specified (pathname specified)) (defaults (pathname defaults)) (directory (pathname-directory specified)) #-sbcl (directory (if (stringp directory) `(:absolute ,directory) directory)) #-(or sbcl cmu) (directory (if (stringp directory) `(:absolute ,directory) directory)) (name (or (pathname-name specified) (pathname-name defaults))) (type (or (pathname-type specified) (pathname-type defaults))) (version (or (pathname-version specified) (pathname-version defaults)))) Loading Loading @@ -740,7 +743,9 @@ actually-existing directory." '(ffi:clines "#include <sys/types.h>" "#include <unistd.h>")) (defun* get-uid () #+allegro (excl.osi:getuid) #+clisp (posix:uid) #+clisp (loop :for s :in '("posix:uid" "LINUX:getuid") :for f = (ignore-errors (read-from-string s)) :when f :return (funcall f)) #+(or cmu scl) (unix:unix-getuid) #+ecl #.(cl:if (cl:< ext:+ecl-version-number+ 100601) '(ffi:c-inline () () :int "getuid()" :one-liner t) Loading @@ -764,11 +769,13 @@ actually-existing directory." (defun* probe-file* (p) "when given a pathname P, probes the filesystem for a file or directory with given pathname and if it exists return its truename." (and (pathnamep p) (not (wild-pathname-p p)) #+(or allegro clozure cmu ecl sbcl scl) (probe-file p) #+clisp (ext:probe-pathname p) #-(or allegro clisp clozure cmu ecl sbcl scl) (ignore-errors (truename p)))) (etypecase p (null nil) (string (probe-file* (parse-namestring p))) (pathname (unless (wild-pathname-p p) #.(or #+(or allegro clozure cmu ecl sbcl scl) '(probe-file p) #+clisp (aif (find-symbol (string :probe-pathname) :ext) `(,it p)) '(ignore-errors (truename p))))))) (defun* truenamize (p) "Resolve as much of a pathname as possible" Loading @@ -779,7 +786,7 @@ with given pathname and if it exists return its truename." (when (typep p 'logical-pathname) (return p)) (let ((found (probe-file* p))) (when found (return found))) #-sbcl (when (stringp directory) (return p)) #-(or sbcl cmu) (when (stringp directory) (return p)) (when (not (eq :absolute (car directory))) (return p)) (let ((sofar (probe-file* (pathname-root p)))) (unless sofar (return p)) Loading Loading @@ -857,7 +864,8 @@ with given pathname and if it exists return its truename." error-name error-pathname error-condition duplicate-names-name error-component error-operation module-components module-components-by-name) module-components module-components-by-name circular-dependency-components) (ftype (function (t t) t) (setf module-components-by-name))) Loading Loading @@ -1353,7 +1361,7 @@ to ~S which is not a directory.~@:>" ;; NOTE that the host and device slots will be taken from the defaults, ;; but that should only matter if you either (a) use absolute pathnames, or ;; (b) later merge relative pathnames with CL:MERGE-PATHNAMES instead of ;; ASDF-UTILITIES:MERGE-PATHNAMES* ;; ASDF:MERGE-PATHNAMES* (etypecase name (pathname name) Loading
doc/asdf.texinfo +35 −4 Original line number Diff line number Diff line Loading @@ -1891,8 +1891,10 @@ and for XCVB the corresponding functions are in package XCVB. @defun clear-source-registry undoes any source registry configuration and clears any cache for the search algorithm. You might want to call that before you dump an image that would be resumed with a different configuration, You might want to call this function (or better, @code{clear-configuration}) before you dump an image that would be resumed with a different configuration, and return an empty configuration. Note that this does not include clearing information about systems defined in the current image, only about Loading @@ -1904,6 +1906,15 @@ and for XCVB the corresponding functions are in package XCVB. If not, initialize it with the given @var{PARAMETER}. @end defun Every time you use ASDF's @code{find-system}, or anything that uses it (such as @code{operate}, @code{load-system}, etc.), @code{ensure-source-registry} is called with parameter NIL, which the first time around causes your configuration to be read. If you change a configuration file, you need to explicitly @code{initialize-source-registry} again, or maybe simply to @code{clear-source-registry} (or @code{clear-configuration}) which will cause the initialization to happen next time around. @section Future Loading Loading @@ -2375,8 +2386,10 @@ The specified functions are exported from package ASDF. @defun clear-output-translations undoes any output translation configuration and clears any cache for the mapping algorithm. You might want to call that before you dump an image that would be resumed with a different configuration, You might want to call this function (or better, @code{clear-configuration}) before you dump an image that would be resumed with a different configuration, and return an empty configuration. Note that this does not include clearing information about systems defined in the current image, only about Loading @@ -2394,6 +2407,15 @@ The specified functions are exported from package ASDF. (calls @code{ensure-output-translations} for the translations). @end defun Every time you use ASDF's @code{output-files}, or anything that uses it (that may compile, such as @code{operate}, @code{perform}, etc.), @code{ensure-output-translations} is called with parameter NIL, which the first time around causes your configuration to be read. If you change a configuration file, you need to explicitly @code{initialize-output-translations} again, or maybe @code{clear-output-translations} (or @code{clear-configuration}), which will cause the initialization to happen next time around. @section Credits for output translations Loading Loading @@ -3140,6 +3162,15 @@ initform for the @code{type} slot: ((type :initform "cl"))) @end lisp To support both ASDF 1 and ASDF 2, you may omit the above @code{type} slot definition and instead define: @lisp (defmethod source-file-type ((f my-cl-source-file) (m module)) (declare (ignorable f m)) "cl") @end lisp Then make your system use this subclass in preference to the standard one: Loading
doc/index.html +3 −3 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ <div class="contents"> <a id="ASDF 2"></a> <h3>ASDF 2</h3> <p>We recently released ASDF 2 (on May 31st 2010). <p>We released ASDF 2 on May 31st 2010. It will hopefully be bundled will all official releases of Common Lisp implementations made after that date. </p> Loading Loading @@ -98,7 +98,7 @@ <a id="news"></a> <h3>What is happening</h3> <dl> <dt>December 2009 to August 2010</dt> <dt>Since December 2009</dt> <dd>François-René Rideau is de facto maintainer, with notable contributions from Robert P. Goldman, Juanjo Garcia-Ripoll and James Anderson. Loading Loading @@ -133,7 +133,7 @@ <a class="nav" href="http://common-lisp.net/" title="Common-Lisp.net"> <img src="http://common-lisp.net/project/cl-containers/shared/buttons/lisp-lizard.png" width="80" height="15" title="Common-Lisp.net" alt="Common-Lisp.net button" /></a> <p><span class="copyright"Copyright © 2001-2010 Daniel Barlow and contributors</span></p> <p>ASDF has an <a href="http://www.opensource.org/licenses/mit-license.php">MIT style</a> license</p> <div id="timestamp">Last updated 2010-06-02</div> <div id="timestamp">Last updated 2010-10-06</div> </div> </body> </html>