On Mon, Feb 06, 2017 at 10:38:59AM -0300, Arnaldo Carvalho de Melo wrote:
> Em Wed, Feb 01, 2017 at 10:38:03PM -0800, David Carrillo-Cisneros escreveu:
> > Feature detection redefines CC, CCX and PKG_CONFIG, making the
> > output of feature detection inconsistent with the actual features
> > available during compilation when the above variables are used.
> > 
> > Fix it by using conditional assignment.
> 
> This one is tricky, the real meaning of that line got lost somewhere,
> its original intent, in commit 8b6eb56a9570 ("tools/perf/build: Add
> 'autodep' functionality, generate feature test dependencies
> automatically") was to just add that "-MD" to whatever definition CC
> had, be it the default one or a value set by the user in the make
> command line.
> 
> At some point someone added that CROSS_COMPILE there, which it should
> have gotten from the default CC definition
> 
> It was here: a8a5cd8b472c ("perf: tools: Fix cross building")
> 
>     perf: tools: Fix cross building
>     
>     Currently the feature-checks Makefile does not inherit $(CC), and calls
>     cc rather than $(CROSS_COMPILE)gcc. Thus the feature checks invoke the
>     native toolchain rather than the cross toolchain, and can identify
>     features as available when they are not. This can break the build
> 
> ----------------------------------
> 
> Mark, do you recall why can't we make tools/perf/Makefile.perf pass the
> definitions of CC, AR and PKG_CONFIG to tools/perf/config/Makefile (now
> tools/build/feature/Makefile) so that the original intent (adding -MD to
> whatever was in CC) can be kept?
> 
> Jiri?

I guess we could remove -MD from the gcc like and add it to the CFLAGS
if we want to keep the CC/CXX lines alone..

jirka

Reply via email to