[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