[asdf-devel] :logical-hostname

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Sat Apr 10 00:29:12 UTC 2010


A new implementation was just uploaded which implements the
:logical-pathname argument for defsystem. It constructs four definitions,
one using Faré's favourite no-namespace-clobbering scheme and three other
ones that gives a bit more freedom to the developer, separating sources from
"automatically" generated files.

The code does minimal collision checks. It will basically complain when
there exists a translation that matches the one we are proposing but was not
created by ASDF. If the user selects the CONTINUE restart, those
translations will be deleted.

(defsystem :foo
    :logical-pathname "FOO:BASE"
    :components ((:file "faa")))

(let ((x "COMMON-LISP:SYSTEMS;FOO;FAA.LISP"))
  (format t "~&;;; Pathname ~S~%;;; translates into ~S"
          x (translate-logical-pathname x)))
(let ((x "FOO:BASE;SOURCE;FAA.LISP")) ;; BASE;DATA;FAA.LISP is a synonym
  (format t "~&;;; Pathname ~S~%;;; translates into ~S"
          x (translate-logical-pathname x)))
(let ((x "FOO:BASE;OUTPUT-FILES;FAA.LISP"))
  (format t "~&;;; Pathname ~S~%;;; translates into ~S"
          x (translate-logical-pathname x)))
(terpri)

;;; Pathname "COMMON-LISP:SYSTEMS;FOO;FAA.LISP"
;;; translates into #P"/Users/jjgarcia/devel/asdf/faa.lisp"
;;; Pathname "FOO:BASE;SOURCE;FAA.LISP"
;;; translates into #P"/Users/jjgarcia/devel/asdf/faa.lisp"
;;; Pathname "FOO:BASE;OUTPUT-FILES;FAA.LISP"
;;; translates into #P"/Users/jjgarcia/devel/asdf/faa.lisp"

The attitude here is probably that this is useless and should be totally
hidden in a contribution directory

Placing it in a "contrib" section means accepting it because of "politeness"
or insistence of the submitter, but effectively making this useless, because
then no library will be able to depend on it, for the :logical-pathname
keyword will only be available when the user loads the appropriate
extension.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://tream.dreamhosters.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20100410/a33d2905/attachment.html>


More information about the asdf-devel mailing list