On 2 June 2017 at 15:35, Peter Maydell <peter.mayd...@linaro.org> wrote: > We want the wide character functions from the ncurses header. > Unfortunately it doesn't provide them by default, but only > if either: > * NCURSES_WIDECHAR is defined (for ncurses 20111030 and up) > * _XOPEN_SOURCE/_XOPEN_SOURCE_EXTENDED are suitably defined > > So far we have been implicitly relying on the latter, because > for GNU libc when we define _GNU_SOURCE this causes libc > to define the _XOPEN_SOURCE macros for us. Unfortunately > this doesn't work on all libcs, because some (like OSX and > musl libc) do not define _XOPEN_SOURCE when _GNU_SOURCE > is defined. > > We can't fix this by defining _XOPEN_SOURCE ourselves, because > that also means "and don't provide any functions that aren't in > that standard", and not all libcs provide any way to override > that to also get the non-standard functions. In particular > FreeBSD has no such mechanism, and OSX's _DARWIN_C_SOURCE > doesn't reenable everything (for instance getpagesize() > is still not prototyped if _DARWIN_C_SOURCE and _XOPEN_SOURCE > are both defined). > > So we have to define NCURSES_WIDECHAR. (This will only work > if your ncurses is at least 20111030, as older versions > don't honour this macro.) > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
Applied, thanks. -- PMM