Go to file
Arnout Vandecappelle (Essensium/Mind) 6d3d09e232 linux: don't override HOSTCC for kconfig
Kconfig uses either pkg-config or hard-coded /usr/include paths to find
the ncurses or ncursesw library. If ncursesw is found, it will include
<ncursesw.h>. Since Buildroot's host-ncurses doesn't install a .pc file,
and linux.mk anyway doesn't pass the pkg-config options to find the host
pkg-config files, Kconfig will always find the system's ncursesw.h.

However, since commit dde090c299 (linux: fix passing of host CFLAGS and
LDFLAGS) HOST_LDFLAGS is passed to the linux build system. Thus, if
host-ncurses was already built before 'make linux-menuconfig' is called,
the build will pick up libncurses from the host directory, which is NOT
widechar. Thus, two different ncurses configurations are mixed into the
final mconf program. This will result in serious breakage in the
rendering of the menus (lots of @ and question mark characters).

As a workaround (suggested by Yann), don't pass HOST_CFLAGS and
HOST_LDFLAGS when running kconfig commands. For kconfig, we should never
need host packages anyway. This way, the kconfig calls will always use
the system's ncurses and never our host-ncurses.

Note that the same problem could pop up for other kconfig packages as
well if we ever pass HOST_CFLAGS/HOST_LDFLAGS to them. We could force
HOSTCC=$(HOSTCC) directly in kconfig-package. However, for now there
are no other packages that exhibit this problem, so this can be
revisited when they do.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: David De Grave <david.degrave@essensium.com>
Cc: Scott Fan <fancp2007@gmail.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Tested-by: Matt Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-05-17 20:54:10 +02:00
arch
board configs/freescale_imx31_3stack: Remove target 2018-05-06 08:59:45 +02:00
boot
configs qemu_arm_vexpress: Linux kernel update to 4.16.7 2018-05-08 15:24:22 +02:00
docs docs/manual: using a branch name as FOO_VERSION does not work 2018-05-11 23:03:21 +02:00
fs
linux linux: don't override HOSTCC for kconfig 2018-05-17 20:54:10 +02:00
package package/clang: bump to version 5.0.2 2018-05-17 20:53:03 +02:00
support support/download/file: remove set -x 2018-05-13 22:26:43 +02:00
system
toolchain toolchain/buildroot: fix default of C library choice 2018-05-13 22:09:34 +02:00
utils
.defconfig
.flake8
.gitignore
.gitlab-ci.yml .gitlab-ci.yml: update after removal of freescale defconfigs 2018-05-06 17:36:37 +02:00
.gitlab-ci.yml.in
CHANGES CHANGES: additional updates for 2018.05-rc1 2018-05-09 22:53:39 +02:00
Config.in
Config.in.legacy package/mplayer: remove package 2018-05-09 21:36:14 +02:00
COPYING
DEVELOPERS DEVELOPERS: Add myself to support/kconfig/ 2018-05-12 09:01:40 +02:00
Makefile Update for 2018.05-rc1 2018-05-09 23:00:18 +02:00
Makefile.legacy
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