Good afternoon from Greg Bennett.
I am trying to convert some mk-defsystem files to asdf and find myself a bit stuck over source and output files, as well as over asdf conventions about the case of certain text items.
My mk-defsystem files contain the two keywords :source-pathname and :binary-pathname As far as I can see, :pathname in asdf plays the role of :source-pathname. In looking for examples, I found the following in the mcclim.asd file: .. ((:module "Tests" :pathname #.(make-pathname :directory '(:relative "Drei" "Tests")) :components .. And indeed there is a subdirectory Tests of the directory Drei which is in the right place relative to the opening directory of the .asd file for :relative to make sense. Q1: Is it possible/permitted to say things like: '(:relative "One" "Two" "Three") to have asdf look two subdirectories down the tree ?
I have been unable to find examples of the use of :output-files in asdf. This option seems to provide the role of :binary-pathname in mk-defsystem. Currently, all tour project's binary files are stored in their own tree with its own root but with the structure of the source tree maintained. Q2: Does the syntax of :output-files permit this sort of thing ? I would seem to need a statement of the form #.(make-pathname :directory '(:absolute "Whatever")) since this is a separately rooted tree. Unless I find a positive answer to Q1, in which case, presumably the syntax of :output-files will be similar and I can locate the driving .asd file high enough up in the whole project for everything to be relative.
From the code (above) I cut from mcclim.asd it seems that mixed case pathnames are allowed. Q3: Have I misunderstood the on-line manual here ? In discussing components it seems insistent on lower case, which I had assumed asdf would 'demand' everywhere.
Thanks for any and all assistance and insights, Cheers /Greg Bennett