From 22c6fdac92b8993cc02762d1408452c7d1354ce2 Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola Date: Wed, 1 Sep 2010 15:46:18 +0000 Subject: [PATCH] 1.0.42.17: better host lisp fasl-type logic * Patch by "nixeagle", lp#592903. Use COMPILE-FILE-PATHNAME to figure out the right pathname-type. --- src/cold/shared.lisp | 27 ++++++++------------------- version.lisp-expr | 2 +- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/src/cold/shared.lisp b/src/cold/shared.lisp index 8c94fb9..2077803 100644 --- a/src/cold/shared.lisp +++ b/src/cold/shared.lisp @@ -33,24 +33,6 @@ (defvar *host-obj-prefix*) (defvar *target-obj-prefix*) -;;; suffixes for filename stems when cross-compiling -(defvar *host-obj-suffix* - (or - ;; On some xc hosts, it's impossible to LOAD a fasl file unless it - ;; has the same extension that the host uses for COMPILE-FILE - ;; output, so we have to be careful to use the xc host's preferred - ;; extension. - ;; - ;; FIXME: This is a little ugly and annoying to maintain. And - ;; there's very likely some way to rearrange the build process so - ;; that we never explicitly refer to host object file suffixes, - ;; only to the result of CL:COMPILE-FILE-PATHNAME. - #+lispworks ".ufsl" ; as per Lieven Marchand sbcl-devel 2002-02-01 - #+(and openmcl (not darwin)) ".pfsl" - #+(and openmcl darwin) ".dfsl" - ;; On most xc hosts, any old extension works, so we use an - ;; arbitrary one. - ".lisp-obj")) (defvar *target-obj-suffix* ;; Target fasl files are LOADed (actually only quasi-LOADed, in ;; GENESIS) only by SBCL code, and it doesn't care about particular @@ -242,7 +224,14 @@ (multiple-value-bind (obj-prefix obj-suffix) (ecase mode - (:host-compile (values *host-obj-prefix* *host-obj-suffix*)) + (:host-compile + ;; On some xc hosts, it's impossible to LOAD a fasl file unless it + ;; has the same extension that the host uses for COMPILE-FILE + ;; output, so we have to be careful to use the xc host's preferred + ;; extension. + (values *host-obj-prefix* + (concatenate 'string "." + (pathname-type (compile-file-pathname stem))))) (:target-compile (values *target-obj-prefix* (if (find :assem flags) *target-assem-obj-suffix* diff --git a/version.lisp-expr b/version.lisp-expr index 2b80b06..a93d3e7 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.42.16" +"1.0.42.17" -- 1.7.10.4