diff --git a/examples/ffi/cffi.lsp b/examples/ffi/cffi.lsp index e6924d15d3ef9d182aadd3b43179d40d582bedab..8eb63d71a37710e3944e310d0e91a7e20411a8bf 100644 --- a/examples/ffi/cffi.lsp +++ b/examples/ffi/cffi.lsp @@ -4,11 +4,10 @@ Build and load this module with (compile-file "cffi.lsp" :load t) ;; ;; This toplevel statement notifies the compiler that we will ;; need this shared library at runtime. We do not need this -;; statement in windows. +;; statement in windows or macOS. ;; -#-(or ming32 windows) -(cffi:load-foreign-library #+darwin "/usr/lib/libm.dylib" - #-darwin "/usr/lib/libm.so") +#-(or ming32 windows darwin) +(cffi:load-foreign-library "/usr/lib/libm.so") ;; ;; With this other statement, we import the C function sin(), ;; which operates on IEEE doubles. diff --git a/examples/ffi/uffi.lsp b/examples/ffi/uffi.lsp index a5d99b23206887d152cb8fa23b7d6dbac087d37a..960a12900625b08f16dd2a3cb1fde4fae634ed54 100644 --- a/examples/ffi/uffi.lsp +++ b/examples/ffi/uffi.lsp @@ -5,11 +5,10 @@ Load it with (load "uffi.fas") ;; ;; This toplevel statement notifies the compiler that we will ;; need this shared library at runtime. We do not need this -;; statement in windows. +;; statement in windows and macOS. ;; -#-windows -(uffi:load-foreign-library #+darwin "/usr/lib/libm.dylib" - #-darwin "/usr/lib/libm.so") +#-(or windows darwin) +(uffi:load-foreign-library "/lib64/libm.so.6") ;; adjust the library path/name as needed ;; ;; With this other statement, we import the C function sin(), ;; which operates on IEEE doubles. diff --git a/src/doc/manual/extensions/ffi.txi b/src/doc/manual/extensions/ffi.txi index 72386b7dd033bc5cf40480b2d134e869449bd8cc..db1e0ae20bec3b5e11679f8cb027cf6ddaa31117 100644 --- a/src/doc/manual/extensions/ffi.txi +++ b/src/doc/manual/extensions/ffi.txi @@ -212,6 +212,9 @@ that the compiler may include them at link time. @item Every function you will use has to be declared using @coderef{ffi:def-function}. +@item +In the cases of headers not used by ECL, a header to include might need +to be specified using @coderef{ffi:clines}. @end itemize @lisp @@ -221,11 +224,11 @@ Build and load this module with (compile-file "uffi.lsp" :load t) ;; ;; This toplevel statement notifies the compiler that we will ;; need this shared library at runtime. We do not need this -;; statement in windows. +;; statement in windows or modern macOS. +;; The actually needed path to libm might be different on different systems. ;; -#-(or ming32 windows) -(ffi:load-foreign-library #+darwin "/usr/lib/libm.dylib" - #-darwin "/usr/lib/libm.so") +#-(or ming32 windows darwin) +(ffi:load-foreign-library "/usr/lib/libm.so") ;; ;; With this other statement, we import the C function sin(), ;; which operates on IEEE doubles. @@ -257,11 +260,10 @@ Build and load this module with (compile-file "cffi.lsp" :load t) ;; ;; This toplevel statement notifies the compiler that we will ;; need this shared library at runtime. We do not need this -;; statement in windows. +;; statement in windows or macOS. ;; -#-(or ming32 windows) -(cffi:load-foreign-library #+darwin "/usr/lib/libm.dylib" - #-darwin "/usr/lib/libm.so") +#-(or ming32 windows darwin) +(cffi:load-foreign-library "/usr/lib/libm.so") ;; ;; With this other statement, we import the C function sin(), ;; which operates on IEEE doubles.