: find-library ( name -- path/library-not-found )
dup find-library* [ nip ] when* ;
-
+
+! Try to find the library from a list, but if it's not found,
+! try to open a library that is the first name in that list anyway
+! or "library_not_found" as a last resort for better debugging.
: find-library-from-list ( seq -- path/f )
- [ find-library* ] map [ ] find nip ;
+ dup [ find-library* ] map
+ [ ] find nip [ nip ] [ ?first "library_not_found" or ] if* ;
{
{ [ os macosx? ] [ "alien.libraries.finder.macosx" ] }
! adapted from "yaml.h" libYAML 0.1.4
! http://pyyaml.org/wiki/LibYAML
USING: alien alien.c-types alien.destructors alien.libraries
-alien.syntax classes.struct combinators literals system ;
+alien.syntax classes.struct combinators literals system
+alien.libraries.finder ;
IN: yaml.ffi
<<
-"libyaml" {
- { [ os windows? ] [ "libyaml.dll" ] }
- { [ os macosx? ] [ "libyaml.dylib" ] }
- { [ os unix? ] [ "libyaml.so" ] }
-} cond cdecl add-library
+"libyaml" { "yaml" "libyaml-0-2" } find-library-from-list cdecl add-library
>>
C-TYPE: FILE