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.