Update of /cvsroot/sbcl/sbcl/src/cold
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30999/src/cold
Modified Files:
Tag: when-all-you-have-is-a-hammer-branch
compile-cold-sbcl.lisp shared.lisp
Log Message:
Youn are not expected to understand this. I don't
Index: compile-cold-sbcl.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/cold/compile-cold-sbcl.lisp,v
retrieving revision 1.5
retrieving revision 1.5.48.1
diff -u -d -r1.5 -r1.5.48.1
--- compile-cold-sbcl.lisp 7 Mar 2002 01:00:12 -0000 1.5
+++ compile-cold-sbcl.lisp 26 Jun 2004 17:48:20 -0000 1.5.48.1
@@ -20,6 +20,7 @@
(do-stems-and-flags (stem flags)
(unless (position :not-target flags)
(push (target-compile-stem stem
+ :trace-file (find :trace-file flags)
:assem-p (find :assem flags)
:ignore-failure-p (find :ignore-failure-p
flags))
Index: shared.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/cold/shared.lisp,v
retrieving revision 1.32
retrieving revision 1.32.22.1
diff -u -d -r1.32 -r1.32.22.1
--- shared.lisp 29 Jul 2003 13:01:55 -0000 1.32
+++ shared.lisp 26 Jun 2004 17:48:20 -0000 1.32.22.1
@@ -130,6 +130,7 @@
(src-prefix "")
(src-suffix ".lisp")
(compile-file #'compile-file)
+ trace-file
ignore-failure-p)
(declare (type function compile-file))
@@ -178,7 +179,7 @@
;; recognizeably a fasl file), so
(when (probe-file tmp-obj)
(delete-file tmp-obj))
-
+
;; Try to use the compiler to generate a new temporary object file.
(flet ((report-recompile-restart (stream)
(format stream "Recompile file ~S" src))
@@ -187,7 +188,10 @@
(tagbody
retry-compile-file
(multiple-value-bind (output-truename warnings-p failure-p)
- (funcall compile-file src :output-file tmp-obj)
+ (if trace-file
+ (funcall compile-file src :output-file tmp-obj
+ :trace-file t)
+ (funcall compile-file src :output-file tmp-obj ))
(declare (ignore warnings-p))
(cond ((not output-truename)
(error "couldn't compile ~S" src))
@@ -295,6 +299,7 @@
;; SBCL. ("not target code" -- but still presumably host code,
;; used to support the cross-compilation process)
:not-target
+ :trace-file
;; meaning: This file is to be processed with the SBCL assembler,
;; not COMPILE-FILE. (Note that this doesn't make sense unless
;; :NOT-HOST is also set, since the SBCL assembler doesn't exist
@@ -375,12 +380,13 @@
;;; Run the cross-compiler on a file in the source directory tree to
;;; produce a corresponding file in the target object directory tree.
-(defun target-compile-stem (stem &key assem-p ignore-failure-p)
+(defun target-compile-stem (stem &key assem-p ignore-failure-p trace-file)
(funcall *in-target-compilation-mode-fn*
(lambda ()
(compile-stem stem
:obj-prefix *target-obj-prefix*
:obj-suffix *target-obj-suffix*
+ :trace-file trace-file
:ignore-failure-p ignore-failure-p
:compile-file (if assem-p
*target-assemble-file*
-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com
|