import os, sys

if os.name == "nt":
    # LoadLibrary already does what we need.
    def find_library(name):
        return name

elif sys.platform == "darwin":

    from ctypes.macholib.dyld import dyld_find
    # use macholib to find the library path
    def find_library(name):
        possible = ['lib.%s.dylib' % name,
                    '%s.dylib' % name,
                    '%s.framework/%s' % (name, name)]
        for dylib in possible:
            try:
                return os.path.realpath(dyld_find(dylib))
            except ValueError:
                pass
        raise ValueError, "%s not found" % (name,)

else:
    def find_library(name):
        return 'lib%s.so' % name
