On 1/24/11 Jan 24 -9:03 AM, David Wang wrote:
Hello,
QUESTION:
- Could someone add a system naming convention section to the ASDF
documentation, to help future users with similar problems? 2. If someone knows whether my rules-of-thumb (below) are right or wrong, let me know.
EXPLANATION: I've been porting a large code base from Franz/Allegro's defsystem to ASDF 2.012. I was originally writing the .ASD files on Windows and recently tried testing the build with the same .ASD files on the Linux variant, Fedora 14, but had some problems with various missing-components. I realized the problem had something to do with the treatment of case in filenames, and ended up fixing problem by examining the ASDF code and inventing some rules-of-thumb:
- When using Strings to name a system, make sure the filename of the ASD
file, the name of the system defined in that file, and any uses of the system-name in other ASD files all have the same case. i.e.:
In the file "SyStEmA.asd": (asdf:defsystem "SyStEmA" ...) In the file "SyStEmB.asd" (asdf:defsystem "SyStEmB" :depends-on ("SyStEmA"))
Isn't this going to be unhappy if it hits logical pathnames, at least for portability? ACL and SBCL have rather different policies about mixed-case names in logical pathnames, IIRC. I just try to avoid mixed-case now. Minor nuisance, but it is guaranteed to be safe.
best, r