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. Patch first written by Thomas Petazzoni for python2.7, and then ported to python3.3 by Maxime Ripard Signed-off-by: Maxime Ripard --- setup.py | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) Index: Python-3.3.0/setup.py =================================================================== --- Python-3.3.0.orig/setup.py +++ Python-3.3.0/setup.py @@ -447,10 +447,8 @@ if not cross_compiling: add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') - # only change this for cross builds for 3.3, issues on Mageia - if cross_compiling: self.add_gcc_paths() - self.add_multiarch_paths() + self.add_multiarch_paths() # Add paths specified in the environment variables LDFLAGS and # CPPFLAGS for header and library files. @@ -458,10 +456,7 @@ # 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). - for env_var, arg_name, dir_list in ( - ('LDFLAGS', '-R', self.compiler.runtime_library_dirs), - ('LDFLAGS', '-L', self.compiler.library_dirs), - ('CPPFLAGS', '-I', self.compiler.include_dirs)): + for env_var, arg_name, dir_list in (): env_val = sysconfig.get_config_var(env_var) if env_val: # To prevent optparse from raising an exception about any @@ -486,17 +481,6 @@ for directory in reversed(options.dirs): add_dir_to_list(dir_list, directory) - if os.path.normpath(sys.base_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")) - # 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. @@ -506,6 +490,9 @@ '/lib', '/usr/lib', ] inc_dirs = self.compiler.include_dirs + ['/usr/include'] + else: + lib_dirs = self.compiler.library_dirs + inc_dirs = self.compiler.include_dirs exts = [] missing = []