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),
