52 lines
2.5 KiB
Diff
52 lines
2.5 KiB
Diff
|
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),
|