Re: [PATCH 2/2] kconfig: use config scripts to detect ncurses libs

From: justin
Date: Fri Mar 01 2013 - 02:37:49 EST


On 28/02/13 22:50, Sven Joachim wrote:
> On 2013-02-28 10:59 +0100, jlec@xxxxxxxxxx wrote:
>
>> Ncurses provides a config script (ncurses5-config) to assist finding ncurses.
>> This patch makes use of it to detect the necessary libs for linking of the
>> ncurses nconfig dialog.
>
> That script is not necessarily called ncurses5-config, it might also be
> called ncurses6-config is ncurses is configured for a different ABI
> (--enable-ext-colors, --enable-ext-mouse). Although I would suspect
> that any distribution who does that provides a compatibility symlink.
>

We don't do that, but I rechecked with building ncurses manually. You
are right. How widely spread is the usage of this options? Or is it
rather an experimental option?
What we could do is simple extending the syntax to additionally check
for the ABI version 6 config scripts. Is this an option to consider?

>> scripts/kconfig/Makefile | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
>> index 3091794..c372976 100644
>> --- a/scripts/kconfig/Makefile
>> +++ b/scripts/kconfig/Makefile
>> @@ -216,7 +216,9 @@ HOSTCFLAGS_gconf.o = `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
>>
>> HOSTLOADLIBES_mconf = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
>>
>> -HOSTLOADLIBES_nconf = -lmenu -lpanel -lncurses
>> +HOSTLOADLIBES_nconf = -lmenu -lpanel
>> +HOSTLOADLIBES_nconf += $(shell ncursesw5-config --libs 2>/dev/null \
>> + || ncurses5-config --libs 2>/dev/null )
>
> This will link with ncursesw, not ncurses. Probably not what you want,
> since nconf.h does not #include the right headers for that.
>

That's true, and again it would change two things at once. I will go
back to simple -lncurses as it was before.

> On Debian/Ubuntu, there's also the problem that ncursesw5-config exists
> even if the libncursesw5-dev package is not installed, so this patch
> makes the build fail in such cases.

Will be solved when reverting as described above. But actually it smells
like a bug in the package management, doesn't it? Why are build time
config scripts shipped in runtime only packages? What is their purpose?

>
> Can we just call ncurses5-config and not ncursesw5-config, or are there
> any distros who ship the latter and not the former?
>

I can't talk about distro wide situation, but manual building gives only
one of the two. So there might be a situation where only one of the two
is present.

It seems we have a little dilemma here. Any suggestions how to solve it?


Thanks,
Justin

Attachment: signature.asc
Description: OpenPGP digital signature