;;; a function of one functional argument, which calls its functional argument
;;; in an environment suitable for compiling the target. (This environment
;;; includes e.g. a suitable *FEATURES* value.)
+(declaim (type function *in-target-compilation-mode-fn*))
(defvar *in-target-compilation-mode-fn*)
-;;; designator for a function with the same calling convention as
-;;; CL:COMPILE-FILE, to be used to translate ordinary Lisp source files into
-;;; target object files
+;;; a function with the same calling convention as CL:COMPILE-FILE, to be
+;;; used to translate ordinary Lisp source files into target object files
+(declaim (type function *target-compile-file*))
(defvar *target-compile-file*)
;;; designator for a function with the same calling convention as
(compile-file #'compile-file)
ignore-failure-p)
+ (declare (type function compile-file))
+
(let* (;; KLUDGE: Note that this CONCATENATE 'STRING stuff is not The Common
;; Lisp Way, although it works just fine for common UNIX environments.
;; Should it come to pass that the system is ported to environments
(defparameter
*expected-stem-flags*
'(;; meaning: This file is not to be compiled when building the
- ;; cross-compiler which runs on the host ANSI Lisp.
+ ;; cross-compiler which runs on the host ANSI Lisp. ("not host
+ ;; code", i.e. does not execute on host -- but may still be
+ ;; cross-compiled by the host, so that it executes on the target)
:not-host
;; meaning: This file is not to be compiled as part of the target
- ;; SBCL.
+ ;; SBCL. ("not target code" -- but still presumably host code,
+ ;; used to support the cross-compilation process)
:not-target
;; meaning: This file is to be processed with the SBCL assembler,
;; not COMPILE-FILE. (Note that this doesn't make sense unless
;;; Execute function FN in an environment appropriate for compiling the
;;; cross-compiler's source code in the cross-compilation host.
(defun in-host-compilation-mode (fn)
+ (declare (type function fn))
(let ((*features* (cons :sb-xc-host *features*))
;; the CROSS-FLOAT-INFINITY-KLUDGE, as documented in
;; base-target-features.lisp-expr: