All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] Use config scripts to detect ncurses libs for menuconfig
@ 2013-02-27 18:07 jlec
  2013-02-27 18:07 ` [PATCH 2/2] Use config scripts to detect ncurses libs for nconfig jlec
  2013-02-27 18:37 ` [PATCH 1/2] Use config scripts to detect ncurses libs for menuconfig Yann E. MORIN
  0 siblings, 2 replies; 11+ messages in thread
From: jlec @ 2013-02-27 18:07 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 menuconfig dialog.

Signed-off-by: Justin Lecher <jlec@gentoo.org>
---
 scripts/kconfig/lxdialog/check-lxdialog.sh | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh
index c8e8a71..e429207 100644
--- a/scripts/kconfig/lxdialog/check-lxdialog.sh
+++ b/scripts/kconfig/lxdialog/check-lxdialog.sh
@@ -4,15 +4,23 @@
 # What library to link
 ldflags()
 {
-	for ext in so a dll.a dylib ; do
-		for lib in ncursesw ncurses curses ; do
-			$cc -print-file-name=lib${lib}.${ext} | grep -q /
-			if [ $? -eq 0 ]; then
-				echo "-l${lib}"
-				exit
-			fi
+	if ncursesw5-config --libs >/dev/null 2>&1; then
+		ncursesw5-config --libs
+		exit
+	elif ncurses5-config --libs >/dev/null 2>&1; then
+		ncurses5-config --libs
+		exit
+	else
+		for ext in so a dll.a dylib ; do
+			for lib in ncursesw ncurses curses ; do
+				$cc -print-file-name=lib${lib}.${ext} | grep -q /
+				if [ $? -eq 0 ]; then
+					echo "-l${lib}"
+					exit
+				fi
+			done
 		done
-	done
+	fi
 	exit 1
 }
 
-- 
1.8.1.4


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

* [PATCH 2/2] Use config scripts to detect ncurses libs for nconfig
  2013-02-27 18:07 [PATCH 1/2] Use config scripts to detect ncurses libs for menuconfig jlec
@ 2013-02-27 18:07 ` jlec
  2013-02-27 19:02   ` Yann E. MORIN
  2013-02-27 18:37 ` [PATCH 1/2] Use config scripts to detect ncurses libs for menuconfig Yann E. MORIN
  1 sibling, 1 reply; 11+ messages in thread
From: jlec @ 2013-02-27 18:07 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 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 3091794..7ddbf98 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -216,7 +216,7 @@ 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 `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] 11+ messages in thread

* Re: [PATCH 1/2] Use config scripts to detect ncurses libs for menuconfig
  2013-02-27 18:07 [PATCH 1/2] Use config scripts to detect ncurses libs for menuconfig jlec
  2013-02-27 18:07 ` [PATCH 2/2] Use config scripts to detect ncurses libs for nconfig jlec
@ 2013-02-27 18:37 ` Yann E. MORIN
  2013-02-28  9:35   ` justin
  1 sibling, 1 reply; 11+ messages in thread
From: Yann E. MORIN @ 2013-02-27 18:37 UTC (permalink / raw)
  To: linux-kbuild; +Cc: jlec, linux-kernel

Justin, All,

On Wednesday 27 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 menuconfig dialog.
> 
> Signed-off-by: Justin Lecher <jlec@gentoo.org>

Usually, patch subjects are of the form:
  subsystem: subject

So I'd suggest the following subject:
    kconfig/menuconfig: use config scripts to detect ncurses libs

That way, it makes it easy to see at first glance what the patch is
about (kconfig/menuconfig), and what it achieves (use config scripts).

> ---
>  scripts/kconfig/lxdialog/check-lxdialog.sh | 24 ++++++++++++++++--------
>  1 file changed, 16 insertions(+), 8 deletions(-)
> 
> diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh
> index c8e8a71..e429207 100644
> --- a/scripts/kconfig/lxdialog/check-lxdialog.sh
> +++ b/scripts/kconfig/lxdialog/check-lxdialog.sh
> @@ -4,15 +4,23 @@
>  # What library to link
>  ldflags()
>  {
> -	for ext in so a dll.a dylib ; do
> -		for lib in ncursesw ncurses curses ; do
> -			$cc -print-file-name=lib${lib}.${ext} | grep -q /
> -			if [ $? -eq 0 ]; then
> -				echo "-l${lib}"
> -				exit
> -			fi
> +	if ncursesw5-config --libs >/dev/null 2>&1; then
> +		ncursesw5-config --libs
> +		exit
> +	elif ncurses5-config --libs >/dev/null 2>&1; then
> +		ncurses5-config --libs
> +		exit

No need to run ncurses{,w}5-config twice each. Just do:

    ncursesw5-config --libs 2>/dev/null && exit
    ncurses5-config --libs 2>/dev/null && exit
    [old code unchanged]

This avoids an ugly re-indent of otherwise unchanged code.

On a side note: is the old code still useful, now we use the config
scripts? In other words: are there cases where a ncurses install would
not provide those scripts?

If the answer is 'no', then just trash the old code away.

I've just tested Debian Squeeze (stable for now), and Cygwin, and they
both do provide ncurses{,w}5-config.

> +	else
> +		for ext in so a dll.a dylib ; do
> +			for lib in ncursesw ncurses curses ; do
> +				$cc -print-file-name=lib${lib}.${ext} | grep -q /
> +				if [ $? -eq 0 ]; then
> +					echo "-l${lib}"
> +					exit
> +				fi
> +			done
>  		done
> -	done
> +	fi
>  	exit 1
>  }

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] 11+ messages in thread

* Re: [PATCH 2/2] Use config scripts to detect ncurses libs for nconfig
  2013-02-27 18:07 ` [PATCH 2/2] Use config scripts to detect ncurses libs for nconfig jlec
@ 2013-02-27 19:02   ` Yann E. MORIN
  2013-02-28  9:48     ` justin
  0 siblings, 1 reply; 11+ messages in thread
From: Yann E. MORIN @ 2013-02-27 19:02 UTC (permalink / raw)
  To: linux-kbuild; +Cc: jlec, linux-kernel

Justin, All,

On Wednesday 27 February 2013 jlec@gentoo.org wrote:
> 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>

Ditto for the subject, as for your previous patch.

> ---
>  scripts/kconfig/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
> index 3091794..7ddbf98 100644
> --- a/scripts/kconfig/Makefile
> +++ b/scripts/kconfig/Makefile
> @@ -216,7 +216,7 @@ 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 `ncursesw5-config --libs 2>/dev/null || ncurses5-config --libs 2>/dev/null`

Long-line. Also, this expands the `...` in the shell, not in the Makefile.
I'd rather have the expansion be done by the Makefile:

HOSTLOADLIBES_nconf	= -lmenu -lpanel
HOSTLOADLIBES_nconf	+= $(shell    ncursesw5-config --libs 2>/dev/null \
				   || ncurses5-config --libs 2>/dev/null  )

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] 11+ messages in thread

* Re: [PATCH 1/2] Use config scripts to detect ncurses libs for menuconfig
  2013-02-27 18:37 ` [PATCH 1/2] Use config scripts to detect ncurses libs for menuconfig Yann E. MORIN
@ 2013-02-28  9:35   ` justin
  2013-02-28 18:08     ` Yann E. MORIN
  0 siblings, 1 reply; 11+ messages in thread
From: justin @ 2013-02-28  9:35 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: linux-kbuild, linux-kernel

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

Hello,

> On a side note: is the old code still useful, now we use the config
> scripts? In other words: are there cases where a ncurses install would
> not provide those scripts?
> 
> If the answer is 'no', then just trash the old code away.
> 
> I've just tested Debian Squeeze (stable for now), and Cygwin, and they
> both do provide ncurses{,w}5-config.
> 

I looked into the ncurses releases back to 5.0. The first release
containing is version 5.6 released in 2006. So I would guess we can
assume that every system will have it.


justin


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

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

* Re: [PATCH 2/2] Use config scripts to detect ncurses libs for nconfig
  2013-02-27 19:02   ` Yann E. MORIN
@ 2013-02-28  9:48     ` justin
  2013-02-28 17:58       ` Yann E. MORIN
  0 siblings, 1 reply; 11+ messages in thread
From: justin @ 2013-02-28  9:48 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: linux-kbuild, linux-kernel

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

Hello,

>
> Long-line. 

What is the rule for Makefiles? It seems that 80 columns doesn't apply here.

Thanks,
Justin


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

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

* Re: [PATCH 2/2] Use config scripts to detect ncurses libs for nconfig
  2013-02-28  9:48     ` justin
@ 2013-02-28 17:58       ` Yann E. MORIN
  0 siblings, 0 replies; 11+ messages in thread
From: Yann E. MORIN @ 2013-02-28 17:58 UTC (permalink / raw)
  To: linux-kbuild; +Cc: justin, linux-kernel

Justin, All,

On Thursday 28 February 2013 justin wrote:
> > Long-line. 
> What is the rule for Makefiles? It seems that 80 columns doesn't apply here.

If possible, I'd like to follow this rule, unless it proves too complex.
In this case, I think it is possible and not too ugly. ;-)

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] 11+ messages in thread

* Re: [PATCH 1/2] Use config scripts to detect ncurses libs for menuconfig
  2013-02-28  9:35   ` justin
@ 2013-02-28 18:08     ` Yann E. MORIN
  2013-02-28 21:31       ` justin
  0 siblings, 1 reply; 11+ messages in thread
From: Yann E. MORIN @ 2013-02-28 18:08 UTC (permalink / raw)
  To: linux-kbuild; +Cc: justin, linux-kernel

Justin, All,

On Thursday 28 February 2013 justin wrote:
> > On a side note: is the old code still useful, now we use the config
> > scripts? In other words: are there cases where a ncurses install would
> > not provide those scripts?
> > 
> > If the answer is 'no', then just trash the old code away.
> > 
> > I've just tested Debian Squeeze (stable for now), and Cygwin, and they
> > both do provide ncurses{,w}5-config.
> > 
> 
> I looked into the ncurses releases back to 5.0. The first release
> containing is version 5.6 released in 2006. So I would guess we can
> assume that every system will have it.

Well, RHEL4 is still widely used, and it was released in 2005, so will
not have ncurses-5.6 (updates may have it, but not everybody installs
updates).

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] 11+ messages in thread

* Re: [PATCH 1/2] Use config scripts to detect ncurses libs for menuconfig
  2013-02-28 18:08     ` Yann E. MORIN
@ 2013-02-28 21:31       ` justin
  2013-02-28 21:35         ` Yann E. MORIN
  0 siblings, 1 reply; 11+ messages in thread
From: justin @ 2013-02-28 21:31 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: linux-kbuild, linux-kernel

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

On 2/28/13 7:08 PM, Yann E. MORIN wrote:
> 
> Well, RHEL4 is still widely used, and it was released in 2005, so will
> not have ncurses-5.6 (updates may have it, but not everybody installs
> updates).
> 

Hi,

question, will such system be updated then to latest kernel sources? And
if so, can't we require that for the ncurses based config menus need
newer ncurses?

Justin


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

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

* Re: [PATCH 1/2] Use config scripts to detect ncurses libs for menuconfig
  2013-02-28 21:31       ` justin
@ 2013-02-28 21:35         ` Yann E. MORIN
  2013-02-28 21:38           ` justin
  0 siblings, 1 reply; 11+ messages in thread
From: Yann E. MORIN @ 2013-02-28 21:35 UTC (permalink / raw)
  To: justin; +Cc: linux-kbuild, linux-kernel

Justin, All,

On Thursday 28 February 2013 justin wrote:
> On 2/28/13 7:08 PM, Yann E. MORIN wrote:
> > Well, RHEL4 is still widely used, and it was released in 2005, so will
> > not have ncurses-5.6 (updates may have it, but not everybody installs
> > updates).
> 
> question, will such system be updated then to latest kernel sources? And
> if so, can't we require that for the ncurses based config menus need
> newer ncurses?

It's not that those systems will be updated to run the latest kernel, but
rather that those systems can be used to build a newer kernel for another
system (think eg. cross-compilation and embedded).

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] 11+ messages in thread

* Re: [PATCH 1/2] Use config scripts to detect ncurses libs for menuconfig
  2013-02-28 21:35         ` Yann E. MORIN
@ 2013-02-28 21:38           ` justin
  0 siblings, 0 replies; 11+ messages in thread
From: justin @ 2013-02-28 21:38 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: linux-kbuild, linux-kernel

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

On 2/28/13 10:35 PM, Yann E. MORIN wrote:
> It's not that those systems will be updated to run the latest kernel, but
> rather that those systems can be used to build a newer kernel for another
> system (think eg. cross-compilation and embedded).
> 

That's true, I will split the patches as suggested.

Jusitn



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

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

end of thread, other threads:[~2013-02-28 21:38 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-27 18:07 [PATCH 1/2] Use config scripts to detect ncurses libs for menuconfig jlec
2013-02-27 18:07 ` [PATCH 2/2] Use config scripts to detect ncurses libs for nconfig jlec
2013-02-27 19:02   ` Yann E. MORIN
2013-02-28  9:48     ` justin
2013-02-28 17:58       ` Yann E. MORIN
2013-02-27 18:37 ` [PATCH 1/2] Use config scripts to detect ncurses libs for menuconfig Yann E. MORIN
2013-02-28  9:35   ` justin
2013-02-28 18:08     ` Yann E. MORIN
2013-02-28 21:31       ` justin
2013-02-28 21:35         ` Yann E. MORIN
2013-02-28 21:38           ` justin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.