Commit a3818a30 authored by doko@ubuntu.com's avatar doko@ubuntu.com

- Issue #15234: For BerkelyDB and Sqlite, only add the found library and

  include directories if they aren't already being searched. This avoids
  an explicit runtime library dependency.
parent aad7cc9d
...@@ -167,6 +167,10 @@ IDLE ...@@ -167,6 +167,10 @@ IDLE
Build Build
----- -----
- Issue #15234: For BerkelyDB and Sqlite, only add the found library and
include directories if they aren't already being searched. This avoids
an explicit runtime library dependency.
- Issue #20644: OS X installer build support for documentation build changes - Issue #20644: OS X installer build support for documentation build changes
in 3.4.1: assume externally supplied sphinx-build is available in /usr/bin. in 3.4.1: assume externally supplied sphinx-build is available in /usr/bin.
......
...@@ -1022,8 +1022,16 @@ class PyBuildExt(build_ext): ...@@ -1022,8 +1022,16 @@ class PyBuildExt(build_ext):
if db_setup_debug: if db_setup_debug:
print("bsddb using BerkeleyDB lib:", db_ver, dblib) print("bsddb using BerkeleyDB lib:", db_ver, dblib)
print("bsddb lib dir:", dblib_dir, " inc dir:", db_incdir) print("bsddb lib dir:", dblib_dir, " inc dir:", db_incdir)
db_incs = [db_incdir]
dblibs = [dblib] dblibs = [dblib]
# Only add the found library and include directories if they aren't
# already being searched. This avoids an explicit runtime library
# dependency.
if db_incdir in inc_dirs:
db_incs = None
else:
db_incs = [db_incdir]
if dblib_dir[0] in lib_dirs:
dblib_dir = None
else: else:
if db_setup_debug: print("db: no appropriate library found") if db_setup_debug: print("db: no appropriate library found")
db_incs = None db_incs = None
...@@ -1134,6 +1142,9 @@ class PyBuildExt(build_ext): ...@@ -1134,6 +1142,9 @@ class PyBuildExt(build_ext):
# can end up with a bad search path order. # can end up with a bad search path order.
if sqlite_incdir not in self.compiler.include_dirs: if sqlite_incdir not in self.compiler.include_dirs:
include_dirs.append(sqlite_incdir) include_dirs.append(sqlite_incdir)
# avoid a runtime library path for a system library dir
if sqlite_libdir and sqlite_libdir[0] in lib_dirs:
sqlite_libdir = None
exts.append(Extension('_sqlite3', sqlite_srcs, exts.append(Extension('_sqlite3', sqlite_srcs,
define_macros=sqlite_defines, define_macros=sqlite_defines,
include_dirs=include_dirs, include_dirs=include_dirs,
...@@ -1202,7 +1213,7 @@ class PyBuildExt(build_ext): ...@@ -1202,7 +1213,7 @@ class PyBuildExt(build_ext):
libraries = gdbm_libs) libraries = gdbm_libs)
break break
elif cand == "bdb": elif cand == "bdb":
if db_incs is not None: if dblibs:
if dbm_setup_debug: print("building dbm using bdb") if dbm_setup_debug: print("building dbm using bdb")
dbmext = Extension('_dbm', ['_dbmmodule.c'], dbmext = Extension('_dbm', ['_dbmmodule.c'],
library_dirs=dblib_dir, library_dirs=dblib_dir,
......
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