Merged revisions 82927 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r82927 | stefan.krah | 2010-07-17 13:46:52 +0200 (Sat, 17 Jul 2010) | 4 lines

  Issue #7384: On Gentoo, libreadline.so is a "fake library", so ldd fails.
  In that case, do not attempt to parse stderr output.
........
This commit is contained in:
Stefan Krah 2010-07-17 11:48:58 +00:00
parent 6d4a06c91e
commit 61f5f01393
1 changed files with 13 additions and 12 deletions

View File

@ -547,18 +547,19 @@ class PyBuildExt(build_ext):
tmpfile = os.path.join(self.build_temp, 'readline_termcap_lib')
if not os.path.exists(self.build_temp):
os.makedirs(self.build_temp)
os.system("ldd %s > %s" % (do_readline, tmpfile))
fp = open(tmpfile)
for ln in fp:
if 'curses' in ln:
readline_termcap_library = re.sub(
r'.*lib(n?cursesw?)\.so.*', r'\1', ln
).rstrip()
break
if 'tinfo' in ln: # termcap interface split out from ncurses
readline_termcap_library = 'tinfo'
break
fp.close()
ret = os.system("ldd %s > %s" % (do_readline, tmpfile))
if ret >> 8 == 0:
fp = open(tmpfile)
for ln in fp:
if 'curses' in ln:
readline_termcap_library = re.sub(
r'.*lib(n?cursesw?)\.so.*', r'\1', ln
).rstrip()
break
if 'tinfo' in ln: # termcap interface split out from ncurses
readline_termcap_library = 'tinfo'
break
fp.close()
os.unlink(tmpfile)
# Issue 7384: If readline is already linked against curses,
# use the same library for the readline and curses modules.