123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- Remove runtime library paths
- For some extensions (sqlite and dbm), Python setup.py script
- hardcode a runtime path (rpath) into the extension. However, this
- runtime path is incorrect (because it points to the location of the
- library directory on the development machine) and useless (because on
- the target, all useful libraries are in a standard directory searched
- by the dynamic loader). For those reasons, we just get rid of the
- runtime paths in cross-compilation mode.
- Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
- ---
- setup.py | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
- Index: Python-3.3.0/setup.py
- ===================================================================
- --- Python-3.3.0.orig/setup.py
- +++ Python-3.3.0/setup.py
- @@ -1134,11 +1134,15 @@
- # can end up with a bad search path order.
- if sqlite_incdir not in self.compiler.include_dirs:
- include_dirs.append(sqlite_incdir)
- + if cross_compiling:
- + sqlite_runtime_libdir = None
- + else:
- + sqlite_runtime_libdir = sqlite_libdir
- exts.append(Extension('_sqlite3', sqlite_srcs,
- define_macros=sqlite_defines,
- include_dirs=include_dirs,
- library_dirs=sqlite_libdir,
- - runtime_library_dirs=sqlite_libdir,
- + runtime_library_dirs=sqlite_runtime_libdir,
- extra_link_args=sqlite_extra_link_args,
- libraries=["sqlite3",]))
- else:
- @@ -1205,9 +1209,13 @@
- elif cand == "bdb":
- if db_incs is not None:
- if dbm_setup_debug: print("building dbm using bdb")
- + if cross_compiling:
- + dblib_runtime_libdir = None
- + else:
- + dblib_runtime_libdir = dblib_dir
- dbmext = Extension('_dbm', ['_dbmmodule.c'],
- library_dirs=dblib_dir,
- - runtime_library_dirs=dblib_dir,
- + runtime_library_dirs=dblib_runtime_libdir,
- include_dirs=db_incs,
- define_macros=[
- ('HAVE_BERKDB_H', None),
|