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*))))
|
||||
"Call this to set `cffi:*foreign-library-directories*' to DIRS."
|
||||
(when (ignore-errors (asdf:load-system "cffi"))
|
||||
(setf (symbol-value (find-symbol (string '*foreign-library-directories*)
|
||||
(find-package 'cffi)))
|
||||
|
||||
(union (symbol-value (find-symbol (string '*foreign-library-directories*)
|
||||
(find-package 'cffi)))
|
||||
;; CFFI needs a trailing "/".
|
||||
(delete nil (mapcar #'uiop:ensure-directory-pathname dirs))
|
||||
:test #'uiop:pathname-equal))))
|
||||
(let ((sym (read-from-string "cffi:*foreign-library-directories*")))
|
||||
(setf (symbol-value sym)
|
||||
(union (symbol-value sym)
|
||||
;; CFFI needs a trailing "/".
|
||||
(delete nil (mapcar #'uiop:ensure-directory-pathname dirs))
|
||||
:test #'uiop:pathname-equal)))))
|
||||
|
||||
;; Set it by default.
|
||||
(set-cffi-library-dirs)
|
||||
|
|
Loading…
Reference in New Issue