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