class FFI::LibraryPath
def self.wrap(value)
def self.wrap(value) # We allow instances of LibraryPath to pass through transparently: return value if value.is_a?(self) # We special case a library named 'c' to be the standard C library: return Library::LIBC if value == 'c' # If provided a relative file name we convert it into a library path: if value && File.basename(value) == value return self.new(value) end # Otherwise, we assume it's a full path to a library: return value end