diff --git a/setup.py b/setup.py index 3d6a660..b441e8c 100644 --- a/setup.py +++ b/setup.py @@ -61,6 +61,12 @@ def add_dir_to_list(dirlist, dir): return dirlist.insert(0, dir) +def rm_dir_from_list(dirlist, dir): + if dir is None: + return + if dir in dirlist: + dirlist.remove(dir) + def macosx_sdk_root(): """ Return the directory of the current OSX SDK, @@ -325,6 +331,9 @@ class PyBuildExt(build_ext): return try: + if cross_compiling: + rm_dir_from_list(self.compiler.include_dirs,'/usr/include') + rm_dir_from_list(self.compiler.include_dirs,'/usr/local/include') build_ext.build_extension(self, ext) except (CCompilerError, DistutilsError) as why: self.announce('WARNING: building of extension "%s" failed: %s' % @@ -420,10 +429,11 @@ class PyBuildExt(build_ext): os.unlink(tmpfile) if multiarch_path_component != '': - add_dir_to_list(self.compiler.library_dirs, - '/usr/lib/' + multiarch_path_component) - add_dir_to_list(self.compiler.include_dirs, - '/usr/include/' + multiarch_path_component) + if not cross_compiling: + add_dir_to_list(self.compiler.library_dirs, + '/usr/lib/' + multiarch_path_component) + add_dir_to_list(self.compiler.include_dirs, + '/usr/include/' + multiarch_path_component) return if not find_executable('dpkg-architecture'): @@ -441,10 +451,11 @@ class PyBuildExt(build_ext): if ret >> 8 == 0: with open(tmpfile) as fp: multiarch_path_component = fp.readline().strip() - add_dir_to_list(self.compiler.library_dirs, - '/usr/lib/' + multiarch_path_component) - add_dir_to_list(self.compiler.include_dirs, - '/usr/include/' + multiarch_path_component) + if not cross_compiling: + add_dir_to_list(self.compiler.library_dirs, + '/usr/lib/' + multiarch_path_component) + add_dir_to_list(self.compiler.include_dirs, + '/usr/include/' + multiarch_path_component) finally: os.unlink(tmpfile) @@ -814,7 +825,10 @@ class PyBuildExt(build_ext): ] ssl_incs = find_file('openssl/ssl.h', inc_dirs, search_for_ssl_incs_in - ) + ) + if cross_compiling: + search_for_ssl_incs_in = [] + ssl_incs = [] if ssl_incs is not None: krb5_h = find_file('krb5.h', inc_dirs, ['/usr/kerberos/include'])