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

From: Jiri Olsa
Date: Mon Dec 07 2015 - 03:46:56 EST


On Sun, Dec 06, 2015 at 02:02:42PM -0600, Josh Poimboeuf wrote:
> 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.

FYI I switched back to Arnaldo's perf/core and did 'make clean && make'
which passed, then switched back to your change and build failed again

jirka
--
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/