From: William H. N. <wil...@ai...> - 2001-02-08 13:26:35
|
On Tue, Feb 06, 2001 at 02:21:44AM -0800, kr...@mo... wrote: > currently, the filename suffix for fasl files in sbcl is ".x86f", same > as for the intel version of cmucl. given the situation in which we > are now, with two branches of development, cmucl vs. sbcl, a number of > people probably want to utilize both of these branches for running > their own code. however, when using a common source tree (for one's > own code), there are collisions when loading compiled files, because > the fasl format is different even though the filenames and suffixes > are identical. > > if sbcl could use a different suffix by default, it would simplify > keeping the compiled files separated and non-interfering. a possible, > reasonable suffix might be ".sbx86f" I see the problem, but as far as I know, any problems which arise from using an extension (e.g. ".o") which collides with output from other compilers aren't usually considered the responsibility of the compiler writers, but instead the responsibility of people who want to compile several different ways in the same directory. E.g., I think it would be a bad idea for GCC to switch over to .gcc-o in order to solve the corresponding problem. I think I'm just going to encourage people who want this solution to implement it themselves, since it can be done in portable Common Lisp code, as in (compile-file "foo.lisp" :output-file "foo.sb-x86f") (load "foo.sb-x86f") or (defvar *fasl-file-extension* (or #+sbcl "sb-x86f" #+cmu "cmu-x86f") "our FASL file extension, or NIL if we don't override default") (cf-compile-file-object-file (foo) ; collision-free COMPILE-FILE-OUTPUT-FILE (if *fasl-file-extension* (make-pathname :defaults foo :type *fasl-file-extension*) (compile-file-object-file foo))) (defun cf-compile-file (foo) (compile-file foo :output-file (cf-compile-file-object-file foo))) (defun cf-load (foo) (load (cf-compile-file-object-file foo))) or, apparently, in the Common Lisp Controller (?) software that was mentioned in an earlier reply. -- William Harold Newman <wil...@ai...> software consultant PGP key fingerprint 85 CE 1C BA 79 8D 51 8C B9 25 FB EE E0 C3 E5 7C |