diff options
Diffstat (limited to 'package/python/python-2.7-004-no-host-headers-libs.patch')
-rw-r--r-- | package/python/python-2.7-004-no-host-headers-libs.patch | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/package/python/python-2.7-004-no-host-headers-libs.patch b/package/python/python-2.7-004-no-host-headers-libs.patch new file mode 100644 index 000000000..033776d46 --- /dev/null +++ b/package/python/python-2.7-004-no-host-headers-libs.patch @@ -0,0 +1,97 @@ +Do not look at host headers/libraries in cross-compile mode + +When we are cross-compiling, setup.py should never look in /usr or +/usr/local to find headers or libraries. A later patch adds a +mechanism to tell setup.py to look in a specific directory for headers +and libraries. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + setup.py | 39 +++++++++++++++++++++------------------ + 1 file changed, 21 insertions(+), 18 deletions(-) + +Index: Python-2.7.1/setup.py +=================================================================== +--- Python-2.7.1.orig/setup.py ++++ Python-2.7.1/setup.py +@@ -351,8 +351,9 @@ + + def detect_modules(self): + # Ensure that /usr/local is always used +- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') +- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ if os.environ.get('CROSS_COMPILING') != 'yes': ++ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') ++ add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') + + # Add paths specified in the environment variables LDFLAGS and + # CPPFLAGS for header and library files. +@@ -388,17 +389,6 @@ + for directory in reversed(options.dirs): + add_dir_to_list(dir_list, directory) + +- if os.path.normpath(sys.prefix) != '/usr' \ +- and not sysconfig.get_config_var('PYTHONFRAMEWORK'): +- # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework +- # (PYTHONFRAMEWORK is set) to avoid # linking problems when +- # building a framework with different architectures than +- # the one that is currently installed (issue #7473) +- add_dir_to_list(self.compiler.library_dirs, +- sysconfig.get_config_var("LIBDIR")) +- add_dir_to_list(self.compiler.include_dirs, +- sysconfig.get_config_var("INCLUDEDIR")) +- + try: + have_unicode = unicode + except NameError: +@@ -407,11 +397,16 @@ + # lib_dirs and inc_dirs are used to search for files; + # if a file is found in one of those directories, it can + # be assumed that no additional -I,-L directives are needed. +- lib_dirs = self.compiler.library_dirs + [ +- '/lib64', '/usr/lib64', +- '/lib', '/usr/lib', +- ] +- inc_dirs = self.compiler.include_dirs + ['/usr/include'] ++ lib_dirs = self.compiler.library_dirs ++ inc_dirs = self.compiler.include_dirs ++ ++ if os.environ.get('CROSS_COMPILING') != 'yes': ++ lib_dirs += [ ++ '/lib64', '/usr/lib64', ++ '/lib', '/usr/lib', ++ ] ++ inc_dirs += ['/usr/include'] ++ + exts = [] + missing = [] + +@@ -844,6 +839,9 @@ + db_inc_paths.append('/pkg/db-3.%d/include' % x) + db_inc_paths.append('/opt/db-3.%d/include' % x) + ++ if os.environ.get('CROSS_COMPILING') == 'yes': ++ db_inc_paths = [] ++ + # Add some common subdirectories for Sleepycat DB to the list, + # based on the standard include directories. This way DB3/4 gets + # picked up when it is installed in a non-standard prefix and +@@ -996,6 +994,9 @@ + MIN_SQLITE_VERSION = ".".join([str(x) + for x in MIN_SQLITE_VERSION_NUMBER]) + ++ if os.environ.get('CROSS_COMPILING') == 'yes': ++ sqlite_inc_paths = [] ++ + # Scan the default include directories before the SQLite specific + # ones. This allows one to override the copy of sqlite on OSX, + # where /usr/include contains an old version of sqlite. +@@ -1095,6 +1096,8 @@ + # the more recent berkeleydb's db.h file first in the include path + # when attempting to compile and it will fail. + f = "/usr/include/db.h" ++ if os.environ.get('CROSS_COMPILING') == 'yes': ++ f = '' + + if sys.platform == 'darwin': + if is_macosx_sdk_path(f): |