Good morning from Greg Bennett. I am trying to learn enough asdf to port some systems which now use mk:defsystem.
Running under Linux Mint 17.2 and sbcl (or clozure) and using asdf3.1.7,
My (current) difficulty is in understanding the specification of the locations of source and binary files. I *suspect* that I fall among those described in Section 9.2:
"This incompatibility shouldn’t inconvenience many people. Indeed, few people use and customize these packages; these few people are experts who can trivially adapt to the new configuration. Most people are not experts, could not properly configure these features (except inasmuch as the default configuration of |common-lisp-controller| and/or |cl-launch| might have been doing the right thing for some users), and yet will experience software that “just works”, as configured by the system distributor, or by default"
I'm not an expert, and I am very pleased in somethings "just work", but I am inconvenienced. I find code such as
(defsystem zot :source-pathname (etc..) :binary-pathname (etcc..) :components (( ....) clear and helpful. I have tried to understand Sections 8 and 9 of the ASDF manual, indeed I thought I had Section 8 on source locations straight and looked ahead into Section 9, only find myself without any usable idea of how to proceed.
I have scanned through assorted .asd files in the hope of seeing a working example, but none of them use asdf other than as a mechanism for specifying dependencies.
I can define a system pqr with zot.asd, stored in the same directory as the source files. I can run (asdf:operate 'asdf:compile-op 'pqr) and have all the .fasl files squirreled away down in ~/.cache/common-lisp/lots-of-other-depths/.
I should appreciate it very much if someone could point me to examples of working code for specifying source and binary locations.
Thanks for any and all assistance. Cheers /Greg Bennett