Go to file
Thomas Petazzoni 5a18eabdf0 util-linux: fix ncurses/wchar handling
Since commit 006a328ad6 ("util-linux: fix
build with ncurses"), we have a build failure that occurs with musl
toolchains when wide-char support is not enabled in ncurses.

The problem comes from the fact that musl provides wchar support (so it
defines wchar_t). But when ncursesw is not available, we currently pass
--disable-widechar which tells util-linux that wchar support is not
available at all (not only in ncurses). When this gets passed to
util-linux configure script, then it defines its own wchar_t, which
conflicts with the musl definition.

So, we should not pass --disable-widechar when BR2_USE_WCHAR=y, which is
what this commit does: it moves the BR2_USE_WCHAR logic outside of the
ncurses logic, and passes --enable-widechar/--disable-widechar as
appropriate.

However, there's a gotcha: util-linux really wants the ncursesw variant
of ncurses when the system has wchar support enabled. We take this into
account by:

 - Enabling ncursesw when BR2_PACKAGE_NCURSES_WCHAR=y. In this case, we
   have ncurses and we have BR2_USE_WCHAR=y, so everything is fine.

 - Otherwise, enabling ncurses when BR2_PACKAGE_NCURSES=y but
   BR2_USE_WCHAR is disabled.

To make sure that the existing util-linux programs that need ncurses
support still build fine, we adjust the Config.in to select
BR2_PACKAGE_NCURSES_WCHAR on BR2_USE_WCHAR=y configurations.

Fixes:

  http://autobuild.buildroot.net/results/19de2a0b12380ddc86dbba0dae3a3877b25f83ff/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-23 15:01:11 +01:00
arch arch/Config.in.arm: support thumb2 instructions for ARMv8 in 32bit mode 2016-12-08 22:32:17 +01:00
board BeagleBoard X15: new board 2016-12-18 23:07:03 +01:00
boot uboot: fix custom patch dir legacy handling 2016-12-20 09:33:48 +01:00
configs olimex_a20_olinuxino_lime2_defconfig: correct u-boot configuration 2016-12-23 00:06:29 +01:00
docs docs/website/news.html: add 2016.11 announcement link 2016-12-19 23:48:12 +01:00
fs fs: set packages permissions even with no system device tables 2016-12-14 23:45:48 +01:00
linux linux: cleanup dead custom-local option 2016-12-20 10:11:41 +01:00
package util-linux: fix ncurses/wchar handling 2016-12-23 15:01:11 +01:00
support mkusers: fix spelling in intro comment 2016-12-20 09:32:06 +01:00
system system: fix typo 2016-10-13 08:06:11 +02:00
toolchain toolchain: extend musl workaround for recent kernels 2016-12-17 15:26:11 +01:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.gitignore
CHANGES Update for 2016.11 2016-11-30 23:16:22 +01:00
Config.in package/google-breakpad: really fix the C++11 dependency 2016-12-22 10:36:20 +01:00
Config.in.legacy linux-headers: kill 3.14.x and 4.{5, 6, 7}.x series 2016-12-20 19:32:00 +01:00
COPYING
DEVELOPERS DEVELOPERS: add Eric Le Bihan for package/skalibs/ 2016-12-23 11:20:29 +01:00
Makefile Makefile: move SED definition into the main Makefile 2016-12-06 20:40:10 +01:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches