From: Antoine Pitrou Date: Sat, 30 Jun 2012 21:03:18 +0000 (+0200) Subject: Merge X-Git-Tag: v3.3.0b2~353 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7f7902ce9c626021705b4c54677f64d2513e4d4c;p=python Merge --- 7f7902ce9c626021705b4c54677f64d2513e4d4c diff --cc setup.py index 62e5ad2428,30a7a8fee6..c1d6968a4e --- a/setup.py +++ b/setup.py @@@ -590,14 -643,21 +643,21 @@@ class PyBuildExt(build_ext) do_readline = self.compiler.find_library_file(lib_dirs, 'readline') readline_termcap_library = "" curses_library = "" + # Cannot use os.popen here in py3k. + tmpfile = os.path.join(self.build_temp, 'readline_termcap_lib') + if not os.path.exists(self.build_temp): + os.makedirs(self.build_temp) # Determine if readline is already linked against curses or tinfo. - if do_readline and find_executable('ldd'): - # Cannot use os.popen here in py3k. - tmpfile = os.path.join(self.build_temp, 'readline_termcap_lib') - if not os.path.exists(self.build_temp): - os.makedirs(self.build_temp) - ret = os.system("ldd %s > %s" % (do_readline, tmpfile)) + if do_readline: + if cross_compiling: + ret = os.system("%s -d %s | grep '(NEEDED)' > %s" \ + % (sysconfig.get_config_var('READELF'), + do_readline, tmpfile)) + elif find_executable('ldd'): + ret = os.system("ldd %s > %s" % (do_readline, tmpfile)) + else: + ret = 256 - if ret >> 8 == 0: + if ret == 0: with open(tmpfile) as fp: for ln in fp: if 'curses' in ln: