Author: Matti Picus <[email protected]>
Branch:
Changeset: r98249:cf0ed0f35064
Date: 2019-12-08 08:26 +0200
http://bitbucket.org/pypy/pypy/changeset/cf0ed0f35064/
Log: redo _curses_build library detection
diff --git a/lib_pypy/_curses_build.py b/lib_pypy/_curses_build.py
--- a/lib_pypy/_curses_build.py
+++ b/lib_pypy/_curses_build.py
@@ -28,13 +28,25 @@
# error message
raise e_last
-def find_curses_include_dirs():
- if os.path.exists('/usr/include/ncurses'):
- return ['/usr/include/ncurses']
- if os.path.exists('/usr/include/ncursesw'):
- return ['/usr/include/ncursesw']
- return []
+def find_curses_dir_and_name():
+ for base in ('/usr', '/usr/local'):
+ if os.path.exists(os.path.join(base, 'include', 'ncursesw')):
+ return base, 'ncursesw'
+ if os.path.exists(os.path.join(base, 'include', 'ncurses')):
+ return base, 'ncurses'
+ return '', None
+base, name = find_curses_dir_and_name()
+if base:
+ include_dirs = [os.path.join(base, 'include', name)]
+ library_dirs = [os.path.join(base, 'lib')]
+ libs = [name, name.replace('ncurses', 'panel')]
+else:
+ include_dirs = []
+ library_dirs = []
+ libs = [find_library(['ncursesw', 'ncurses']),
+ find_library(['panelw', 'panel']),
+ ]
ffi = FFI()
ffi.set_source("_curses_cffi", """
@@ -83,9 +95,10 @@
void _m_getsyx(int *yx) {
getsyx(yx[0], yx[1]);
}
-""", libraries=[find_library(['ncurses', 'ncursesw']),
- find_library(['panel', 'panelw'])],
- include_dirs=find_curses_include_dirs())
+""", libraries=libs,
+ library_dirs = library_dirs,
+ include_dirs=include_dirs,
+)
ffi.cdef("""
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit