SBCL: Simplify CFFI symbol reading.
parent
67d058f0bc
commit
169b241f89
14
.sbclrc
14
.sbclrc
|
@ -36,14 +36,12 @@ The actual profiles are in the subsubdirectories.")
|
||||||
(find-guix-library-dirs *guix-profiles-dir*))))
|
(find-guix-library-dirs *guix-profiles-dir*))))
|
||||||
"Call this to set `cffi:*foreign-library-directories*' to DIRS."
|
"Call this to set `cffi:*foreign-library-directories*' to DIRS."
|
||||||
(when (ignore-errors (asdf:load-system "cffi"))
|
(when (ignore-errors (asdf:load-system "cffi"))
|
||||||
(setf (symbol-value (find-symbol (string '*foreign-library-directories*)
|
(let ((sym (read-from-string "cffi:*foreign-library-directories*")))
|
||||||
(find-package 'cffi)))
|
(setf (symbol-value sym)
|
||||||
|
(union (symbol-value sym)
|
||||||
(union (symbol-value (find-symbol (string '*foreign-library-directories*)
|
;; CFFI needs a trailing "/".
|
||||||
(find-package 'cffi)))
|
(delete nil (mapcar #'uiop:ensure-directory-pathname dirs))
|
||||||
;; CFFI needs a trailing "/".
|
:test #'uiop:pathname-equal)))))
|
||||||
(delete nil (mapcar #'uiop:ensure-directory-pathname dirs))
|
|
||||||
:test #'uiop:pathname-equal))))
|
|
||||||
|
|
||||||
;; Set it by default.
|
;; Set it by default.
|
||||||
(set-cffi-library-dirs)
|
(set-cffi-library-dirs)
|
||||||
|
|
Loading…
Reference in New Issue