[yocto] kernel menuconfig/ncurses patch in linux-yocto

Bruce Ashfield bruce.ashfield at windriver.com
Thu Jul 21 06:06:53 PDT 2016


On 2016-07-21 08:58 AM, Bruce Ashfield wrote:
> 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.

oh wait.

I had my coffee and I see now what you mean, I was checking
older repos, and when this merged into the 4.4 tree it does
look like the conditional is hosed.

I'll queue up a closer look at this later today.

Bruce

>
> --- 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