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