[pypy-commit] cffi load-from-exe-dir: patch to search exe dir for dll before searching path
matti
noreply at buildbot.pypy.org
Mon Apr 8 00:06:36 CEST 2013
Author: matti
Branch: load-from-exe-dir
Changeset: r1243:933f1308f466
Date: 2013-04-08 01:06 +0300
http://bitbucket.org/cffi/cffi/changeset/933f1308f466/
Log: patch to search exe dir for dll before searching path
diff --git a/cffi/api.py b/cffi/api.py
--- a/cffi/api.py
+++ b/cffi/api.py
@@ -359,10 +359,23 @@
backendlib = backend.load_library(name, flags)
except OSError:
import ctypes.util
- path = ctypes.util.find_library(name)
- if path is None:
- raise OSError("library not found: %r" % (name,))
- backendlib = backend.load_library(path, flags)
+ backendlib = None
+ if os.name == 'nt':
+ import sys
+ # Allow name in exe location,
+ # like in ctypes.util.find_library
+ directory = os.path.dirname(sys.executable)
+ if os.path.isfile(os.path.join(directory, name)):
+ backendlib = backend.load_library(name)
+ if not name.lower().endswith('.dll'):
+ tmpname = os.path.join(directory, name + '.dll')
+ if os.path.isfile(tmpname):
+ backendlib = backend.load_library(name)
+ if not backendlib:
+ path = ctypes.util.find_library(name)
+ if path is None:
+ raise OSError("library not found: %r" % (name,))
+ backendlib = backend.load_library(path, flags)
copied_enums = []
#
def make_accessor(name):
More information about the pypy-commit
mailing list