Re: [PATCH] perf: Don't hardcode host include path for libslang

From: Arnaldo Carvalho de Melo
Date: Mon Jun 17 2019 - 14:16:24 EST


Em Sun, Jun 16, 2019 at 11:46:05AM +0200, Jiri Olsa escreveu:
> On Fri, Jun 14, 2019 at 11:39:47AM -0700, Florian Fainelli wrote:
> > Hardcoding /usr/include/slang is fundamentally incompatible with cross
> > compilation and will lead to the inability for a cross-compiled
> > environment to properly detect whether slang is available or not.
> >
> > If /usr/include/slang is necessary that is a distribution specific
> > knowledge that could be solved with either a standard pkg-config .pc
> > file (which slang has) or simply overriding CFLAGS accordingly, but the
> > default perf Makefile should be clean of all of that.
>
> fedora 30 is ok with this, I guess acme's distro test will
> tell us about the rest ;-)

Seems to be just needless old cruft:

[perfbuilder@7143ebde35eb /]$ cat /etc/redhat-release
Fedora release 20 (Heisenbug)
[perfbuilder@7143ebde35eb /]$
[perfbuilder@7143ebde35eb /]$ ls -la /usr/include/slang.h
-rw-r--r--. 1 root root 87562 Apr 11 2011 /usr/include/slang.h
[perfbuilder@7143ebde35eb /]$ ls -la /usr/include/slang/slang.h
lrwxrwxrwx. 1 root root 10 Jun 17 16:41 /usr/include/slang/slang.h -> ../slang.h
[perfbuilder@7143ebde35eb /]$

So I'm removing that comment:

> > # Fedora has /usr/include/slang/slang.h, but ubuntu /usr/include/slang.h

And adding a:

Fixes: ef7b93a11904 ("perf report: Librarize the annotation code and use it in the newt browser")

Will do a build with all the containers and check that the output for
all the ones with the slang devel package installed have slang
successfully detected.

Thanks,

- Arnaldo

> jirka
>
> >
> > Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
> > ---
> > tools/build/feature/Makefile | 2 +-
> > tools/perf/Makefile.config | 1 -
2> > 2 files changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
> > index 4b8244ee65ce..f9432d21eff9 100644
> > --- a/tools/build/feature/Makefile
> > +++ b/tools/build/feature/Makefile
> > @@ -181,7 +181,7 @@ $(OUTPUT)test-libaudit.bin:
> > $(BUILD) -laudit
> >
> > $(OUTPUT)test-libslang.bin:
> > - $(BUILD) -I/usr/include/slang -lslang
> > + $(BUILD) -lslang
> >
> > $(OUTPUT)test-libcrypto.bin:
> > $(BUILD) -lcrypto
> > diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
> > index 85fbcd265351..b11134fdf59f 100644
> > --- a/tools/perf/Makefile.config
> > +++ b/tools/perf/Makefile.config
> > @@ -641,7 +641,6 @@ ifndef NO_SLANG
> > NO_SLANG := 1
> > else
> > # Fedora has /usr/include/slang/slang.h, but ubuntu /usr/include/slang.h
> > - CFLAGS += -I/usr/include/slang
> > CFLAGS += -DHAVE_SLANG_SUPPORT
> > EXTLIBS += -lslang
> > $(call detected,CONFIG_SLANG)
> > --
> > 2.17.1
> >

--

- Arnaldo