This same problem also applies to OpenBSD as we have the same version of ncurses with support for wide characters. I have a similar patch in our QEMU port.
On 6/12/2021 4:03 AM, Stefan Weil wrote:
MacOS provides header files for curses 5.7 with support for wide characters, but requires _XOPEN_SOURCE_EXTENDED=1 to activate that. By default those old header files are used even if there is a newer Homebrew installation of ncurses 6.2 available. Change also the old macro definition of NCURSES_WIDECHAR and set it to 1 like it is done in newer versions of curses.h when _XOPEN_SOURCE_EXTENDED=1 is defined. Suggested-by: Daniel P. Berrangé <berra...@redhat.com> Signed-off-by: Stefan Weil <s...@weilnetz.de> --- meson.build | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index d2a9ce91f5..3ca8faa264 100644 --- a/meson.build +++ b/meson.build @@ -606,7 +606,11 @@ if have_system and not get_option('curses').disabled() endif endforeach msg = get_option('curses').enabled() ? 'curses library not found' : '' - curses_compile_args = ['-DNCURSES_WIDECHAR'] + if host_machine.system() == 'darwin' + curses_compile_args = [ '-D_XOPEN_SOURCE_EXTENDED=1'] + else + curses_compile_args = ['-DNCURSES_WIDECHAR=1'] + endif if curses.found() if cc.links(curses_test, args: curses_compile_args, dependencies: [curses]) curses = declare_dependency(compile_args: curses_compile_args, dependencies: [curses])