summaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
authorStefan Krah <stefan@bytereef.org>2010-07-17 11:48:58 (GMT)
committerStefan Krah <stefan@bytereef.org>2010-07-17 11:48:58 (GMT)
commit61f5f01393d1eace2d31afeba1a7a5d066adfa93 (patch)
tree2e5d0d6cf072e4c7d66a6302715f13d79a25e0da /setup.py
parent6d4a06c91e55e9b939d42d7fac5a6a3bdde3f8f6 (diff)
downloadcpython-61f5f01393d1eace2d31afeba1a7a5d066adfa93.zip
cpython-61f5f01393d1eace2d31afeba1a7a5d066adfa93.tar.gz
cpython-61f5f01393d1eace2d31afeba1a7a5d066adfa93.tar.bz2
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. ........
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py25
1 files changed, 13 insertions, 12 deletions
diff --git a/setup.py b/setup.py
index 435cb53..332033d 100644
--- a/setup.py
+++ b/setup.py
@@ -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.