@@ -252,26 +252,27 @@ if needed."
252252 " If true, a depcheck will fail if :author/:description/:license
253253 options are missing from a system." )
254254
255- (defun depcheck (primary-system sub-system &key fasl-directory)
255+ (defvar *depcheck-fasl-output-directory* nil )
256+
257+ (defun depcheck (primary-system sub-system
258+ &key (fasl-directory *depcheck-fasl-output-directory* ))
256259 (ensure-system-file-index)
257260 (ensure-in-anonymous-directory
258- (let* ((win (temporary-pathname " depcheck-win.txt" ))
259- (fail (temporary-pathname " depcheck-fail.txt" ))
260- (args (mapcan #' identity
261- (list
262- (list :index (native (translate-logical-pathname *system-file-index-file* )))
263- (list :project primary-system)
264- (list :system sub-system)
265- (list :dependency-file win)
266- (list :errors-file fail)
267- (when *system-metadata-required-p*
268- (list :metadata-required ))
269- (when fasl-directory
270- (list :fasl-directory fasl-directory))))))
261+ (let ((win (temporary-pathname " depcheck-win.txt" ))
262+ (fail (temporary-pathname " depcheck-fail.txt" )))
271263 (ignore-errors (delete-file win))
272264 (ignore-errors (delete-file fail))
273265 (ignore-errors
274- (apply #' run " depcheck" args))
266+ (run " depcheck"
267+ :index (native (translate-logical-pathname *system-file-index-file* ))
268+ :project primary-system
269+ :system sub-system
270+ :dependency-file win
271+ :errors-file fail
272+ (when *system-metadata-required-p*
273+ :metadata-required )
274+ (when fasl-directory
275+ (list :fasl-directory fasl-directory))))
275276 (let* ((won (probe-file win))
276277 (first-line (and won (ignore-errors (first-line-of win))))
277278 (result (and first-line (split-spaces first-line))))
0 commit comments