Commit 84e79712 authored by Greg Ward's avatar Greg Ward

Rewrote 'find_library_file()' much more cleanly (and consistently with

MSVCCompiler's version, to aid in factoring common code out of the two
classes when the time comes).
parent 0a983c44
...@@ -357,28 +357,26 @@ class BCPPCompiler(CCompiler) : ...@@ -357,28 +357,26 @@ class BCPPCompiler(CCompiler) :
def find_library_file (self, dirs, lib, debug=0): def find_library_file (self, dirs, lib, debug=0):
# find library file # List of effective library names to try, in order of preference:
# bcpp_xxx.lib is better than xxx.lib # bcpp_xxx.lib is better than xxx.lib
# and xxx_d.lib is better than xxx.lib if debug is set # and xxx_d.lib is better than xxx.lib if debug is set
#
# The "bcpp_" prefix is to handle a Python installation for people
# with multiple compilers (primarily Distutils hackers, I suspect
# ;-). The idea is they'd have one static library for each
# compiler they care about, since (almost?) every Windows compiler
# seems to have a different format for static libraries.
if debug:
dlib = (lib + "_d")
try_names = ("bcpp_" + dlib, "bcpp_" + lib, dlib, lib)
else:
try_names = ("bcpp_" + lib, lib)
for dir in dirs: for dir in dirs:
if debug: for name in try_names:
libfile = os.path.join ( libfile = os.path.join(dir, self.library_filename(name))
dir, self.library_filename ("bcpp_" + lib + "_d")) if os.path.exists(libfile):
if os.path.exists (libfile):
return libfile return libfile
libfile = os.path.join (
dir, self.library_filename ("bcpp_" + lib))
if os.path.exists (libfile):
return libfile
if debug:
libfile = os.path.join (
dir, self.library_filename(lib + '_d'))
if os.path.exists (libfile):
return libfile
libfile = os.path.join (dir, self.library_filename (lib))
if os.path.exists (libfile):
return libfile
else: else:
# Oops, didn't find it in *any* of 'dirs' # Oops, didn't find it in *any* of 'dirs'
return None return None
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment