diff -r df0e900b8860 setup.py --- a/setup.py Fri Apr 22 23:43:24 2016 -0700 +++ b/setup.py Sat Apr 23 11:05:18 2016 +0200 @@ -783,6 +783,19 @@ ['/usr/lib/termcap'], 'termcap'): readline_libs.append('termcap') + + # android quick hack. + # The command '$NDK_HOME/.../...readelf -d libncursesw.so' prints: + # (NEEDED) Shared library: [libc.so] + # (NEEDED) Shared library: [libtinfow.so] + # (NEEDED) Shared library: [libdl.so] + # (SONAME) Library soname: [libncursesw.so] + # But unfortunately _readelf is not the absolute path, so + # the above call to os.system() fails (this is a bug). + _readelf = sysconfig.get_config_var('READELF') + if 'android' in _readelf: + readline_libs.append('tinfow') + exts.append( Extension('readline', ['readline.c'], library_dirs=['/usr/lib/termcap'], extra_link_args=readline_extra_link_args, @@ -1342,7 +1355,12 @@ curses_defines.append(('_XOPEN_SOURCE_EXTENDED', '1')) if curses_library.startswith('ncurses'): - curses_libs = [curses_library] + # android quick hack. + if 'android' in _readelf: + curses_libs = [curses_library, 'tinfow'] + else: + curses_libs = [curses_library] + exts.append( Extension('_curses', ['_cursesmodule.c'], include_dirs=curses_includes, define_macros=curses_defines,