Re: [PATCH 1/1] selftests: gpio: use pkg-config to determine libmount CFLAGS/LDLIBS

From: Michael Ellerman
Date: Fri Jun 30 2017 - 21:49:29 EST


Fathi Boudra <fathi.boudra@xxxxxxxxxx> writes:

> On 30 June 2017 at 05:20, Bamvor Zhang Jian <bamvor.zhangjian@xxxxxxxxxx> wrote:
>> On 29 June 2017 at 19:39, Fathi Boudra <fathi.boudra@xxxxxxxxxx> wrote:
>>> On 29 June 2017 at 12:01, Michael Ellerman <mpe@xxxxxxxxxxxxxx> wrote:
>>>> Fathi Boudra <fathi.boudra@xxxxxxxxxx> writes:
>>>>
>>>>> Fix hardcoded and misplaced libmount headers. Use pkg-config instead to
>>>>> figure out CFLAGS/LDLIBS, fixing also their value for cross-compilation.
>>>>
>>>> Can you explain how it fixes the values for cross-compilation?
>>>
>>> When pkg-config is invoked in a cross-build environment, it will
>>> return your sysroot headers path instead of the hardcoded
>>> -I/usr/include/libmount
>>>
>>> For example in my oe environment, when I invoke "pkg-config --cflags
>>> mount", it returns:
>>> -I/build/tmp-rpb-glibc/sysroots/hikey/usr/include/libmount
>> I suppose we could also pass the extra CFLAGS and LDFLAGS directly to
>> make it work. correct?
>
> or use the appropriate tool for getting CFLAGS/LDFLAGS instead of:
> 1. hardcoding it and potentially get them wrong
> 2. expecting the user will have to take extra steps, while he can just run make

Sure. But by using the "appropriate tool" you create a new dependency on
that tool.

For folks building natively it's probably not a big deal, they probably
already have pkg-config installed, but for cross building it's another
thing to get working.

Currently most of the selftests build, and cross-build, with nothing but
a C compiler and libc, and we should try to maintain that as much as
possible.

cheers