python: add patches to disable runtime lib dirs
When cross-compiling, we do not need to add runtime lib dirs. Also, the cross compilers that are used on OpenWRT do not support the '-R' option, which causes build failures. These build failures existed before, but were not noticed, because it fails only on some setups. This is because Python's `setup.py` does a lot of voo-doo automagic that needs handling for some cross-compilation cases. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
This commit is contained in:
parent
2ac8acaffd
commit
c8c509bdad
2 changed files with 49 additions and 0 deletions
|
@ -0,0 +1,34 @@
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 7868b7b..10ec68f 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -1067,6 +1067,7 @@ class PyBuildExt(build_ext):
|
||||||
|
if db_setup_debug: print "db lib: ", dblib, "not found"
|
||||||
|
|
||||||
|
except db_found:
|
||||||
|
+ rt_dblib_dir = None if cross_compiling else dblib_dir
|
||||||
|
if db_setup_debug:
|
||||||
|
print "bsddb using BerkeleyDB lib:", db_ver, dblib
|
||||||
|
print "bsddb lib dir:", dblib_dir, " inc dir:", db_incdir
|
||||||
|
@@ -1081,7 +1082,7 @@ class PyBuildExt(build_ext):
|
||||||
|
exts.append(Extension('_bsddb', ['_bsddb.c'],
|
||||||
|
depends = ['bsddb.h'],
|
||||||
|
library_dirs=dblib_dir,
|
||||||
|
- runtime_library_dirs=dblib_dir,
|
||||||
|
+ runtime_library_dirs=rt_dblib_dir,
|
||||||
|
include_dirs=db_incs,
|
||||||
|
libraries=dblibs))
|
||||||
|
else:
|
||||||
|
@@ -1292,10 +1293,11 @@ class PyBuildExt(build_ext):
|
||||||
|
break
|
||||||
|
elif cand == "bdb":
|
||||||
|
if db_incs is not None:
|
||||||
|
+ rt_dblib_dir = None if cross_compiling else dblib_dir
|
||||||
|
print "building dbm using bdb"
|
||||||
|
dbmext = Extension('dbm', ['dbmmodule.c'],
|
||||||
|
library_dirs=dblib_dir,
|
||||||
|
- runtime_library_dirs=dblib_dir,
|
||||||
|
+ runtime_library_dirs=rt_dblib_dir,
|
||||||
|
include_dirs=db_incs,
|
||||||
|
define_macros=[
|
||||||
|
('HAVE_BERKDB_H', None),
|
|
@ -0,0 +1,15 @@
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index 7868b7b..544fa7e 100644
|
||||||
|
--- a/setup.py
|
||||||
|
+++ b/setup.py
|
||||||
|
@@ -452,8 +452,9 @@ class PyBuildExt(build_ext):
|
||||||
|
# directly since an inconsistently reproducible issue comes up where
|
||||||
|
# the environment variable is not set even though the value were passed
|
||||||
|
# into configure and stored in the Makefile (issue found on OS X 10.3).
|
||||||
|
+ rt_lib_dirs = [] if cross_compiling else self.compiler.runtime_library_dirs
|
||||||
|
for env_var, arg_name, dir_list in (
|
||||||
|
- ('LDFLAGS', '-R', self.compiler.runtime_library_dirs),
|
||||||
|
+ ('LDFLAGS', '-R', rt_lib_dirs),
|
||||||
|
('LDFLAGS', '-L', self.compiler.library_dirs),
|
||||||
|
('CPPFLAGS', '-I', self.compiler.include_dirs)):
|
||||||
|
env_val = sysconfig.get_config_var(env_var)
|
Loading…
Reference in a new issue