Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1677448 > unrolled thread
| Started by | Fathi Boudra <fathi.boudra@linaro.org> |
|---|---|
| First post | 2017-06-29 09:00 +0200 |
| Last post | 2017-06-30 13:10 +0200 |
| Articles | 8 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH 1/1] selftests: gpio: use pkg-config to determine libmount CFLAGS/LDLIBS Fathi Boudra <fathi.boudra@linaro.org> - 2017-06-29 09:00 +0200
Re: [PATCH 1/1] selftests: gpio: use pkg-config to determine libmount CFLAGS/LDLIBS Michael Ellerman <mpe@ellerman.id.au> - 2017-06-29 11:10 +0200
Re: [PATCH 1/1] selftests: gpio: use pkg-config to determine libmount CFLAGS/LDLIBS Fathi Boudra <fathi.boudra@linaro.org> - 2017-06-29 13:50 +0200
Re: [PATCH 1/1] selftests: gpio: use pkg-config to determine libmount CFLAGS/LDLIBS Bamvor Zhang Jian <bamvor.zhangjian@linaro.org> - 2017-06-30 04:30 +0200
Re: [PATCH 1/1] selftests: gpio: use pkg-config to determine libmount CFLAGS/LDLIBS Fathi Boudra <fathi.boudra@linaro.org> - 2017-06-30 08:00 +0200
Re: [PATCH 1/1] selftests: gpio: use pkg-config to determine libmount CFLAGS/LDLIBS Michael Ellerman <mpe@ellerman.id.au> - 2017-07-01 03:50 +0200
Re: [PATCH 1/1] selftests: gpio: use pkg-config to determine libmount CFLAGS/LDLIBS Fathi Boudra <fathi.boudra@linaro.org> - 2017-07-03 13:30 +0200
Re: [PATCH 1/1] selftests: gpio: use pkg-config to determine libmount CFLAGS/LDLIBS Michael Ellerman <mpe@ellerman.id.au> - 2017-06-30 13:10 +0200
| From | Fathi Boudra <fathi.boudra@linaro.org> |
|---|---|
| Date | 2017-06-29 09:00 +0200 |
| Subject | [PATCH 1/1] selftests: gpio: use pkg-config to determine libmount CFLAGS/LDLIBS |
| Message-ID | <tXBAK-4e8-9@gated-at.bofh.it> |
Fix hardcoded and misplaced libmount headers. Use pkg-config instead to figure out CFLAGS/LDLIBS, fixing also their value for cross-compilation. If pkg-config isn't installed, it gives an error (command not found) and gpio test will fail to build because it won't be able to find the headers or link to libmount library. Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> --- tools/testing/selftests/gpio/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/gpio/Makefile b/tools/testing/selftests/gpio/Makefile index 298929df97e6..11eed0cdec2a 100644 --- a/tools/testing/selftests/gpio/Makefile +++ b/tools/testing/selftests/gpio/Makefile @@ -17,8 +17,8 @@ override define CLEAN $(RM) -r $(EXTRA_DIRS) endef -CFLAGS += -O2 -g -std=gnu99 -Wall -I../../../../usr/include/ -LDLIBS += -lmount -I/usr/include/libmount +CFLAGS += -O2 -g -std=gnu99 -Wall -I../../../../usr/include/ $(shell pkg-config --cflags mount) +LDLIBS += $(shell pkg-config --libs mount) $(BINARIES): ../../../gpio/gpio-utils.o ../../../../usr/include/linux/gpio.h -- 2.13.0
[toc] | [next] | [standalone]
| From | Michael Ellerman <mpe@ellerman.id.au> |
|---|---|
| Date | 2017-06-29 11:10 +0200 |
| Message-ID | <tXDCy-5Ff-19@gated-at.bofh.it> |
| In reply to | #1677448 |
Fathi Boudra <fathi.boudra@linaro.org> 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? cheers
[toc] | [prev] | [next] | [standalone]
| From | Fathi Boudra <fathi.boudra@linaro.org> |
|---|---|
| Date | 2017-06-29 13:50 +0200 |
| Message-ID | <tXG7n-71O-1@gated-at.bofh.it> |
| In reply to | #1677540 |
On 29 June 2017 at 12:01, Michael Ellerman <mpe@ellerman.id.au> wrote: > Fathi Boudra <fathi.boudra@linaro.org> 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 > cheers > -- > To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
[toc] | [prev] | [next] | [standalone]
| From | Bamvor Zhang Jian <bamvor.zhangjian@linaro.org> |
|---|---|
| Date | 2017-06-30 04:30 +0200 |
| Message-ID | <tXTR0-7Ni-21@gated-at.bofh.it> |
| In reply to | #1677637 |
On 29 June 2017 at 19:39, Fathi Boudra <fathi.boudra@linaro.org> wrote: > On 29 June 2017 at 12:01, Michael Ellerman <mpe@ellerman.id.au> wrote: >> Fathi Boudra <fathi.boudra@linaro.org> 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? Regards Bamvor > >> cheers >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html
[toc] | [prev] | [next] | [standalone]
| From | Fathi Boudra <fathi.boudra@linaro.org> |
|---|---|
| Date | 2017-06-30 08:00 +0200 |
| Message-ID | <tXX8f-1pk-15@gated-at.bofh.it> |
| In reply to | #1678408 |
On 30 June 2017 at 05:20, Bamvor Zhang Jian <bamvor.zhangjian@linaro.org> wrote: > On 29 June 2017 at 19:39, Fathi Boudra <fathi.boudra@linaro.org> wrote: >> On 29 June 2017 at 12:01, Michael Ellerman <mpe@ellerman.id.au> wrote: >>> Fathi Boudra <fathi.boudra@linaro.org> 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 > Regards > > Bamvor >> >>> cheers >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in >>> the body of a message to majordomo@vger.kernel.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html
[toc] | [prev] | [next] | [standalone]
| From | Michael Ellerman <mpe@ellerman.id.au> |
|---|---|
| Date | 2017-07-01 03:50 +0200 |
| Message-ID | <tYfHP-4FB-1@gated-at.bofh.it> |
| In reply to | #1678500 |
Fathi Boudra <fathi.boudra@linaro.org> writes: > On 30 June 2017 at 05:20, Bamvor Zhang Jian <bamvor.zhangjian@linaro.org> wrote: >> On 29 June 2017 at 19:39, Fathi Boudra <fathi.boudra@linaro.org> wrote: >>> On 29 June 2017 at 12:01, Michael Ellerman <mpe@ellerman.id.au> wrote: >>>> Fathi Boudra <fathi.boudra@linaro.org> 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
[toc] | [prev] | [next] | [standalone]
| From | Fathi Boudra <fathi.boudra@linaro.org> |
|---|---|
| Date | 2017-07-03 13:30 +0200 |
| Message-ID | <tZ7Id-Fp-5@gated-at.bofh.it> |
| In reply to | #1679231 |
On 1 July 2017 at 04:48, Michael Ellerman <mpe@ellerman.id.au> wrote: > Fathi Boudra <fathi.boudra@linaro.org> writes: > >> On 30 June 2017 at 05:20, Bamvor Zhang Jian <bamvor.zhangjian@linaro.org> wrote: >>> On 29 June 2017 at 19:39, Fathi Boudra <fathi.boudra@linaro.org> wrote: >>>> On 29 June 2017 at 12:01, Michael Ellerman <mpe@ellerman.id.au> wrote: >>>>> Fathi Boudra <fathi.boudra@linaro.org> 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. As you said, most of selftests build. There's a precedent. memfd test is also using pkg-config. That's why I followed similar approach. > cheers > -- > To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
[toc] | [prev] | [next] | [standalone]
| From | Michael Ellerman <mpe@ellerman.id.au> |
|---|---|
| Date | 2017-06-30 13:10 +0200 |
| Message-ID | <tY1Yd-4JJ-7@gated-at.bofh.it> |
| In reply to | #1677637 |
Fathi Boudra <fathi.boudra@linaro.org> writes: > On 29 June 2017 at 12:01, Michael Ellerman <mpe@ellerman.id.au> wrote: >> Fathi Boudra <fathi.boudra@linaro.org> 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 Right, presumably because OE is setting PKG_CONFIG_SYSROOT_DIR etc. So for folks doing it by hand it doesn't really help with cross compiling, but I guess it doesn't hurt either. cheers
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web