Re: [PATCH v2 5/5] kconfig: refactor ncurses package checks for building nconf

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/20/2018 09:58 PM, Masahiro Yamada wrote:
> 2018-05-21 13:51 GMT+09:00 Randy Dunlap <rdunlap@xxxxxxxxxxxxx>:
>> On 05/20/2018 09:48 PM, Masahiro Yamada wrote:
>>> 2018-05-21 8:41 GMT+09:00 Randy Dunlap <rdunlap@xxxxxxxxxxxxx>:
>>>> On 05/20/2018 01:16 AM, Masahiro Yamada wrote:
>>>>> Building nconf requires ncurses, but its presence is not checked.
>>>>> Check and configure necessary packages by a shell script like the
>>>>> other GUI frontends.
>>>>>
>>>>> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
>>>>> ---
>>>>>
>>>>
>>>>> diff --git a/scripts/kconfig/nconf-cfg.sh b/scripts/kconfig/nconf-cfg.sh
>>>>> new file mode 100644
>>>>> index 0000000..8eb7948
>>>>> --- /dev/null
>>>>> +++ b/scripts/kconfig/nconf-cfg.sh
>>>>> @@ -0,0 +1,34 @@
>>>>> +#!/bin/sh
>>>>> +# SPDX-License-Identifier: GPL-2.0
>>>>> +
>>>>> +PKG="ncursesw menuw panelw"
>>>>> +PKG2="ncurses menu panel"
>>>>> +
>>>>> +if pkg-config --exists $PKG; then
>>>>> +     echo libs=\"$(pkg-config --libs $PKG)\"
>>>>> +     exit 0
>>>>> +fi
>>>>> +
>>>>> +if pkg-config --exists $PKG2; then
>>>>> +     echo libs=\"$(pkg-config --libs $PKG2)\"
>>>>> +     exit 0
>>>>> +fi
>>>>> +
>>>>
>>>> I guess this one needs clags, especially -I, like the mconf patch contains...
>>>
>>>
>>>
>>> I thought so.
>>>
>>> But, the current scripts/kconfig/Makefile
>>> adds 'pkg-config --libs' to nconf,
>>> but does nothing about 'pkg-config --cflags' for nconf.
>>> Therefore, I kept the current behavior just in case.
>>>
>>>
>>> The nconfig in the current version is not working for you, right?
>>
>> That's correct.
>>
>>
>> Info:
>>
>> $ make ARCH=x86_64 O=xx64 nconfig
>> make[1]: Entering directory '/home/rdunlap/lnx/next/linux-next-20180517/xx64'
>>   GEN     ./Makefile
>>   UPD     scripts/kconfig/.nconf-cfg
>>   HOSTCC  scripts/kconfig/nconf.o
>> In file included from ../scripts/kconfig/nconf.c:15:0:
>> ../scripts/kconfig/nconf.h:19:18: fatal error: menu.h: No such file or directory
>>  #include <menu.h>
>>                   ^
>> compilation terminated.
>> scripts/Makefile.host:107: recipe for target 'scripts/kconfig/nconf.o' failed
>> make[2]: *** [scripts/kconfig/nconf.o] Error 1
>> /home/rdunlap/lnx/next/linux-next-20180517/Makefile:525: recipe for target 'nconfig' failed
>> make[1]: *** [nconfig] Error 2
>> make[1]: Leaving directory '/home/rdunlap/lnx/next/linux-next-20180517/xx64'
>> Makefile:146: recipe for target 'sub-make' failed
>> make: *** [sub-make] Error 2
>>
>>
>> xx64/scripts/kconfig/.nconf-cfg contains:
>> libs="-lncursesw -lmenuw -lpanelw"
>>
> 
> Sorry, I mean
> the nconfig in the Linus tree is not working, right?

It works just fine.  In a new linux-4.17-rc6 tree:

$ make ARCH=x86_64 O=xx64 V=1 nconfig
make -C /home/rdunlap/lnx/lnx-417-rc6/xx64 KBUILD_SRC=/home/rdunlap/lnx/lnx-417-rc6 \
-f /home/rdunlap/lnx/lnx-417-rc6/Makefile nconfig
make[1]: Entering directory '/home/rdunlap/lnx/lnx-417-rc6/xx64'
make -f ../scripts/Makefile.build obj=scripts/basic
rm -f .tmp_quiet_recordmcount
ln -fsn .. source
/bin/sh ../scripts/mkmakefile \
    .. . 4 17
  GEN     ./Makefile
make -f ../scripts/Makefile.build obj=scripts/kconfig nconfig
  gcc -Wp,-MD,scripts/kconfig/.nconf.o.d -Iscripts/kconfig -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89  -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -c -o scripts/kconfig/nconf.o ../scripts/kconfig/nconf.c
  gcc -Wp,-MD,scripts/kconfig/.nconf.gui.o.d -Iscripts/kconfig -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89  -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -c -o scripts/kconfig/nconf.gui.o ../scripts/kconfig/nconf.gui.c
  gcc  -o scripts/kconfig/nconf scripts/kconfig/nconf.o scripts/kconfig/zconf.tab.o scripts/kconfig/nconf.gui.o  -lmenu -lpanel -lncurses
scripts/kconfig/nconf  Kconfig
make[1]: Leaving directory '/home/rdunlap/lnx/lnx-417-rc6/xx64'



-- 
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux