Kaydet (Commit) 756c6ecd authored tarafından Victor Stinner's avatar Victor Stinner

Issue #13415: Help to locate curses.h when _curses module is linked to ncursesw

üst 5604ef3e
......@@ -268,7 +268,10 @@ def test_unget_wch(stdscr):
if not hasattr(curses, 'unget_wch'):
return
for ch in ('a', '\xe9', '\u20ac', '\U0010FFFF'):
curses.unget_wch(ch)
try:
curses.unget_wch(ch)
except Exception as err:
raise Exception("unget_wch(%a) failed: %s" % (ch, err))
read = stdscr.get_wch()
read = chr(read)
if read != ch:
......
......@@ -1173,13 +1173,16 @@ class PyBuildExt(build_ext):
# Curses support, requiring the System V version of curses, often
# provided by the ncurses library.
panel_library = 'panel'
curses_includes = []
if curses_library.startswith('ncurses'):
if curses_library == 'ncursesw':
# Bug 1464056: If _curses.so links with ncursesw,
# _curses_panel.so must link with panelw.
panel_library = 'panelw'
curses_includes = ['/usr/include/ncursesw']
curses_libs = [curses_library]
exts.append( Extension('_curses', ['_cursesmodule.c'],
include_dirs=curses_includes,
define_macros=curses_defines,
libraries = curses_libs) )
elif curses_library == 'curses' and platform != 'darwin':
......@@ -1202,6 +1205,7 @@ class PyBuildExt(build_ext):
if (module_enabled(exts, '_curses') and
self.compiler.find_library_file(lib_dirs, panel_library)):
exts.append( Extension('_curses_panel', ['_curses_panel.c'],
include_dirs=curses_includes,
libraries = [panel_library] + curses_libs) )
else:
missing.append('_curses_panel')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment