public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tools/thermal: tmon: Allow overriding pkg-config
@ 2015-08-07 22:58 Florian Fainelli
  2015-08-07 23:13 ` Brian Norris
  0 siblings, 1 reply; 3+ messages in thread
From: Florian Fainelli @ 2015-08-07 22:58 UTC (permalink / raw)
  To: linux-kernel, rui.zhang, jacob.jun.pan
  Cc: gregory.0xf0, Florian Fainelli, Brian Norris, Anand Moon

Some build systems might not ship with a proper pkg-config
infrastructure, so picking up the host pkg-config might cause us to link
with ncursesw which may not be present in the build environment.

Allow an external build system to override the pkg-config value (e.g:
set it to /bin/false if we do not have anything).

Fixes: 96a0d99c72cc ("tools/thermal: tmon: use pkg-config to determine library dependencies")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 tools/thermal/tmon/Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/thermal/tmon/Makefile b/tools/thermal/tmon/Makefile
index 2e83dd3655a2..3777ab59d08c 100644
--- a/tools/thermal/tmon/Makefile
+++ b/tools/thermal/tmon/Makefile
@@ -11,6 +11,7 @@ TARGET=tmon
 
 INSTALL_PROGRAM=install -m 755 -p
 DEL_FILE=rm -f
+PKG_CONFIG?=pkg-config
 
 # Static builds might require -ltinfo, for instance
 ifneq ($(findstring -static, $(LDFLAGS)),)
@@ -18,8 +19,8 @@ STATIC := --static
 endif
 
 TMON_LIBS=-lm -lpthread
-TMON_LIBS += $(shell pkg-config --libs $(STATIC) panelw ncursesw 2> /dev/null || \
-		     pkg-config --libs $(STATIC) panel ncurses 2> /dev/null || \
+TMON_LIBS += $(shell $(PKG_CONFIG) --libs $(STATIC) panelw ncursesw 2> /dev/null || \
+		     $(PKG_CONFIG) --libs $(STATIC) panel ncurses 2> /dev/null || \
 		     echo -lpanel -lncurses)
 
 OBJS = tmon.o tui.o sysfs.o pid.o
-- 
2.1.0


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

* Re: [PATCH] tools/thermal: tmon: Allow overriding pkg-config
  2015-08-07 22:58 [PATCH] tools/thermal: tmon: Allow overriding pkg-config Florian Fainelli
@ 2015-08-07 23:13 ` Brian Norris
  2015-08-08 20:04   ` Florian Fainelli
  0 siblings, 1 reply; 3+ messages in thread
From: Brian Norris @ 2015-08-07 23:13 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: linux-kernel, rui.zhang, jacob.jun.pan, gregory.0xf0, Anand Moon

On Fri, Aug 07, 2015 at 03:58:02PM -0700, Florian Fainelli wrote:
> Some build systems might not ship with a proper pkg-config
> infrastructure, so picking up the host pkg-config might cause us to link
> with ncursesw which may not be present in the build environment.
> 
> Allow an external build system to override the pkg-config value (e.g:
> set it to /bin/false if we do not have anything).

Is that really the best approach? I see other Makefiles that leave
PKG_CONFIG as a variable (which is fine), but not to allow full
override; they do something like:

PKG_CONFIG := $(CROSS_COMPILE)pkg-config

So, I suppose you could then alias your my-foo-cross-pkg-config to
/bin/false, or something like that.

Another alternative: supply empty $PKG_CONFIG_LIBDIR and
$PKG_CONFIG_PATH variables, so pkg-config finds nothing. (Bonus: no
patch needed here!)

Brian

> Fixes: 96a0d99c72cc ("tools/thermal: tmon: use pkg-config to determine library dependencies")
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
>  tools/thermal/tmon/Makefile | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/thermal/tmon/Makefile b/tools/thermal/tmon/Makefile
> index 2e83dd3655a2..3777ab59d08c 100644
> --- a/tools/thermal/tmon/Makefile
> +++ b/tools/thermal/tmon/Makefile
> @@ -11,6 +11,7 @@ TARGET=tmon
>  
>  INSTALL_PROGRAM=install -m 755 -p
>  DEL_FILE=rm -f
> +PKG_CONFIG?=pkg-config
>  
>  # Static builds might require -ltinfo, for instance
>  ifneq ($(findstring -static, $(LDFLAGS)),)
> @@ -18,8 +19,8 @@ STATIC := --static
>  endif
>  
>  TMON_LIBS=-lm -lpthread
> -TMON_LIBS += $(shell pkg-config --libs $(STATIC) panelw ncursesw 2> /dev/null || \
> -		     pkg-config --libs $(STATIC) panel ncurses 2> /dev/null || \
> +TMON_LIBS += $(shell $(PKG_CONFIG) --libs $(STATIC) panelw ncursesw 2> /dev/null || \
> +		     $(PKG_CONFIG) --libs $(STATIC) panel ncurses 2> /dev/null || \
>  		     echo -lpanel -lncurses)
>  
>  OBJS = tmon.o tui.o sysfs.o pid.o
> -- 
> 2.1.0
> 

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

* Re: [PATCH] tools/thermal: tmon: Allow overriding pkg-config
  2015-08-07 23:13 ` Brian Norris
@ 2015-08-08 20:04   ` Florian Fainelli
  0 siblings, 0 replies; 3+ messages in thread
From: Florian Fainelli @ 2015-08-08 20:04 UTC (permalink / raw)
  To: Brian Norris
  Cc: linux-kernel, rui.zhang, jacob.jun.pan, gregory.0xf0, Anand Moon

Le 08/07/15 16:13, Brian Norris a écrit :
> On Fri, Aug 07, 2015 at 03:58:02PM -0700, Florian Fainelli wrote:
>> Some build systems might not ship with a proper pkg-config
>> infrastructure, so picking up the host pkg-config might cause us to link
>> with ncursesw which may not be present in the build environment.
>>
>> Allow an external build system to override the pkg-config value (e.g:
>> set it to /bin/false if we do not have anything).
> 
> Is that really the best approach? I see other Makefiles that leave
> PKG_CONFIG as a variable (which is fine), but not to allow full
> override; they do something like:

For one, OpenWrt does provide a host pkg-config which is built as part
of the build process (does not rely on the existing host pkg-config),
setting CROSS_COMPILE to e.g: $(STAGING_DIR)/host/bin/ would look a
little weird to me.

The other build environment (stblinux) does not have a valid pkg-config
at all and this is what motivated this change in the first place.

> 
> PKG_CONFIG := $(CROSS_COMPILE)pkg-config
> 
> So, I suppose you could then alias your my-foo-cross-pkg-config to
> /bin/false, or something like that.
> 
> Another alternative: supply empty $PKG_CONFIG_LIBDIR and
> $PKG_CONFIG_PATH variables, so pkg-config finds nothing. (Bonus: no
> patch needed here!)

Humm, true that should work as well, I will give this some more testing,
thanks!

> 
> Brian
> 
>> Fixes: 96a0d99c72cc ("tools/thermal: tmon: use pkg-config to determine library dependencies")
>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
>> ---
>>  tools/thermal/tmon/Makefile | 5 +++--
>>  1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/tools/thermal/tmon/Makefile b/tools/thermal/tmon/Makefile
>> index 2e83dd3655a2..3777ab59d08c 100644
>> --- a/tools/thermal/tmon/Makefile
>> +++ b/tools/thermal/tmon/Makefile
>> @@ -11,6 +11,7 @@ TARGET=tmon
>>  
>>  INSTALL_PROGRAM=install -m 755 -p
>>  DEL_FILE=rm -f
>> +PKG_CONFIG?=pkg-config
>>  
>>  # Static builds might require -ltinfo, for instance
>>  ifneq ($(findstring -static, $(LDFLAGS)),)
>> @@ -18,8 +19,8 @@ STATIC := --static
>>  endif
>>  
>>  TMON_LIBS=-lm -lpthread
>> -TMON_LIBS += $(shell pkg-config --libs $(STATIC) panelw ncursesw 2> /dev/null || \
>> -		     pkg-config --libs $(STATIC) panel ncurses 2> /dev/null || \
>> +TMON_LIBS += $(shell $(PKG_CONFIG) --libs $(STATIC) panelw ncursesw 2> /dev/null || \
>> +		     $(PKG_CONFIG) --libs $(STATIC) panel ncurses 2> /dev/null || \
>>  		     echo -lpanel -lncurses)
>>  
>>  OBJS = tmon.o tui.o sysfs.o pid.o
>> -- 
>> 2.1.0
>>


-- 
Florian

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

end of thread, other threads:[~2015-08-08 20:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-07 22:58 [PATCH] tools/thermal: tmon: Allow overriding pkg-config Florian Fainelli
2015-08-07 23:13 ` Brian Norris
2015-08-08 20:04   ` Florian Fainelli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox