summaryrefslogtreecommitdiffstats
path: root/meson.build
diff options
context:
space:
mode:
authorStefan Weil2021-11-17 21:53:55 +0100
committerPaolo Bonzini2021-11-19 10:18:27 +0100
commitfbab8cc24ded54f371ab9db2c9998be23c158e62 (patch)
tree524ad7b6175151ed0fd4cfcb94192ebfbfcb0024 /meson.build
parentdocs: Spell QEMU all caps (diff)
downloadqemu-fbab8cc24ded54f371ab9db2c9998be23c158e62.tar.gz
qemu-fbab8cc24ded54f371ab9db2c9998be23c158e62.tar.xz
qemu-fbab8cc24ded54f371ab9db2c9998be23c158e62.zip
meson.build: Support ncurses on MacOS and OpenBSD
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. OpenBSD has the same version of ncurses and needs the same fix. Suggested-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Stefan Weil <sw@weilnetz.de> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Tested-by: Brad Smith <brad@comstyle.com> Message-Id: <20211117205355.1392292-1-sw@weilnetz.de> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build5
1 files changed, 4 insertions, 1 deletions
diff --git a/meson.build b/meson.build
index 582f356209..fbdd415376 100644
--- a/meson.build
+++ b/meson.build
@@ -679,6 +679,9 @@ iconv = not_found
curses = not_found
if have_system and not get_option('curses').disabled()
curses_test = '''
+ #if defined(__APPLE__) || defined(__OpenBSD__)
+ #define _XOPEN_SOURCE_EXTENDED 1
+ #endif
#include <locale.h>
#include <curses.h>
#include <wchar.h>
@@ -702,7 +705,7 @@ 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']
+ curses_compile_args = ['-DNCURSES_WIDECHAR=1']
if curses.found()
if cc.links(curses_test, args: curses_compile_args, dependencies: [curses])
curses = declare_dependency(compile_args: curses_compile_args, dependencies: [curses])