[yocto] kernel menuconfig/ncurses patch in linux-yocto
Bruce Ashfield
bruce.ashfield at windriver.com
Thu Jul 21 05:58:32 PDT 2016
On 2016-07-21 02:35 AM, Jacob Kroon wrote:
> On Thu, Jul 21, 2016 at 5:22 AM, Bruce Ashfield
> <bruce.ashfield at windriver.com> wrote:
>> On 2016-07-20 4:19 PM, Jacob Kroon wrote:
>>>
>>> Hi,
>>> I'm trying to get the SDK to be able to run the kernel's "make
>>> menuconfig" target
>>> using nativesdk-ncurses from the SDK. Looking at
>>>
>>>
>>> http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-4.4/commit/scripts/kconfig/lxdialog/check-lxdialog.sh?h=standard/beaglebone&id=badf6fedf455958fe0ff3c060c8e3965ef6d80dc
>>>
>>> I figured out I could pass CROSS_CURSES_[INC,LIB], but the second chunk
>>> in that patch looks weird:
>>>
>>> elif pkg-config --cflags ncurses 2>/dev/null; then
>>> echo '-DCURSES_LOC="<ncurses.h>"'
>>> + if [ x"$CROSS_CURSES_INC" != x ]; then
>>> + echo "$CROSS_CURSES_INC"
>>> + exit
>>> + fi
>>> elif [ -f /usr/include/ncursesw/curses.h ]; then
>>> echo '-I/usr/include/ncursesw -DCURSES_LOC="<curses.h>"'
>>>
>>> (I had to do manual indentation with spaces in gmail)
>>> Is the indentation or the logic incorrect ?
>>
>>
>> In the commit itself, the indentation is fine.
>>
>> That block of code is just dumping flags that are used in the
>> build. So in this case, it is correct. If the variable is
>> non empty, it is echoed and then processing exits.
>
> The check if CROSS_CURSES_INC is non-empty is only done if the preceeding
> "elif"-check is true, and not unconditionally as one would expect
> judging by the indentation.
Yep, that's the point. It goes to pkgconfig first, and then falls
back to that.
The indention is fine in the actual repository.
--- a/scripts/kconfig/lxdialog/check-lxdialog.sh
+++ b/scripts/kconfig/lxdialog/check-lxdialog.sh
@@ -4,6 +4,10 @@
# What library to link
ldflags()
{
+ if [ "$CROSS_CURSES_LIB" != "" ]; then
+ echo "$CROSS_CURSES_LIB"
+ exit
+ fi
pkg-config --libs ncursesw 2>/dev/null && exit
pkg-config --libs ncurses 2>/dev/null && exit
for ext in so a dll.a dylib ; do
@@ -25,6 +29,10 @@ ccflags()
echo '-DCURSES_LOC="<ncurses.h>" -DNCURSES_WIDECHAR=1'
elif pkg-config --cflags ncurses 2>/dev/null; then
echo '-DCURSES_LOC="<ncurses.h>"'
+ if [ x"$CROSS_CURSES_INC" != x ]; then
+ echo "$CROSS_CURSES_INC"
+ exit
+ fi
elif [ -f /usr/include/ncursesw/curses.h ]; then
echo '-I/usr/include/ncursesw -DCURSES_LOC="<curses.h>"'
echo ' -DNCURSES_WIDECHAR=1'
Bruce
>
More information about the yocto
mailing list