For years now, we at ITA have been satisfied with a patch that does
the following while building QRes: allow to specify module names that
include a directory component, without having to redundantly as in

 (:module "subdir1/subdir2"
  :components ((:file "subdir3/name3") (:file "subdir4/name4.subname4")))

instead of the cumbersome (to be portable):

 (:module "subdir1/subdir2" :pathname #.(make-pathname :directory
'(:relative "subdir" "subdir2"))
  :components ((:file "subdir3/name3" :pathname #.(make-pathname
:directory '(:relative "subdir3" :name "name3")))
  (:file "subdir4/name4.subname4" :pathname #.(make-pathname
:directory '(:relative "subdir4" :name "name4.subname4"))))))

Since there is active ASDF development again, I cleaned it up and here it is.

The methods should replace those currently in ASDF. The helper
function now uses the existing ASDF split function (as previously
requested by Xof).

The patch is both backwards compatible and portable, in that
* the "/" character was previously forbidden in names of portable
components without a :pathname statement, least it breaks miserably on
most platforms.
* the "/" character is now recognized by ASDF itself as a separator
for directories later made with make-pathname, thus doing what is
expected even on the odd platform without "/" as the pathname
separator.

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
Selfishness is the measure of all good (and bad) in the world. There cannot be
any good whatsoever without a self to feel it. WHO is whatever "altruistic"
oppression ever good for? No one. Why is gratuitous vandalism or
well-intentioned mass murder bad? Not because it is selfish, but precisely
because it hurts other people's selfish interest.

Attachment: asdf-paths.lisp
Description: Binary data

_______________________________________________
asdf-devel mailing list
[email protected]
http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel

Reply via email to