linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/2] kconfig: use config scripts to detect ncurses libs
@ 2013-02-28  9:59 jlec
  2013-02-28 20:59 ` Yann E. MORIN
  2013-02-28 21:50 ` Sven Joachim
  0 siblings, 2 replies; 12+ messages in thread
From: jlec @ 2013-02-28  9:59 UTC (permalink / raw)
  To: linux-kbuild, linux-kernel; +Cc: Justin Lecher

From: Justin Lecher <jlec@gentoo.org>

When building ncurses with --with-termlib several symbols get moved from
libncurses.so to libtinfo.so. Thus when linking with libncurses.so, one
additionally needs to link with libtinfo.so.

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.

Signed-off-by: Justin Lecher <jlec@gentoo.org>
---
 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  )
 $(obj)/qconf.o: $(obj)/.tmp_qtcheck
 
 ifeq ($(qconf-target),1)
-- 
1.8.1.4


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] kconfig: use config scripts to detect ncurses libs
  2013-02-28  9:59 [PATCH 2/2] kconfig: use config scripts to detect ncurses libs jlec
@ 2013-02-28 20:59 ` Yann E. MORIN
  2013-03-01  7:48   ` justin
  2013-02-28 21:50 ` Sven Joachim
  1 sibling, 1 reply; 12+ messages in thread
From: Yann E. MORIN @ 2013-02-28 20:59 UTC (permalink / raw)
  To: linux-kbuild; +Cc: jlec, linux-kernel

Justin, All,

On Thursday 28 February 2013 jlec@gentoo.org wrote:
> When building ncurses with --with-termlib several symbols get moved from
> libncurses.so to libtinfo.so. Thus when linking with libncurses.so, one
> additionally needs to link with libtinfo.so.
> 
> 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.

I've queued that one in my tree, now, in branch yem-kconfig-for-next:
    https://www.gitorious.org/linux-kconfig/linux-kconfig

Thank you! :-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] kconfig: use config scripts to detect ncurses libs
  2013-02-28  9:59 [PATCH 2/2] kconfig: use config scripts to detect ncurses libs jlec
  2013-02-28 20:59 ` Yann E. MORIN
@ 2013-02-28 21:50 ` Sven Joachim
  2013-03-01  7:37   ` justin
  2013-03-03 20:23   ` Yann E. MORIN
  1 sibling, 2 replies; 12+ messages in thread
From: Sven Joachim @ 2013-02-28 21:50 UTC (permalink / raw)
  To: jlec; +Cc: linux-kbuild, linux-kernel

On 2013-02-28 10:59 +0100, jlec@gentoo.org 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.

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

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.

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

Cheers,
       Sven

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] kconfig: use config scripts to detect ncurses libs
  2013-02-28 21:50 ` Sven Joachim
@ 2013-03-01  7:37   ` justin
  2013-03-01  8:36     ` Sven Joachim
  2013-03-03 20:23   ` Yann E. MORIN
  1 sibling, 1 reply; 12+ messages in thread
From: justin @ 2013-03-01  7:37 UTC (permalink / raw)
  To: Sven Joachim; +Cc: linux-kbuild, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2669 bytes --]

On 28/02/13 22:50, Sven Joachim wrote:
> On 2013-02-28 10:59 +0100, jlec@gentoo.org 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 #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 263 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] kconfig: use config scripts to detect ncurses libs
  2013-02-28 20:59 ` Yann E. MORIN
@ 2013-03-01  7:48   ` justin
  0 siblings, 0 replies; 12+ messages in thread
From: justin @ 2013-03-01  7:48 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: linux-kbuild, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 943 bytes --]

On 28/02/13 21:59, Yann E. MORIN wrote:
> I've queued that one in my tree, now, in branch yem-kconfig-for-next:
>     https://www.gitorious.org/linux-kconfig/linux-kconfig
> 


Thanks for queuing, but with the points which Sven mentioned we should
first agree on a way to detect things.

The simplest option which might only be present at very recent distro
versions is using pkg-config.
Second best is ncurses*5-config. There we have the strange situation
that "ncurses-bin" contains the config scripts although no build time
dependencies are installed along.
Third, we might only find either of nurses{,w}5-config.
And at last we might face the situation where the new ABI is used and
the script is named ncurses{,w}6-config.

Ugly but working would be a simple "||" chain. This would create
problems on debian/ubuntu which needs to be solved.

Any other suggestions how we can solve the problem?


Thanks
justin


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 263 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] kconfig: use config scripts to detect ncurses libs
  2013-03-01  7:37   ` justin
@ 2013-03-01  8:36     ` Sven Joachim
  2013-03-01 13:47       ` justin
  0 siblings, 1 reply; 12+ messages in thread
From: Sven Joachim @ 2013-03-01  8:36 UTC (permalink / raw)
  To: justin; +Cc: linux-kbuild, linux-kernel

On 2013-03-01 08:37 +0100, justin wrote:

> On 28/02/13 22:50, Sven Joachim wrote:
>> On 2013-02-28 10:59 +0100, jlec@gentoo.org 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?

Pretty much, since it changes the ABI and everyone wants to be
compatible with the existing ncurses ABI.

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

Probably.

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

Historically it seems to be an accident, and the ncurses{w,5}-config
scripts should have better been shipped in their development packages.
But nowadays we want to make the development packages multiarch-aware,
and since the scripts differ on architectures, moving them away from
ncurses-bin would mean adding two additional binary packages just for
these scripts.

See http://bugs.debian.org/480437 for a discussion on that topic.

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

Well, at least until nconf does not make any effort to explicitly detect
and use the wide API, trying ncurses5-config first should work.  If you
build ncurses yourself with --enable-widec, there is no -lmenu or -lpanel
anyway, these libraries are called menuw and panelw then.

Cheers,
       Sven

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] kconfig: use config scripts to detect ncurses libs
  2013-03-01  8:36     ` Sven Joachim
@ 2013-03-01 13:47       ` justin
  2013-03-01 17:04         ` Sven Joachim
  0 siblings, 1 reply; 12+ messages in thread
From: justin @ 2013-03-01 13:47 UTC (permalink / raw)
  To: Sven Joachim; +Cc: linux-kbuild, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1075 bytes --]

On 01/03/13 09:36, Sven Joachim wrote:
> Historically it seems to be an accident, and the ncurses{w,5}-config
> scripts should have better been shipped in their development packages.
> But nowadays we want to make the development packages multiarch-aware,
> and since the scripts differ on architectures, moving them away from
> ncurses-bin would mean adding two additional binary packages just for
> these scripts.
> 
> See http://bugs.debian.org/480437 for a discussion on that topic.
> 

I just tested on an ubuntu installation what happens with the patches
applied; you simply end up with the warning the you need to install the
dev package. So I don't see any problem here.

> Well, at least until nconf does not make any effort to explicitly detect
> and use the wide API, trying ncurses5-config first should work.  If you
> build ncurses yourself with --enable-widec, there is no -lmenu or -lpanel
> anyway, these libraries are called menuw and panelw then.

You are right, we only should consider ncurses5-config right now.

Regards,
Justin


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 263 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] kconfig: use config scripts to detect ncurses libs
  2013-03-01 13:47       ` justin
@ 2013-03-01 17:04         ` Sven Joachim
  0 siblings, 0 replies; 12+ messages in thread
From: Sven Joachim @ 2013-03-01 17:04 UTC (permalink / raw)
  To: justin; +Cc: linux-kbuild, linux-kernel

On 2013-03-01 14:47 +0100, justin wrote:

> On 01/03/13 09:36, Sven Joachim wrote:
>> Historically it seems to be an accident, and the ncurses{w,5}-config
>> scripts should have better been shipped in their development packages.
>> But nowadays we want to make the development packages multiarch-aware,
>> and since the scripts differ on architectures, moving them away from
>> ncurses-bin would mean adding two additional binary packages just for
>> these scripts.
>> 
>> See http://bugs.debian.org/480437 for a discussion on that topic.
>> 
>
> I just tested on an ubuntu installation what happens with the patches
> applied; you simply end up with the warning the you need to install the
> dev package. So I don't see any problem here.

Well, in Debian/Ubuntu are _two_ dev packages, one for the wide API
(libncursesw5-dev), and on for the non-wide API (libncurses5-dev).  Only
the latter should be necessary, but with your original patch people
would need to install the former as well.

>> Well, at least until nconf does not make any effort to explicitly detect
>> and use the wide API, trying ncurses5-config first should work.  If you
>> build ncurses yourself with --enable-widec, there is no -lmenu or -lpanel
>> anyway, these libraries are called menuw and panelw then.
>
> You are right, we only should consider ncurses5-config right now.

That seems unlikely to cause regressions on its own.

Cheers,
       Sven

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] kconfig: use config scripts to detect ncurses libs
  2013-02-28 21:50 ` Sven Joachim
  2013-03-01  7:37   ` justin
@ 2013-03-03 20:23   ` Yann E. MORIN
  2013-03-03 21:37     ` Sven Joachim
  1 sibling, 1 reply; 12+ messages in thread
From: Yann E. MORIN @ 2013-03-03 20:23 UTC (permalink / raw)
  To: linux-kbuild; +Cc: Sven Joachim, jlec, linux-kernel

Sven, Justin, All,

Sorry for the delay...

On Thursday 28 February 2013 Sven Joachim wrote:
> On 2013-02-28 10:59 +0100, jlec@gentoo.org 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.

Cygwin does provide nurses{,w}{5,6}-config.

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

The same goes for ncurses5-config, which is provided by ncurses-bin, and
so is present even if the devel package is not installed, and the build
will break, too.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] kconfig: use config scripts to detect ncurses libs
  2013-03-03 20:23   ` Yann E. MORIN
@ 2013-03-03 21:37     ` Sven Joachim
  0 siblings, 0 replies; 12+ messages in thread
From: Sven Joachim @ 2013-03-03 21:37 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: linux-kbuild, jlec, linux-kernel

On 2013-03-03 21:23 +0100, Yann E. MORIN wrote:

> On Thursday 28 February 2013 Sven Joachim wrote:
>> On 2013-02-28 10:59 +0100, jlec@gentoo.org wrote:
>
>> >  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.
>> 
>> 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.
>
> The same goes for ncurses5-config, which is provided by ncurses-bin, and
> so is present even if the devel package is not installed, and the build
> will break, too.

This is not the same: if libncurses5-dev is not installed, the build is
going to fail anyway, since there is no -lmenu or -lpanel then.

I second the proposal to try pkg-config and fall back to -lncurses, BTW.

Cheers,
       Sven

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/2] kconfig: use config scripts to detect ncurses libs
  2013-03-01 15:50 ` [PATCH 2/2] kconfig: use config scripts to detect ncurses libs jlec
@ 2013-03-03 20:38   ` Yann E. MORIN
  0 siblings, 0 replies; 12+ messages in thread
From: Yann E. MORIN @ 2013-03-03 20:38 UTC (permalink / raw)
  To: linux-kbuild; +Cc: jlec, linux-kernel

Justin, All,

On Friday 01 March 2013 jlec@gentoo.org wrote:
> When building ncurses with --with-termlib several symbols get moved from
> libncurses.so to libtinfo.so. Thus when linking with libncurses.so, one
> additionally needs to link with libtinfo.so. Ncurses provides a config script
> (ncurses5-config) or in very recent version even a pkg-config module to assist
> finding ncurses.
> 
> This patch makes use of it to detect the necessary libs for linking of the
> ncurses nconfig dialog
> 
> Signed-off-by: Justin Lecher <jlec@gentoo.org>
> ---
>  scripts/kconfig/Makefile | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
> index 231b475..cc81db5 100644
> --- a/scripts/kconfig/Makefile
> +++ b/scripts/kconfig/Makefile
> @@ -219,7 +219,11 @@ 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 \
> +				pkg-config --libs ncurses 2>/dev/null \
> +				|| ncurses5-config --libs 2>/dev/null \
> +				|| ncurses6-config --libs 2>/dev/null  )

Ditto as for menuconfig: drop the ncurses*-config scripts, and:
  - try pkg-config;
  - fallback to -lncurses.

HOSTLOADLIBES_nconf	+= $(shell \
				pkg-config --libs ncurses 2>/dev/null \
				|| echo -lncurses )

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 2/2] kconfig: use config scripts to detect ncurses libs
  2013-03-01 15:50 ncurses detection for nconfig/menuconfig patches revised jlec
@ 2013-03-01 15:50 ` jlec
  2013-03-03 20:38   ` Yann E. MORIN
  0 siblings, 1 reply; 12+ messages in thread
From: jlec @ 2013-03-01 15:50 UTC (permalink / raw)
  To: linux-kbuild, linux-kernel; +Cc: Justin Lecher

From: Justin Lecher <jlec@gentoo.org>

When building ncurses with --with-termlib several symbols get moved from
libncurses.so to libtinfo.so. Thus when linking with libncurses.so, one
additionally needs to link with libtinfo.so. Ncurses provides a config script
(ncurses5-config) or in very recent version even a pkg-config module to assist
finding ncurses.

This patch makes use of it to detect the necessary libs for linking of the
ncurses nconfig dialog

Signed-off-by: Justin Lecher <jlec@gentoo.org>
---
 scripts/kconfig/Makefile | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 231b475..cc81db5 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -219,7 +219,11 @@ 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 \
+				pkg-config --libs ncurses 2>/dev/null \
+				|| ncurses5-config --libs 2>/dev/null \
+				|| ncurses6-config --libs 2>/dev/null  )
 $(obj)/qconf.o: $(obj)/.tmp_qtcheck
 
 ifeq ($(qconf-target),1)
-- 
1.8.1.4


^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2013-03-03 21:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-28  9:59 [PATCH 2/2] kconfig: use config scripts to detect ncurses libs jlec
2013-02-28 20:59 ` Yann E. MORIN
2013-03-01  7:48   ` justin
2013-02-28 21:50 ` Sven Joachim
2013-03-01  7:37   ` justin
2013-03-01  8:36     ` Sven Joachim
2013-03-01 13:47       ` justin
2013-03-01 17:04         ` Sven Joachim
2013-03-03 20:23   ` Yann E. MORIN
2013-03-03 21:37     ` Sven Joachim
2013-03-01 15:50 ncurses detection for nconfig/menuconfig patches revised jlec
2013-03-01 15:50 ` [PATCH 2/2] kconfig: use config scripts to detect ncurses libs jlec
2013-03-03 20:38   ` Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).