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]) -- 2.30.1 (Apple Git-130)