| 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 |
| <thomas.petazzoni@free-electrons.com> for python2.7, and then ported |
| to python3.3 by Maxime Ripard <maxime.ripard@free-electrons.com> |
| |
| Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> |
| --- |
| 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 = [] |
| |