Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751994AbdGABsz (ORCPT ); Fri, 30 Jun 2017 21:48:55 -0400 Received: from ozlabs.org ([103.22.144.67]:53279 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751370AbdGABsy (ORCPT ); Fri, 30 Jun 2017 21:48:54 -0400 From: Michael Ellerman To: Fathi Boudra , Bamvor Zhang Jian Cc: linux-kselftest@vger.kernel.org, Shuah Khan , "linux-kernel\@vger.kernel.org" Subject: Re: [PATCH 1/1] selftests: gpio: use pkg-config to determine libmount CFLAGS/LDLIBS In-Reply-To: References: <20170629065802.24062-1-fathi.boudra@linaro.org> <87shij9nhl.fsf@concordia.ellerman.id.au> User-Agent: Notmuch/0.21 (https://notmuchmail.org) Date: Sat, 01 Jul 2017 11:48:50 +1000 Message-ID: <87injdvse5.fsf@concordia.ellerman.id.au> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1609 Lines: 38 Fathi Boudra writes: > On 30 June 2017 at 05:20, Bamvor Zhang Jian wrote: >> On 29 June 2017 at 19:39, Fathi Boudra wrote: >>> On 29 June 2017 at 12:01, Michael Ellerman wrote: >>>> Fathi Boudra 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