Commit 7eb17a3a authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

bundle: add workaround to find mkcl's cmp.a

MKCL 1.1.10 (from git) installs bogus .asd files in its contrib/
directory – for instance cmp.asd is present there (and level-up),
and locate-system finds the first, bogus, definition, that
points to a cmp.a library in the wrong directory.

Bug identified by Daniel Kochmański.
parent 12cfcdd7
......@@ -548,10 +548,16 @@ for all the linkable object files associated with the system or its dependencies
(defmethod component-depends-on :around ((o image-op) (c system))
(destructuring-bind ((lib-op . deps)) (call-next-method)
(labels ((has-it-p (x) (find x deps :test 'equal :key 'coerce-name))
(linkable-system (x) (unless (has-it-p x)
(if (system-source-directory x)
`(,(find-system x))
`(,(make-library-system x))))))
(linkable-system (x)
(unless (has-it-p x)
(list
(if (and (system-source-directory x)
#+mkcl ;; avoid bug in mkcl 1.1.10
(let ((s (find-system x)))
(or (not (typep s 'prebuilt-system))
(file-exists-p (prebuilt-system-static-library s)))))
(find-system x)
(make-library-system x))))))
`((,lib-op
,@(unless (no-uiop c)
(append (linkable-system "cmp")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment