Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

[45afaf]: contrib / asdf / ecl.lisp Maximize Restore History

Download this file

ecl.lisp    35 lines (26 with data), 1.3 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
;;; -*- Mode: Lisp ; Syntax: ANSI-Common-Lisp -*-
#+xcvb (module (:depends-on ("specials")))
(in-package :asdf)
(defmethod output-files ((o fasl-op) (c system))
(declare (ignorable o c))
(loop :for file :in (call-next-method)
:collect (make-pathname :type "fasb" :defaults file)))
(defmethod perform ((o bundle-op) (c system))
(let* ((object-files (remove "fas" (input-files o c)
:key #'pathname-type :test #'string=))
(output (output-files o c)))
(ensure-directories-exist (first output))
(apply #'c::builder (bundle-op-type o) (first output)
:lisp-files (append object-files (bundle-op-lisp-files o))
(append (bundle-op-build-args o)
(when (and (typep o 'monolithic-bundle-op)
(monolithic-op-prologue-code o))
`(:prologue-code ,(monolithic-op-prologue-code o)))
(when (and (typep o 'monolithic-bundle-op)
(monolithic-op-epilogue-code o))
`(:epilogue-code ,(monolithic-op-epilogue-code o)))))))
;;;
;;; Final integration steps
;;;
(export '(make-build load-fasl-op))
(pushnew '("fasb" . si::load-binary) ext:*load-hooks* :test 'equal :key 'car)