diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py index 81a7de61915..081790827d5 100644 --- a/Lib/distutils/unixccompiler.py +++ b/Lib/distutils/unixccompiler.py @@ -340,7 +340,9 @@ def find_library_file(self, dirs, lib, debug=0): static = os.path.join(dir, static_f) if sys.platform == 'darwin' and ( - dir.startswith('/System/') or dir.startswith('/usr/')): + dir.startswith('/System/') or ( + dir.startswith('/usr/') and not dir.startswith('/usr/local/'))): + shared = os.path.join(sysroot, dir[1:], shared_f) dylib = os.path.join(sysroot, dir[1:], dylib_f) static = os.path.join(sysroot, dir[1:], static_f) diff --git a/setup.py b/setup.py index ab7909e1306..f97fbea1403 100644 --- a/setup.py +++ b/setup.py @@ -46,7 +46,7 @@ def is_macosx_sdk_path(path): """ Returns True if 'path' can be located in an OSX SDK """ - return path.startswith('/usr/') or path.startswith('/System/') + return (path.startswith('/usr/') and not path.startswith('/usr/local')) or path.startswith('/System/') def find_file(filename, std_dirs, paths): """Searches for the directory where a given file is located, @@ -862,6 +862,7 @@ class db_found(Exception): pass else: if os.path.isdir(dn): tmp.append(dn) + db_dirs_to_check = tmp db_dirs_to_check = tmp