diff options
author | Nadeem Vawda <nadeem.vawda@gmail.com> | 2011-07-31 13:01:11 (GMT) |
---|---|---|
committer | Nadeem Vawda <nadeem.vawda@gmail.com> | 2011-07-31 13:01:11 (GMT) |
commit | 9e2e99097cee234a3be025b968fb7ffff0f05f3e (patch) | |
tree | 7b8c1f3d88981a75afdb66b7992555df45be4237 | |
parent | 4fbff6c631ab134846334607602a8b0f55a23333 (diff) | |
download | cpython-9e2e99097cee234a3be025b968fb7ffff0f05f3e.zip cpython-9e2e99097cee234a3be025b968fb7ffff0f05f3e.tar.gz cpython-9e2e99097cee234a3be025b968fb7ffff0f05f3e.tar.bz2 |
Fix build error in _curses module when not using libncursesw.
Code extracted from Victor Stinner's patch for issue #12567.
-rw-r--r-- | Modules/_cursesmodule.c | 4 | ||||
-rw-r--r-- | setup.py | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c index 9e57cd9..6d72024 100644 --- a/Modules/_cursesmodule.c +++ b/Modules/_cursesmodule.c @@ -906,6 +906,7 @@ PyCursesWindow_GetKey(PyCursesWindowObject *self, PyObject *args) } } +#ifdef HAVE_NCURSESW static PyObject * PyCursesWindow_Get_WCh(PyCursesWindowObject *self, PyObject *args) { @@ -937,6 +938,7 @@ PyCursesWindow_Get_WCh(PyCursesWindowObject *self, PyObject *args) } return PyLong_FromLong(rtn); } +#endif static PyObject * PyCursesWindow_GetStr(PyCursesWindowObject *self, PyObject *args) @@ -1636,7 +1638,9 @@ static PyMethodDef PyCursesWindow_Methods[] = { {"getbkgd", (PyCFunction)PyCursesWindow_GetBkgd, METH_NOARGS}, {"getch", (PyCFunction)PyCursesWindow_GetCh, METH_VARARGS}, {"getkey", (PyCFunction)PyCursesWindow_GetKey, METH_VARARGS}, +#ifdef HAVE_NCURSESW {"get_wch", (PyCFunction)PyCursesWindow_Get_WCh, METH_VARARGS}, +#endif {"getmaxyx", (PyCFunction)PyCursesWindow_getmaxyx, METH_NOARGS}, {"getparyx", (PyCFunction)PyCursesWindow_getparyx, METH_NOARGS}, {"getstr", (PyCFunction)PyCursesWindow_GetStr, METH_VARARGS}, @@ -1161,6 +1161,10 @@ class PyBuildExt(build_ext): else: missing.extend(['nis', 'resource', 'termios']) + curses_defines = [] + if curses_library == 'ncursesw': + curses_defines.append(('HAVE_NCURSESW', '1')) + # Curses support, requiring the System V version of curses, often # provided by the ncurses library. panel_library = 'panel' @@ -1171,6 +1175,7 @@ class PyBuildExt(build_ext): panel_library = 'panelw' curses_libs = [curses_library] exts.append( Extension('_curses', ['_cursesmodule.c'], + define_macros=curses_defines, libraries = curses_libs) ) elif curses_library == 'curses' and platform != 'darwin': # OSX has an old Berkeley curses, not good enough for @@ -1183,6 +1188,7 @@ class PyBuildExt(build_ext): curses_libs = ['curses'] exts.append( Extension('_curses', ['_cursesmodule.c'], + define_macros=curses_defines, libraries = curses_libs) ) else: missing.append('_curses') |