Re: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools

From: Josh Poimboeuf
Date: Sun Dec 06 2015 - 15:03:30 EST


On Sun, Dec 06, 2015 at 04:50:06PM +0100, Jiri Olsa wrote:
> On Sun, Dec 06, 2015 at 10:37:52AM +0100, Ingo Molnar wrote:
> >
> > * Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
> >
> > > Ingo suggested that I factor out the perf subcommand functionality
> > > (originally copied from git) into tools/lib so that it can be used by
> > > stacktool[*] and possibly others.
> > >
> > > All the subcommand option handling files have been moved into libapi,
> > > including parse-options.c, run-command.c, exec_cmd.c, help.c, usage.c,
> > > and their dependencies. Since several of the dependencies are more
> > > general-purpose "utilities" which aren't directly related to
> > > subcommands, I put everything in 'tools/lib/api/util'. They're linked
> > > into perf as part of the libapi.a library.
> > >
> > > Patches 1-10 do some cleanups and splitting up of the code in
> > > preparation for the move.
> > >
> > > Patch 11 does the actual moving of the files into tools/lib/api/util.
> > >
> > > [*] https://lkml.kernel.org/r/cover.1445443144.git.jpoimboe@xxxxxxxxxx
> > >
> > > Josh Poimboeuf (13):
> > > perf: Use -iquote for local include paths
> > > perf: Split up util.h
> > > perf: Move term functions out of util.c
> > > perf: Remove unused pager_use_color variable
> > > perf: Split up cache.h
> > > perf: Remove cache.h
> > > perf: Save cmdline arguments earlier
> > > perf: Remove check for unused PERF_PAGER_IN_USE
> > > perf: Move cmd_version() to builtin-version.c
> > > perf: Move help_unknown_cmd() to its own file
> > > perf tools: Move strlcpy() to tools/lib/string.c
> > > perf tools: Move perf subcommand framework into a library
> > > perf tools: Move subcommand framework and related utils to libapi
> >
> > > 133 files changed, 852 insertions(+), 761 deletions(-)
> >
> > So this split-out looks great to me!
> >
> > A bit of a background: this series is a necessary precondition of me being able to
> > merge 'stacktool' and the frame pointer handling enhancements Josh is working on -
> > but it would be nice if this could all be done via Arnaldo's perf tree to minimize
> > any impact on pending perf work.
> >
> > I've Cc:-ed Namhyung and Jiri as well, who've done a lot of work in perf/util/.
> >
>
> heya,
> got compilation error over this patchset:
>
> [jolsa@krava perf]$ make clean && make JOBS=1
>
> ...
>
> CC tests/llvm-src-base.o
> tests/llvm-src-base.c:1:24: fatal error: tests/llvm.h: No such file or directory
> compilation terminated.
> mv: cannot stat âtests/.llvm-src-base.o.tmpâ: No such file or directory
> /home/jolsa/kernel/linux-perf/tools/build/Makefile.build:77: recipe for target 'tests/llvm-src-base.o' failed
> make[3]: *** [tests/llvm-src-base.o] Error 1
> /home/jolsa/kernel/linux-perf/tools/build/Makefile.build:116: recipe for target 'tests' failed
> make[2]: *** [tests] Error 2
> Makefile.perf:313: recipe for target 'perf-in.o' failed
> make[1]: *** [perf-in.o] Error 2
> Makefile:68: recipe for target 'all' failed
> make: *** [all] Error 2

I think the problem is that you have a stale version of the
auto-generated file llvm-src-base.c. Looks like "make clean" doesn't
remove it. I'll add a patch to fix it.

--
Josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/