ASDF-Binary-Locations is an ASDF-Extension that makes it easy to specify where your Common Lisp binaries (FASL files) should go. If you don't want to specify, then not to worry: ABL also provides intelligent defaults.
Voila, your binaries will be sorted as required but never spindled, folded or mutilated.
As you would expect, each Common Lisp implementation has its own format for binary compiled files. If you use multiple implementations (or multiple versions of the same implementation), you'll soon find your source directories littered with various DFSLs, FASLs, CFSLs and so on. This is ugly and makes navigating the sources more difficult. Worse yet, some implementations may share the same file extension or change formats from version to version. This means that you'll find yourself constantly recompiling binaries as you switch from one implementation to the next. That's downright inefficient.
ASDF-Binary-Locations prevents this nightmare by first providing reasonable default locations for binaries of each Lisp and, secondly, by allowing you to customize the locations as required.
ABL's default binary location for each Lisp implementation is a subdirectory of the source directory. To account for different Lisps, Operating Systems, implementation versions, and so on, ABL borrows code from SLIME to create intelligent directory names as necessary. You can also have ABL put all compiled files into subdirectories of a single central location. See the user's guide for details.
A darcs repository is available. The darcs command is listed below:
darcs get http://common-lisp.net/project/asdf-binary-locations/
ASDF-Binary-Locations is also ASDF installable. Its CLiki home is right where you'd expect.
There's also a handy gzipped tar file.
;; force SBCL things to stay in SBCL
(defvar asdf::*source-to-target-mappings*
'(("/usr/local/lib/sbcl/" nil)))
Note that this is currently the built-in behavior of ABL and has been for a while...
implementation-specific-directory-name