diff options
author | Paul Barker <pbarker@toganlabs.com> | 2018-04-16 16:21:52 +0000 |
---|---|---|
committer | Andrei Gherzan <andrei@gherzan.com> | 2018-04-23 14:08:04 +0100 |
commit | 51249c9c7888b5459d287de036c3e3a13d16485c (patch) | |
tree | eccff3ffca30b780e0f970bee47f5ebcdcaf9be7 /recipes-kernel | |
parent | 3175e7f3e2066ef34897013742ab95341c3ebaae (diff) | |
download | meta-raspberrypi-51249c9c7888b5459d287de036c3e3a13d16485c.tar.gz |
linux-raspberrypi: Allow specification of ncurses location
From patch message:
In some cross build environments such as the Yocto Project build environment
it provides an ncurses library that is compiled differently than the host's
version. This causes display corruption problems when the host's curses
includes are used instead of the includes from the provided compiler are
overridden. There is a second case where there is no curses libraries at
all on the host system and menuconfig will just fail entirely.
The solution is simply to allow an override variable in check-lxdialog.sh
for environments such as the Yocto Project. Adding a CROSS_CURSES_LIB and
CROSS_CURSES_INC solves the issue and allowing compiling and linking against
the right headers and libraries.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Diffstat (limited to 'recipes-kernel')
4 files changed, 74 insertions, 4 deletions
diff --git a/recipes-kernel/linux/files/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch b/recipes-kernel/linux/files/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch new file mode 100644 index 0000000..a9e9213 --- /dev/null +++ b/recipes-kernel/linux/files/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch | |||
@@ -0,0 +1,62 @@ | |||
1 | From e6ebc8e654bba53f28af5229a1069fc74fa58b7b Mon Sep 17 00:00:00 2001 | ||
2 | From: Jason Wessel <jason.wessel@windriver.com> | ||
3 | Date: Thu, 25 Sep 2014 11:26:49 -0700 | ||
4 | Subject: [PATCH] menuconfig,check-lxdiaglog.sh: Allow specification of ncurses | ||
5 | location | ||
6 | |||
7 | In some cross build environments such as the Yocto Project build | ||
8 | environment it provides an ncurses library that is compiled | ||
9 | differently than the host's version. This causes display corruption | ||
10 | problems when the host's curses includes are used instead of the | ||
11 | includes from the provided compiler are overridden. There is a second | ||
12 | case where there is no curses libraries at all on the host system and | ||
13 | menuconfig will just fail entirely. | ||
14 | |||
15 | The solution is simply to allow an override variable in | ||
16 | check-lxdialog.sh for environments such as the Yocto Project. Adding | ||
17 | a CROSS_CURSES_LIB and CROSS_CURSES_INC solves the issue and allowing | ||
18 | compiling and linking against the right headers and libraries. | ||
19 | |||
20 | Upstream-Status: submitted [https://lkml.org/lkml/2013/3/3/103] | ||
21 | |||
22 | Signed-off-by: Jason Wessel <jason.wessel@windriver.com> | ||
23 | cc: Michal Marek <mmarek@suse.cz> | ||
24 | cc: linux-kbuild@vger.kernel.org | ||
25 | Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> | ||
26 | Signed-off-by: California Sullivan <california.l.sullivan@intel.com> | ||
27 | --- | ||
28 | scripts/kconfig/lxdialog/check-lxdialog.sh | 8 ++++++++ | ||
29 | 1 file changed, 8 insertions(+) | ||
30 | mode change 100755 => 100644 scripts/kconfig/lxdialog/check-lxdialog.sh | ||
31 | |||
32 | diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh | ||
33 | old mode 100755 | ||
34 | new mode 100644 | ||
35 | index 5075ebf2d3b9..ba9242101190 | ||
36 | --- a/scripts/kconfig/lxdialog/check-lxdialog.sh | ||
37 | +++ b/scripts/kconfig/lxdialog/check-lxdialog.sh | ||
38 | @@ -4,6 +4,10 @@ | ||
39 | # What library to link | ||
40 | ldflags() | ||
41 | { | ||
42 | + if [ "$CROSS_CURSES_LIB" != "" ]; then | ||
43 | + echo "$CROSS_CURSES_LIB" | ||
44 | + exit | ||
45 | + fi | ||
46 | pkg-config --libs ncursesw 2>/dev/null && exit | ||
47 | pkg-config --libs ncurses 2>/dev/null && exit | ||
48 | for ext in so a dll.a dylib ; do | ||
49 | @@ -21,6 +25,10 @@ ldflags() | ||
50 | # Where is ncurses.h? | ||
51 | ccflags() | ||
52 | { | ||
53 | + if [ x"$CROSS_CURSES_INC" != x ]; then | ||
54 | + echo "$CROSS_CURSES_INC" | ||
55 | + exit | ||
56 | + fi | ||
57 | if pkg-config --cflags ncursesw 2>/dev/null; then | ||
58 | echo '-DCURSES_LOC="<ncurses.h>" -DNCURSES_WIDECHAR=1' | ||
59 | elif pkg-config --cflags ncurses 2>/dev/null; then | ||
60 | -- | ||
61 | 2.14.3 | ||
62 | |||
diff --git a/recipes-kernel/linux/linux-raspberrypi-dev.bb b/recipes-kernel/linux/linux-raspberrypi-dev.bb index 7e242eb..dd0ee6a 100644 --- a/recipes-kernel/linux/linux-raspberrypi-dev.bb +++ b/recipes-kernel/linux/linux-raspberrypi-dev.bb | |||
@@ -11,8 +11,10 @@ LINUX_VERSION ?= "4.15" | |||
11 | LINUX_RPI_DEV_BRANCH ?= "rpi-4.15.y" | 11 | LINUX_RPI_DEV_BRANCH ?= "rpi-4.15.y" |
12 | 12 | ||
13 | SRCREV = "${AUTOREV}" | 13 | SRCREV = "${AUTOREV}" |
14 | SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=${LINUX_RPI_DEV_BRANCH} \ | 14 | SRC_URI = " \ |
15 | " | 15 | git://github.com/raspberrypi/linux.git;protocol=git;branch=${LINUX_RPI_DEV_BRANCH} \ |
16 | file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \ | ||
17 | " | ||
16 | require linux-raspberrypi.inc | 18 | require linux-raspberrypi.inc |
17 | 19 | ||
18 | # Disable version check so that we don't have to edit this recipe every time | 20 | # Disable version check so that we don't have to edit this recipe every time |
diff --git a/recipes-kernel/linux/linux-raspberrypi_4.14.bb b/recipes-kernel/linux/linux-raspberrypi_4.14.bb index 7679175..1f0d8ad 100644 --- a/recipes-kernel/linux/linux-raspberrypi_4.14.bb +++ b/recipes-kernel/linux/linux-raspberrypi_4.14.bb | |||
@@ -1,6 +1,9 @@ | |||
1 | LINUX_VERSION ?= "4.14.30" | 1 | LINUX_VERSION ?= "4.14.30" |
2 | 2 | ||
3 | SRCREV = "9696aab22bb8163fb3a2a262dd6c67f6d05b70a1" | 3 | SRCREV = "9696aab22bb8163fb3a2a262dd6c67f6d05b70a1" |
4 | SRC_URI = "git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y" | 4 | SRC_URI = " \ |
5 | git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y \ | ||
6 | file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \ | ||
7 | " | ||
5 | 8 | ||
6 | require linux-raspberrypi.inc | 9 | require linux-raspberrypi.inc |
diff --git a/recipes-kernel/linux/linux-raspberrypi_4.9.bb b/recipes-kernel/linux/linux-raspberrypi_4.9.bb index af111b6..2243d4c 100644 --- a/recipes-kernel/linux/linux-raspberrypi_4.9.bb +++ b/recipes-kernel/linux/linux-raspberrypi_4.9.bb | |||
@@ -3,6 +3,9 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:" | |||
3 | LINUX_VERSION ?= "4.9.80" | 3 | LINUX_VERSION ?= "4.9.80" |
4 | 4 | ||
5 | SRCREV = "a7b4dd27c1c0d6510b8066b91ef01be0928d8529" | 5 | SRCREV = "a7b4dd27c1c0d6510b8066b91ef01be0928d8529" |
6 | SRC_URI = "git://github.com/raspberrypi/linux.git;branch=rpi-4.9.y" | 6 | SRC_URI = " \ |
7 | git://github.com/raspberrypi/linux.git;branch=rpi-4.9.y \ | ||
8 | file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \ | ||
9 | " | ||
7 | 10 | ||
8 | require linux-raspberrypi.inc | 11 | require linux-raspberrypi.inc |