Re: [PATCH] tools/thermal: tmon: Allow overriding pkg-config

From: Florian Fainelli
Date: Sat Aug 08 2015 - 16:04:41 EST


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@xxxxxxxxx>
>> ---
>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/