Re: [PATCH] tools:perf: move tools/perf/util to tools/lib/perf_util
From: Arnaldo Carvalho de Melo
Date: Thu Jun 12 2014 - 08:35:01 EST
Em Thu, Jun 12, 2014 at 10:26:42AM +0200, Jean Pihet escreveu:
> This is a first move of the perf code into a set of libraries, which
> allow the implementation of other external tools.
>
> The first users of the perf libraries would be:
> - perf itself,
> - the RAS daemon.
>
> The commit includes:
> - the move of the code from util to lib/perf_util,
> - creation of Makefile in perf_util,
> - update of Makefile.perf to build a library for perf_util,
> - fix of the include paths, eg. "../perf.h" to <perf.h>, "util/hist.h" to
> <hist.h>
Can't you just go moving what you actually use? Or do you really plan to
use all that?
Otherwise I don't see why you can't just link it directly from
tools/perf/util/, i.e. its just a name.
- Arnaldo
> Signed-off-by: Jean Pihet <jean.pihet@xxxxxxxxxx>
>
> ---
> Tested: basic build and run test of perf on x86.
>
> Not tested yet:
> - dynamic library (.so),
> - all combinations of flags (NO_LIB*),
> - scripting.
> ---
> tools/lib/perf_util/Makefile | 426 +++++++++++++++++++++
> .../{perf/util => lib/perf_util}/PERF-VERSION-GEN | 0
> tools/{perf/util => lib/perf_util}/abspath.c | 0
> tools/{perf/util => lib/perf_util}/alias.c | 0
> tools/{perf/util => lib/perf_util}/annotate.c | 0
> tools/{perf/util => lib/perf_util}/annotate.h | 0
> tools/{perf/util => lib/perf_util}/bitmap.c | 0
> tools/{perf/util => lib/perf_util}/build-id.c | 0
> tools/{perf/util => lib/perf_util}/build-id.h | 0
> tools/{perf/util => lib/perf_util}/cache.h | 4 +-
> tools/{perf/util => lib/perf_util}/callchain.c | 0
> tools/{perf/util => lib/perf_util}/callchain.h | 2 +-
> tools/{perf/util => lib/perf_util}/cgroup.c | 2 +-
> tools/{perf/util => lib/perf_util}/cgroup.h | 0
> tools/{perf/util => lib/perf_util}/color.c | 0
> tools/{perf/util => lib/perf_util}/color.h | 0
> tools/{perf/util => lib/perf_util}/comm.c | 0
> tools/{perf/util => lib/perf_util}/comm.h | 2 +-
> tools/{perf/util => lib/perf_util}/config.c | 2 +-
> tools/{perf/util => lib/perf_util}/cpumap.c | 2 +-
> tools/{perf/util => lib/perf_util}/cpumap.h | 2 +-
> tools/{perf/util => lib/perf_util}/ctype.c | 0
> tools/{perf/util => lib/perf_util}/data.c | 0
> tools/{perf/util => lib/perf_util}/data.h | 0
> tools/{perf/util => lib/perf_util}/debug.c | 2 +-
> tools/{perf/util => lib/perf_util}/debug.h | 6 +-
> tools/{perf/util => lib/perf_util}/dso.c | 0
> tools/{perf/util => lib/perf_util}/dso.h | 0
> tools/{perf/util => lib/perf_util}/dwarf-aux.c | 0
> tools/{perf/util => lib/perf_util}/dwarf-aux.h | 0
> tools/{perf/util => lib/perf_util}/environment.c | 0
> tools/{perf/util => lib/perf_util}/event.c | 0
> tools/{perf/util => lib/perf_util}/event.h | 2 +-
> tools/{perf/util => lib/perf_util}/evlist.c | 0
> tools/{perf/util => lib/perf_util}/evlist.h | 2 +-
> tools/{perf/util => lib/perf_util}/evsel.c | 0
> tools/{perf/util => lib/perf_util}/evsel.h | 0
> tools/{perf/util => lib/perf_util}/exec_cmd.c | 0
> tools/{perf/util => lib/perf_util}/exec_cmd.h | 0
> .../util => lib/perf_util}/generate-cmdlist.sh | 0
> tools/{perf/util => lib/perf_util}/header.c | 2 +-
> tools/{perf/util => lib/perf_util}/header.h | 0
> tools/{perf/util => lib/perf_util}/help.c | 2 +-
> tools/{perf/util => lib/perf_util}/help.h | 0
> tools/{perf/util => lib/perf_util}/hist.c | 0
> tools/{perf/util => lib/perf_util}/hist.h | 2 +-
> tools/{perf/util => lib/perf_util}/hweight.c | 0
> .../perf_util}/include/asm/alternative-asm.h | 0
> .../perf_util}/include/asm/asm-offsets.h | 0
> .../util => lib/perf_util}/include/asm/byteorder.h | 0
> .../perf_util}/include/asm/cpufeature.h | 0
> .../util => lib/perf_util}/include/asm/dwarf2.h | 0
> .../util => lib/perf_util}/include/asm/hash.h | 0
> .../util => lib/perf_util}/include/asm/hweight.h | 0
> .../util => lib/perf_util}/include/asm/swab.h | 0
> .../util => lib/perf_util}/include/asm/system.h | 0
> .../util => lib/perf_util}/include/asm/uaccess.h | 0
> .../util => lib/perf_util}/include/asm/unistd_32.h | 0
> .../util => lib/perf_util}/include/asm/unistd_64.h | 0
> .../util => lib/perf_util}/include/dwarf-regs.h | 0
> .../util => lib/perf_util}/include/linux/bitmap.h | 0
> .../util => lib/perf_util}/include/linux/bitops.h | 0
> .../util => lib/perf_util}/include/linux/const.h | 0
> .../util => lib/perf_util}/include/linux/ctype.h | 0
> .../util => lib/perf_util}/include/linux/kernel.h | 0
> .../util => lib/perf_util}/include/linux/linkage.h | 0
> .../util => lib/perf_util}/include/linux/list.h | 0
> .../util => lib/perf_util}/include/linux/poison.h | 0
> .../util => lib/perf_util}/include/linux/rbtree.h | 0
> .../perf_util}/include/linux/rbtree_augmented.h | 0
> .../util => lib/perf_util}/include/linux/string.h | 0
> tools/{perf/util => lib/perf_util}/intlist.c | 0
> tools/{perf/util => lib/perf_util}/intlist.h | 0
> tools/{perf/util => lib/perf_util}/levenshtein.c | 0
> tools/{perf/util => lib/perf_util}/levenshtein.h | 0
> tools/{perf/util => lib/perf_util}/machine.c | 0
> tools/{perf/util => lib/perf_util}/machine.h | 0
> tools/{perf/util => lib/perf_util}/map.c | 0
> tools/{perf/util => lib/perf_util}/map.h | 0
> tools/{perf/util => lib/perf_util}/pager.c | 0
> tools/{perf/util => lib/perf_util}/parse-events.c | 2 +-
> tools/{perf/util => lib/perf_util}/parse-events.h | 0
> tools/{perf/util => lib/perf_util}/parse-events.l | 2 +-
> tools/{perf/util => lib/perf_util}/parse-events.y | 0
> tools/{perf/util => lib/perf_util}/parse-options.c | 0
> tools/{perf/util => lib/perf_util}/parse-options.h | 0
> tools/{perf/util => lib/perf_util}/path.c | 0
> tools/{perf/util => lib/perf_util}/perf_regs.c | 0
> tools/{perf/util => lib/perf_util}/perf_regs.h | 0
> tools/{perf/util => lib/perf_util}/pmu.c | 0
> tools/{perf/util => lib/perf_util}/pmu.h | 0
> tools/{perf/util => lib/perf_util}/pmu.l | 0
> tools/{perf/util => lib/perf_util}/pmu.y | 0
> tools/{perf/util => lib/perf_util}/probe-event.c | 0
> tools/{perf/util => lib/perf_util}/probe-event.h | 0
> tools/{perf/util => lib/perf_util}/probe-finder.c | 0
> tools/{perf/util => lib/perf_util}/probe-finder.h | 0
> tools/{perf/util => lib/perf_util}/pstack.c | 0
> tools/{perf/util => lib/perf_util}/pstack.h | 0
> .../util => lib/perf_util}/python-ext-sources | 0
> tools/{perf/util => lib/perf_util}/python.c | 0
> tools/{perf/util => lib/perf_util}/quote.c | 0
> tools/{perf/util => lib/perf_util}/quote.h | 0
> tools/{perf/util => lib/perf_util}/rblist.c | 0
> tools/{perf/util => lib/perf_util}/rblist.h | 0
> tools/{perf/util => lib/perf_util}/record.c | 0
> tools/{perf/util => lib/perf_util}/run-command.c | 0
> tools/{perf/util => lib/perf_util}/run-command.h | 0
> .../scripting-engines/trace-event-perl.c | 2 +-
> .../scripting-engines/trace-event-python.c | 2 +-
> tools/{perf/util => lib/perf_util}/session.c | 0
> tools/{perf/util => lib/perf_util}/session.h | 0
> tools/{perf/util => lib/perf_util}/setup.py | 0
> tools/{perf/util => lib/perf_util}/sigchain.c | 0
> tools/{perf/util => lib/perf_util}/sigchain.h | 0
> tools/{perf/util => lib/perf_util}/sort.c | 0
> tools/{perf/util => lib/perf_util}/sort.h | 4 +-
> tools/{perf/util => lib/perf_util}/srcline.c | 6 +-
> tools/{perf/util => lib/perf_util}/stat.c | 0
> tools/{perf/util => lib/perf_util}/stat.h | 0
> tools/{perf/util => lib/perf_util}/strbuf.c | 0
> tools/{perf/util => lib/perf_util}/strbuf.h | 0
> tools/{perf/util => lib/perf_util}/strfilter.c | 0
> tools/{perf/util => lib/perf_util}/strfilter.h | 0
> tools/{perf/util => lib/perf_util}/string.c | 0
> tools/{perf/util => lib/perf_util}/strlist.c | 0
> tools/{perf/util => lib/perf_util}/strlist.h | 0
> tools/{perf/util => lib/perf_util}/svghelper.c | 0
> tools/{perf/util => lib/perf_util}/svghelper.h | 0
> tools/{perf/util => lib/perf_util}/symbol-elf.c | 0
> .../{perf/util => lib/perf_util}/symbol-minimal.c | 0
> tools/{perf/util => lib/perf_util}/symbol.c | 0
> tools/{perf/util => lib/perf_util}/symbol.h | 2 +-
> tools/{perf/util => lib/perf_util}/target.c | 0
> tools/{perf/util => lib/perf_util}/target.h | 0
> tools/{perf/util => lib/perf_util}/thread.c | 2 +-
> tools/{perf/util => lib/perf_util}/thread.h | 0
> tools/{perf/util => lib/perf_util}/thread_map.c | 0
> tools/{perf/util => lib/perf_util}/thread_map.h | 0
> tools/{perf/util => lib/perf_util}/tool.h | 0
> tools/{perf/util => lib/perf_util}/top.c | 0
> tools/{perf/util => lib/perf_util}/top.h | 0
> .../util => lib/perf_util}/trace-event-info.c | 2 +-
> .../util => lib/perf_util}/trace-event-parse.c | 2 +-
> .../util => lib/perf_util}/trace-event-read.c | 2 +-
> .../util => lib/perf_util}/trace-event-scripting.c | 2 +-
> tools/{perf/util => lib/perf_util}/trace-event.c | 0
> tools/{perf/util => lib/perf_util}/trace-event.h | 0
> tools/{perf/util => lib/perf_util}/unwind-libdw.c | 0
> tools/{perf/util => lib/perf_util}/unwind-libdw.h | 0
> .../util => lib/perf_util}/unwind-libunwind.c | 0
> tools/{perf/util => lib/perf_util}/unwind.h | 0
> tools/{perf/util => lib/perf_util}/usage.c | 0
> tools/{perf/util => lib/perf_util}/util.c | 2 +-
> tools/{perf/util => lib/perf_util}/util.h | 0
> tools/{perf/util => lib/perf_util}/values.c | 0
> tools/{perf/util => lib/perf_util}/values.h | 0
> tools/{perf/util => lib/perf_util}/vdso.c | 0
> tools/{perf/util => lib/perf_util}/vdso.h | 0
> tools/{perf/util => lib/perf_util}/wrapper.c | 0
> tools/{perf/util => lib/perf_util}/xyarray.c | 0
> tools/{perf/util => lib/perf_util}/xyarray.h | 0
> tools/perf/Makefile.perf | 342 ++++++-----------
> tools/perf/arch/arm/util/unwind-libdw.c | 4 +-
> tools/perf/arch/arm/util/unwind-libunwind.c | 2 +-
> tools/perf/arch/arm64/util/unwind-libunwind.c | 2 +-
> tools/perf/arch/common.c | 2 +-
> tools/perf/arch/common.h | 2 +-
> tools/perf/arch/powerpc/util/header.c | 2 +-
> tools/perf/arch/x86/util/header.c | 2 +-
> tools/perf/arch/x86/util/tsc.c | 4 +-
> tools/perf/arch/x86/util/unwind-libdw.c | 4 +-
> tools/perf/arch/x86/util/unwind-libunwind.c | 2 +-
> tools/perf/bench/futex-hash.c | 8 +-
> tools/perf/bench/futex-requeue.c | 8 +-
> tools/perf/bench/futex-wake.c | 8 +-
> tools/perf/bench/mem-memcpy.c | 6 +-
> tools/perf/bench/mem-memset.c | 6 +-
> tools/perf/bench/numa.c | 4 +-
> tools/perf/bench/sched-messaging.c | 4 +-
> tools/perf/bench/sched-pipe.c | 4 +-
> tools/perf/builtin-annotate.c | 36 +-
> tools/perf/builtin-bench.c | 4 +-
> tools/perf/builtin-buildid-cache.c | 16 +-
> tools/perf/builtin-buildid-list.c | 14 +-
> tools/perf/builtin-diff.c | 22 +-
> tools/perf/builtin-evlist.c | 14 +-
> tools/perf/builtin-help.c | 10 +-
> tools/perf/builtin-inject.c | 20 +-
> tools/perf/builtin-kmem.c | 32 +-
> tools/perf/builtin-kvm.c | 32 +-
> tools/perf/builtin-list.c | 8 +-
> tools/perf/builtin-lock.c | 30 +-
> tools/perf/builtin-mem.c | 10 +-
> tools/perf/builtin-probe.c | 16 +-
> tools/perf/builtin-record.c | 32 +-
> tools/perf/builtin-report.c | 44 +--
> tools/perf/builtin-sched.c | 28 +-
> tools/perf/builtin-script.c | 30 +-
> tools/perf/builtin-stat.c | 28 +-
> tools/perf/builtin-timechart.c | 32 +-
> tools/perf/builtin-top.c | 38 +-
> tools/perf/builtin-trace.c | 24 +-
> tools/perf/builtin.h | 4 +-
> tools/perf/config/Makefile | 10 +-
> tools/perf/perf.c | 10 +-
> tools/perf/perf.h | 2 +-
> tools/perf/scripts/perl/Perf-Trace-Util/Context.xs | 4 +-
> .../perf/scripts/python/Perf-Trace-Util/Context.c | 4 +-
> tools/perf/tests/hists_common.c | 14 +-
> tools/perf/tests/hists_cumulate.c | 16 +-
> tools/perf/tests/hists_filter.c | 16 +-
> tools/perf/tests/hists_output.c | 16 +-
> tools/perf/tests/sw-clock.c | 8 +-
> tools/perf/ui/browser.c | 4 +-
> tools/perf/ui/browsers/annotate.c | 12 +-
> tools/perf/ui/browsers/header.c | 8 +-
> tools/perf/ui/browsers/hists.c | 12 +-
> tools/perf/ui/browsers/map.c | 6 +-
> tools/perf/ui/browsers/scripts.c | 10 +-
> tools/perf/ui/gtk/annotate.c | 6 +-
> tools/perf/ui/gtk/helpline.c | 2 +-
> tools/perf/ui/gtk/setup.c | 4 +-
> tools/perf/ui/gtk/util.c | 2 +-
> tools/perf/ui/helpline.h | 2 +-
> tools/perf/ui/hist.c | 8 +-
> tools/perf/ui/setup.c | 6 +-
> tools/perf/ui/stdio/hist.c | 8 +-
> tools/perf/ui/tui/helpline.c | 2 +-
> tools/perf/ui/tui/setup.c | 4 +-
> tools/perf/ui/tui/util.c | 6 +-
> tools/perf/ui/util.c | 2 +-
> 232 files changed, 973 insertions(+), 663 deletions(-)
> create mode 100644 tools/lib/perf_util/Makefile
> rename tools/{perf/util => lib/perf_util}/PERF-VERSION-GEN (100%)
> rename tools/{perf/util => lib/perf_util}/abspath.c (100%)
> rename tools/{perf/util => lib/perf_util}/alias.c (100%)
> rename tools/{perf/util => lib/perf_util}/annotate.c (100%)
> rename tools/{perf/util => lib/perf_util}/annotate.h (100%)
> rename tools/{perf/util => lib/perf_util}/bitmap.c (100%)
> rename tools/{perf/util => lib/perf_util}/build-id.c (100%)
> rename tools/{perf/util => lib/perf_util}/build-id.h (100%)
> rename tools/{perf/util => lib/perf_util}/cache.h (98%)
> rename tools/{perf/util => lib/perf_util}/callchain.c (100%)
> rename tools/{perf/util => lib/perf_util}/callchain.h (99%)
> rename tools/{perf/util => lib/perf_util}/cgroup.c (99%)
> rename tools/{perf/util => lib/perf_util}/cgroup.h (100%)
> rename tools/{perf/util => lib/perf_util}/color.c (100%)
> rename tools/{perf/util => lib/perf_util}/color.h (100%)
> rename tools/{perf/util => lib/perf_util}/comm.c (100%)
> rename tools/{perf/util => lib/perf_util}/comm.h (95%)
> rename tools/{perf/util => lib/perf_util}/config.c (99%)
> rename tools/{perf/util => lib/perf_util}/cpumap.c (99%)
> rename tools/{perf/util => lib/perf_util}/cpumap.h (98%)
> rename tools/{perf/util => lib/perf_util}/ctype.c (100%)
> rename tools/{perf/util => lib/perf_util}/data.c (100%)
> rename tools/{perf/util => lib/perf_util}/data.h (100%)
> rename tools/{perf/util => lib/perf_util}/debug.c (98%)
> rename tools/{perf/util => lib/perf_util}/debug.h (86%)
> rename tools/{perf/util => lib/perf_util}/dso.c (100%)
> rename tools/{perf/util => lib/perf_util}/dso.h (100%)
> rename tools/{perf/util => lib/perf_util}/dwarf-aux.c (100%)
> rename tools/{perf/util => lib/perf_util}/dwarf-aux.h (100%)
> rename tools/{perf/util => lib/perf_util}/environment.c (100%)
> rename tools/{perf/util => lib/perf_util}/event.c (100%)
> rename tools/{perf/util => lib/perf_util}/event.h (99%)
> rename tools/{perf/util => lib/perf_util}/evlist.c (100%)
> rename tools/{perf/util => lib/perf_util}/evlist.h (99%)
> rename tools/{perf/util => lib/perf_util}/evsel.c (100%)
> rename tools/{perf/util => lib/perf_util}/evsel.h (100%)
> rename tools/{perf/util => lib/perf_util}/exec_cmd.c (100%)
> rename tools/{perf/util => lib/perf_util}/exec_cmd.h (100%)
> rename tools/{perf/util => lib/perf_util}/generate-cmdlist.sh (100%)
> rename tools/{perf/util => lib/perf_util}/header.c (99%)
> rename tools/{perf/util => lib/perf_util}/header.h (100%)
> rename tools/{perf/util => lib/perf_util}/help.c (99%)
> rename tools/{perf/util => lib/perf_util}/help.h (100%)
> rename tools/{perf/util => lib/perf_util}/hist.c (100%)
> rename tools/{perf/util => lib/perf_util}/hist.h (99%)
> rename tools/{perf/util => lib/perf_util}/hweight.c (100%)
> rename tools/{perf/util => lib/perf_util}/include/asm/alternative-asm.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/asm/asm-offsets.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/asm/byteorder.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/asm/cpufeature.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/asm/dwarf2.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/asm/hash.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/asm/hweight.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/asm/swab.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/asm/system.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/asm/uaccess.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/asm/unistd_32.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/asm/unistd_64.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/dwarf-regs.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/linux/bitmap.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/linux/bitops.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/linux/const.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/linux/ctype.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/linux/kernel.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/linux/linkage.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/linux/list.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/linux/poison.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/linux/rbtree.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/linux/rbtree_augmented.h (100%)
> rename tools/{perf/util => lib/perf_util}/include/linux/string.h (100%)
> rename tools/{perf/util => lib/perf_util}/intlist.c (100%)
> rename tools/{perf/util => lib/perf_util}/intlist.h (100%)
> rename tools/{perf/util => lib/perf_util}/levenshtein.c (100%)
> rename tools/{perf/util => lib/perf_util}/levenshtein.h (100%)
> rename tools/{perf/util => lib/perf_util}/machine.c (100%)
> rename tools/{perf/util => lib/perf_util}/machine.h (100%)
> rename tools/{perf/util => lib/perf_util}/map.c (100%)
> rename tools/{perf/util => lib/perf_util}/map.h (100%)
> rename tools/{perf/util => lib/perf_util}/pager.c (100%)
> rename tools/{perf/util => lib/perf_util}/parse-events.c (99%)
> rename tools/{perf/util => lib/perf_util}/parse-events.h (100%)
> rename tools/{perf/util => lib/perf_util}/parse-events.l (99%)
> rename tools/{perf/util => lib/perf_util}/parse-events.y (100%)
> rename tools/{perf/util => lib/perf_util}/parse-options.c (100%)
> rename tools/{perf/util => lib/perf_util}/parse-options.h (100%)
> rename tools/{perf/util => lib/perf_util}/path.c (100%)
> rename tools/{perf/util => lib/perf_util}/perf_regs.c (100%)
> rename tools/{perf/util => lib/perf_util}/perf_regs.h (100%)
> rename tools/{perf/util => lib/perf_util}/pmu.c (100%)
> rename tools/{perf/util => lib/perf_util}/pmu.h (100%)
> rename tools/{perf/util => lib/perf_util}/pmu.l (100%)
> rename tools/{perf/util => lib/perf_util}/pmu.y (100%)
> rename tools/{perf/util => lib/perf_util}/probe-event.c (100%)
> rename tools/{perf/util => lib/perf_util}/probe-event.h (100%)
> rename tools/{perf/util => lib/perf_util}/probe-finder.c (100%)
> rename tools/{perf/util => lib/perf_util}/probe-finder.h (100%)
> rename tools/{perf/util => lib/perf_util}/pstack.c (100%)
> rename tools/{perf/util => lib/perf_util}/pstack.h (100%)
> rename tools/{perf/util => lib/perf_util}/python-ext-sources (100%)
> rename tools/{perf/util => lib/perf_util}/python.c (100%)
> rename tools/{perf/util => lib/perf_util}/quote.c (100%)
> rename tools/{perf/util => lib/perf_util}/quote.h (100%)
> rename tools/{perf/util => lib/perf_util}/rblist.c (100%)
> rename tools/{perf/util => lib/perf_util}/rblist.h (100%)
> rename tools/{perf/util => lib/perf_util}/record.c (100%)
> rename tools/{perf/util => lib/perf_util}/run-command.c (100%)
> rename tools/{perf/util => lib/perf_util}/run-command.h (100%)
> rename tools/{perf/util => lib/perf_util}/scripting-engines/trace-event-perl.c (99%)
> rename tools/{perf/util => lib/perf_util}/scripting-engines/trace-event-python.c (99%)
> rename tools/{perf/util => lib/perf_util}/session.c (100%)
> rename tools/{perf/util => lib/perf_util}/session.h (100%)
> rename tools/{perf/util => lib/perf_util}/setup.py (100%)
> rename tools/{perf/util => lib/perf_util}/sigchain.c (100%)
> rename tools/{perf/util => lib/perf_util}/sigchain.h (100%)
> rename tools/{perf/util => lib/perf_util}/sort.c (100%)
> rename tools/{perf/util => lib/perf_util}/sort.h (99%)
> rename tools/{perf/util => lib/perf_util}/srcline.c (98%)
> rename tools/{perf/util => lib/perf_util}/stat.c (100%)
> rename tools/{perf/util => lib/perf_util}/stat.h (100%)
> rename tools/{perf/util => lib/perf_util}/strbuf.c (100%)
> rename tools/{perf/util => lib/perf_util}/strbuf.h (100%)
> rename tools/{perf/util => lib/perf_util}/strfilter.c (100%)
> rename tools/{perf/util => lib/perf_util}/strfilter.h (100%)
> rename tools/{perf/util => lib/perf_util}/string.c (100%)
> rename tools/{perf/util => lib/perf_util}/strlist.c (100%)
> rename tools/{perf/util => lib/perf_util}/strlist.h (100%)
> rename tools/{perf/util => lib/perf_util}/svghelper.c (100%)
> rename tools/{perf/util => lib/perf_util}/svghelper.h (100%)
> rename tools/{perf/util => lib/perf_util}/symbol-elf.c (100%)
> rename tools/{perf/util => lib/perf_util}/symbol-minimal.c (100%)
> rename tools/{perf/util => lib/perf_util}/symbol.c (100%)
> rename tools/{perf/util => lib/perf_util}/symbol.h (99%)
> rename tools/{perf/util => lib/perf_util}/target.c (100%)
> rename tools/{perf/util => lib/perf_util}/target.h (100%)
> rename tools/{perf/util => lib/perf_util}/thread.c (99%)
> rename tools/{perf/util => lib/perf_util}/thread.h (100%)
> rename tools/{perf/util => lib/perf_util}/thread_map.c (100%)
> rename tools/{perf/util => lib/perf_util}/thread_map.h (100%)
> rename tools/{perf/util => lib/perf_util}/tool.h (100%)
> rename tools/{perf/util => lib/perf_util}/top.c (100%)
> rename tools/{perf/util => lib/perf_util}/top.h (100%)
> rename tools/{perf/util => lib/perf_util}/trace-event-info.c (99%)
> rename tools/{perf/util => lib/perf_util}/trace-event-parse.c (99%)
> rename tools/{perf/util => lib/perf_util}/trace-event-read.c (99%)
> rename tools/{perf/util => lib/perf_util}/trace-event-scripting.c (99%)
> rename tools/{perf/util => lib/perf_util}/trace-event.c (100%)
> rename tools/{perf/util => lib/perf_util}/trace-event.h (100%)
> rename tools/{perf/util => lib/perf_util}/unwind-libdw.c (100%)
> rename tools/{perf/util => lib/perf_util}/unwind-libdw.h (100%)
> rename tools/{perf/util => lib/perf_util}/unwind-libunwind.c (100%)
> rename tools/{perf/util => lib/perf_util}/unwind.h (100%)
> rename tools/{perf/util => lib/perf_util}/usage.c (100%)
> rename tools/{perf/util => lib/perf_util}/util.c (99%)
> rename tools/{perf/util => lib/perf_util}/util.h (100%)
> rename tools/{perf/util => lib/perf_util}/values.c (100%)
> rename tools/{perf/util => lib/perf_util}/values.h (100%)
> rename tools/{perf/util => lib/perf_util}/vdso.c (100%)
> rename tools/{perf/util => lib/perf_util}/vdso.h (100%)
> rename tools/{perf/util => lib/perf_util}/wrapper.c (100%)
> rename tools/{perf/util => lib/perf_util}/xyarray.c (100%)
> rename tools/{perf/util => lib/perf_util}/xyarray.h (100%)
>
> diff --git a/tools/lib/perf_util/Makefile b/tools/lib/perf_util/Makefile
> new file mode 100644
> index 0000000..46f3122
> --- /dev/null
> +++ b/tools/lib/perf_util/Makefile
> @@ -0,0 +1,426 @@
> +# trace-cmd version
> +EP_VERSION = 1
> +EP_PATCHLEVEL = 0
> +EP_EXTRAVERSION = 0
> +
> +# file format version
> +FILE_VERSION = 1
> +
> +MAKEFLAGS += --no-print-directory
> +
> +
> +# Makefiles suck: This macro sets a default value of $(2) for the
> +# variable named by $(1), unless the variable has been set by
> +# environment or command line. This is necessary for CC and AR
> +# because make sets default values, so the simpler ?= approach
> +# won't work as expected.
> +define allow-override
> + $(if $(or $(findstring environment,$(origin $(1))),\
> + $(findstring command line,$(origin $(1)))),,\
> + $(eval $(1) = $(2)))
> +endef
> +
> +# Allow setting CC and AR, or setting CROSS_COMPILE as a prefix.
> +$(call allow-override,CC,$(CROSS_COMPILE)gcc)
> +$(call allow-override,AR,$(CROSS_COMPILE)ar)
> +
> +EXT = -std=gnu99
> +INSTALL = install
> +
> +# Use DESTDIR for installing into a different root directory.
> +# This is useful for building a package. The program will be
> +# installed in this directory as if it was the root directory.
> +# Then the build tool can move it later.
> +DESTDIR ?=
> +DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))'
> +
> +prefix ?= /usr/local
> +bindir_relative = bin
> +bindir = $(prefix)/$(bindir_relative)
> +man_dir = $(prefix)/share/man
> +man_dir_SQ = '$(subst ','\'',$(man_dir))'
> +
> +export man_dir man_dir_SQ INSTALL
> +export DESTDIR DESTDIR_SQ
> +
> +include $(if $(BUILD_SRC),$(BUILD_SRC)/)../../scripts/Makefile.include
> +
> +# copy a bit from Linux kbuild
> +
> +ifeq ("$(origin V)", "command line")
> + VERBOSE = $(V)
> +endif
> +ifndef VERBOSE
> + VERBOSE = 0
> +endif
> +
> +ifeq ("$(origin O)", "command line")
> + BUILD_OUTPUT := $(O)
> +endif
> +
> +ifeq ($(BUILD_SRC),)
> +ifneq ($(OUTPUT),)
> +
> +define build_output
> + $(if $(VERBOSE:1=),@)+$(MAKE) -C $(OUTPUT) \
> + BUILD_SRC=$(CURDIR)/ -f $(CURDIR)/Makefile $1
> +endef
> +
> +all: sub-make
> +
> +$(MAKECMDGOALS): sub-make
> +
> +sub-make: force
> + $(call build_output, $(MAKECMDGOALS))
> +
> +
> +# Leave processing to above invocation of make
> +skip-makefile := 1
> +
> +endif # OUTPUT
> +endif # BUILD_SRC
> +
> +# We process the rest of the Makefile if this is the final invocation of make
> +ifeq ($(skip-makefile),)
> +
> +srctree := $(if $(BUILD_SRC),$(BUILD_SRC),$(CURDIR))
> +objtree := $(CURDIR)
> +src := $(srctree)
> +obj := $(objtree)
> +
> +export prefix bindir src obj
> +
> +# Shell quotes
> +bindir_SQ = $(subst ','\'',$(bindir))
> +bindir_relative_SQ = $(subst ','\'',$(bindir_relative))
> +
> +LIB_FILE = libperfutil.a libperfutil.so
> +
> +CONFIG_INCLUDES =
> +CONFIG_LIBS =
> +CONFIG_FLAGS =
> +
> +VERSION = $(EP_VERSION)
> +PATCHLEVEL = $(EP_PATCHLEVEL)
> +EXTRAVERSION = $(EP_EXTRAVERSION)
> +
> +OBJ = $@
> +N =
> +
> +export Q VERBOSE
> +
> +EVENT_PARSE_VERSION = $(EP_VERSION).$(EP_PATCHLEVEL).$(EP_EXTRAVERSION)
> +
> +INCLUDES = -I. -I $(srctree)/.. -I $(srctree)/../../perf -I $(srctree)/../../include $(CONFIG_INCLUDES)
> +
> +# Set compile option CFLAGS if not set elsewhere
> +CFLAGS ?= -g -Wall
> +
> +# Append required CFLAGS
> +override CFLAGS += $(CONFIG_FLAGS) $(INCLUDES)
> +override CFLAGS += $(udis86-flags) -D_GNU_SOURCE
> +
> +ifeq ($(VERBOSE),1)
> + Q = @
> +else
> + Q =
> +endif
> +
> +do_compile_shared_library = \
> + ($(print_shared_lib_compile) \
> + $(CC) --shared $^ -o $@)
> +
> +do_build_static_lib = \
> + ($(print_static_lib_build) \
> + $(RM) $@; $(AR) rcs $@ $^)
> +
> +$(OUTPUT)parse-events-flex.c: $(src)/parse-events.l $(OUTPUT)parse-events-bison.c
> + $(QUIET_FLEX)$(FLEX) -o $@ --header-file=$(OUTPUT)parse-events-flex.h $(PARSER_DEBUG_FLEX) $(src)/parse-events.l
> +
> +$(OUTPUT)parse-events-bison.c: $(src)/parse-events.y
> + $(QUIET_BISON)$(BISON) -v $(src)/parse-events.y -d $(PARSER_DEBUG_BISON) -o $(OUTPUT)parse-events-bison.c -p parse_events_
> +
> +$(OUTPUT)pmu-flex.c: $(src)/pmu.l $(OUTPUT)pmu-bison.c
> + $(QUIET_FLEX)$(FLEX) -o $@ --header-file=$(OUTPUT)pmu-flex.h $(src)/pmu.l
> +
> +$(OUTPUT)pmu-bison.c: $(src)/pmu.y
> + $(QUIET_BISON)$(BISON) -v $(src)/pmu.y -d -o $(OUTPUT)pmu-bison.c -p perf_pmu_
> +
> +$(OUTPUT)pmu.o: $(OUTPUT)pmu-flex.c $(OUTPUT)pmu-bison.c
> +
> +LIB_OBJS += abspath.o
> +LIB_OBJS += alias.o
> +LIB_OBJS += annotate.o
> +LIB_OBJS += build-id.o
> +LIB_OBJS += config.o
> +LIB_OBJS += ctype.o
> +LIB_OBJS += pmu.o
> +LIB_OBJS += environment.o
> +LIB_OBJS += event.o
> +LIB_OBJS += evlist.o
> +LIB_OBJS += evsel.o
> +LIB_OBJS += exec_cmd.o
> +LIB_OBJS += help.o
> +LIB_OBJS += levenshtein.o
> +LIB_OBJS += parse-options.o
> +LIB_OBJS += parse-events.o
> +LIB_OBJS += path.o
> +LIB_OBJS += bitmap.o
> +LIB_OBJS += hweight.o
> +LIB_OBJS += run-command.o
> +LIB_OBJS += quote.o
> +LIB_OBJS += strbuf.o
> +LIB_OBJS += string.o
> +LIB_OBJS += strlist.o
> +LIB_OBJS += strfilter.o
> +LIB_OBJS += top.o
> +LIB_OBJS += usage.o
> +LIB_OBJS += wrapper.o
> +LIB_OBJS += sigchain.o
> +LIB_OBJS += dso.o
> +LIB_OBJS += symbol.o
> +LIB_OBJS += symbol-elf.o
> +LIB_OBJS += color.o
> +LIB_OBJS += pager.o
> +LIB_OBJS += header.o
> +LIB_OBJS += callchain.o
> +LIB_OBJS += values.o
> +LIB_OBJS += debug.o
> +LIB_OBJS += machine.o
> +LIB_OBJS += map.o
> +LIB_OBJS += pstack.o
> +LIB_OBJS += session.o
> +LIB_OBJS += comm.o
> +LIB_OBJS += thread.o
> +LIB_OBJS += thread_map.o
> +LIB_OBJS += trace-event-parse.o
> +LIB_OBJS += parse-events-flex.o
> +LIB_OBJS += parse-events-bison.o
> +LIB_OBJS += pmu-flex.o
> +LIB_OBJS += pmu-bison.o
> +LIB_OBJS += trace-event-read.o
> +LIB_OBJS += trace-event-info.o
> +LIB_OBJS += trace-event-scripting.o
> +LIB_OBJS += trace-event.o
> +LIB_OBJS += svghelper.o
> +LIB_OBJS += sort.o
> +LIB_OBJS += hist.o
> +LIB_OBJS += probe-event.o
> +LIB_OBJS += util.o
> +LIB_OBJS += xyarray.o
> +LIB_OBJS += cpumap.o
> +LIB_OBJS += cgroup.o
> +LIB_OBJS += target.o
> +LIB_OBJS += rblist.o
> +LIB_OBJS += intlist.o
> +LIB_OBJS += vdso.o
> +LIB_OBJS += stat.o
> +LIB_OBJS += record.o
> +LIB_OBJS += srcline.o
> +LIB_OBJS += data.o
> +
> +# Remove ELF/DWARF dependent codes
> +LIB_OBJS := $(filter-out symbol-elf.o,$(LIB_OBJS))
> +LIB_OBJS := $(filter-out dwarf-aux.o,$(LIB_OBJS))
> +LIB_OBJS := $(filter-out probe-event.o,$(LIB_OBJS))
> +LIB_OBJS := $(filter-out probe-finder.o,$(LIB_OBJS))
> +
> +# Use minimal symbol handling
> +LIB_OBJS += symbol-minimal.o
> +
> +ifndef NO_LIBELF
> +ifndef NO_DWARF
> + LIB_OBJS += probe-finder.o
> + LIB_OBJS += dwarf-aux.o
> +endif # NO_DWARF
> +endif # NO_LIBELF
> +
> +ifndef NO_LIBDW_DWARF_UNWIND
> + LIB_OBJS += unwind-libdw.o
> +endif
> +
> +ifndef NO_LIBUNWIND
> + LIB_OBJS += unwind-libunwind.o
> +endif
> +
> +ifndef NO_LIBPERL
> + LIB_OBJS += scripting-engines/trace-event-perl.o
> +endif
> +
> +ifndef NO_LIBPYTHON
> + LIB_OBJS += scripting-engines/trace-event-python.o
> +endif
> +
> +ifeq ($(NO_PERF_REGS),0)
> + LIB_OBJS += perf_regs.o
> +endif
> +
> +# ALL_OBJS is used to build the deps and the .o objects
> +ALL_OBJS = $(LIB_OBJS)
> +# Skip the deps check and do not use the default .c=>.o rule
> +# for custom built targets (flex, bison etc.)
> +ALL_OBJS := $(filter-out parse-events.o,$(ALL_OBJS))
> +ALL_OBJS := $(filter-out parse-events-flex.o,$(ALL_OBJS))
> +ALL_OBJS := $(filter-out pmu-flex.o,$(ALL_OBJS))
> +ALL_OBJS := $(filter-out parse-events-bison.o,$(ALL_OBJS))
> +ALL_OBJS := $(filter-out pmu-bison.o,$(ALL_OBJS))
> +ALL_OBJS := $(filter-out exec_cmd.o,$(ALL_OBJS))
> +ALL_OBJS := $(filter-out config.o,$(ALL_OBJS))
> +
> +CMD_TARGETS = $(LIB_FILE)
> +
> +TARGETS = $(CMD_TARGETS)
> +
> +all: all_cmd
> +
> +all_cmd: $(CMD_TARGETS)
> +
> +liberfutil.so: $(LIB_OBJS)
> + $(QUIET_LINK)$(CC) --shared $^ -o $@
> +
> +libperfutil.a: $(LIB_OBJS)
> + $(QUIET_LINK)$(RM) $@; $(AR) rcs $@ $^
> +
> +#
> +# If a target does not match any of the later rules then prefix it by $(OUTPUT)
> +# This makes targets like 'make O=/tmp/perf perf.o' work in a natural way.
> +#
> +ifneq ($(OUTPUT),)
> +%.o: $(OUTPUT)%.o
> + @echo " # Redirected target $@ => $(OUTPUT)$@"
> +endif
> +
> +# These two need to be here so that when O= is not used they take precedence
> +# over the general rule for .o
> +%-flex.o: $(OUTPUT)%-flex.c $(OUTPUT)LIB_PERFUTIL-CFLAGS
> + $(QUIET_CC)$(CC) -o $@ -c -I$(src)/ $(CFLAGS) -w $<
> +
> +%-bison.o: $(OUTPUT)%-bison.c $(OUTPUT)LIB_PERFUTIL-CFLAGS
> + $(QUIET_CC)$(CC) -o $@ -c -I$(src)/ $(CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -w $<
> +
> +$(ALL_OBJS): %.o: $(src)/%.c $(OUTPUT)LIB_PERFUTIL-CFLAGS
> + $(QUIET_CC_FPIC)$(CC) -c $(CFLAGS) $(EXT) -fPIC $< -o $@
> +
> +exec_cmd.o: $(src)/exec_cmd.c $(OUTPUT)LIB_PERFUTIL-CFLAGS
> + $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) \
> + '-DPERF_EXEC_PATH="$(perfexecdir_SQ)"' \
> + '-DPREFIX="$(prefix_SQ)"' \
> + $<
> +
> +config.o: $(src)/config.c $(OUTPUT)LIB_PERFUTIL-CFLAGS
> + $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $<
> +
> +parse-events.o: $(src)/parse-events.c $(OUTPUT)parse-events-flex.c $(OUTPUT)parse-events-bison.c $(OUTPUT)LIB_PERFUTIL-CFLAGS
> + $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -Wno-error -Wno-redundant-decls -Wno-unused-parameter -Wno-unused -Wno-switch-default $(src)/parse-events.c
> +
> +scripting-engines/trace-event-perl.o: $(src)/scripting-engines/trace-event-perl.c $(OUTPUT)LIB_PERFUTIL-CFLAGS
> + $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-shadow -Wno-undef -Wno-switch-default $<
> +
> +scripting-engines/trace-event-python.o: $(src)/scripting-engines/trace-event-python.c $(OUTPUT)LIB_PERFUTIL-CFLAGS
> + $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) $(PYTHON_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-shadow $<
> +
> +define make_version.h
> + (echo '/* This file is automatically generated. Do not modify. */'; \
> + echo \#define VERSION_CODE $(shell \
> + expr $(VERSION) \* 256 + $(PATCHLEVEL)); \
> + echo '#define EXTRAVERSION ' $(EXTRAVERSION); \
> + echo '#define VERSION_STRING "'$(VERSION).$(PATCHLEVEL).$(EXTRAVERSION)'"'; \
> + echo '#define FILE_VERSION '$(FILE_VERSION); \
> + ) > $1
> +endef
> +
> +define update_version.h
> + ($(call make_version.h, $@.tmp); \
> + if [ -r $@ ] && cmp -s $@ $@.tmp; then \
> + rm -f $@.tmp; \
> + else \
> + echo ' UPDATE $@'; \
> + mv -f $@.tmp $@; \
> + fi);
> +endef
> +
> +ep_version.h: force
> + $(Q)$(N)$(call update_version.h)
> +
> +VERSION_FILES = ep_version.h
> +
> +define update_dir
> + (echo $1 > $@.tmp; \
> + if [ -r $@ ] && cmp -s $@ $@.tmp; then \
> + rm -f $@.tmp; \
> + else \
> + echo ' UPDATE $@'; \
> + mv -f $@.tmp $@; \
> + fi);
> +endef
> +
> +## make deps
> +
> +all_objs := $(sort $(ALL_OBJS))
> +all_deps := $(all_objs:%.o=.%.d)
> +
> +# let .d file also depends on the source and header files
> +define check_deps
> + @set -e; $(RM) $@; \
> + $(CC) -MM $(CFLAGS) $< > $@.$$$$; \
> + sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
> + $(RM) $@.$$$$
> +endef
> +
> +$(all_deps): .%.d: $(src)/%.c
> + $(Q)$(call check_deps)
> +
> +$(all_objs) : %.o : .%.d
> +
> +dep_includes := $(wildcard $(all_deps))
> +
> +ifneq ($(dep_includes),)
> + include $(dep_includes)
> +endif
> +
> +### Detect environment changes
> +TRACK_CFLAGS = $(subst ','\'',$(CFLAGS)):$(ARCH):$(CROSS_COMPILE)
> +
> +$(OUTPUT)LIB_PERFUTIL-CFLAGS: force
> + @FLAGS='$(TRACK_CFLAGS)'; \
> + if test x"$$FLAGS" != x"`cat LIB_PERFUTIL-CFLAGS 2>/dev/null`" ; then \
> + echo 1>&2 " FLAGS: * new build flags or cross compiler"; \
> + echo "$$FLAGS" > $(OUTPUT)LIB_PERFUTIL-CFLAGS; \
> + fi
> +
> +tags: force
> + $(RM) tags
> + find . -name '*.[ch]' | xargs ctags --extra=+f --c-kinds=+px \
> + --regex-c++='/_PE\(([^,)]*).*/PEVENT_ERRNO__\1/'
> +
> +TAGS: force
> + $(RM) TAGS
> + find . -name '*.[ch]' | xargs etags \
> + --regex='/_PE(\([^,)]*\).*/PEVENT_ERRNO__\1/'
> +
> +define do_install
> + if [ ! -d '$(DESTDIR_SQ)$2' ]; then \
> + $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$2'; \
> + fi; \
> + $(INSTALL) $1 '$(DESTDIR_SQ)$2'
> +endef
> +
> +install_lib: all_cmd
> + $(call QUIET_INSTALL, $(LIB_FILE)) \
> + $(call do_install,$(LIB_FILE),$(bindir_SQ))
> +
> +install: install_lib
> +
> +clean:
> + $(call QUIET_CLEAN, libperfutil) \
> + $(RM) *.o *~ $(TARGETS) *.a *.so $(VERSION_FILES) .*.d *-bison* *-flex* \
> + $(RM) LIB_PERFUTIL-CFLAGS tags TAGS
> +
> +endif # skip-makefile
> +
> +PHONY += force
> +force:
> +
> +# Declare the contents of the .PHONY variable as phony. We keep that
> +# information in a variable so we can use it in if_changed and friends.
> +.PHONY: $(PHONY)
> diff --git a/tools/perf/util/PERF-VERSION-GEN b/tools/lib/perf_util/PERF-VERSION-GEN
> similarity index 100%
> rename from tools/perf/util/PERF-VERSION-GEN
> rename to tools/lib/perf_util/PERF-VERSION-GEN
> diff --git a/tools/perf/util/abspath.c b/tools/lib/perf_util/abspath.c
> similarity index 100%
> rename from tools/perf/util/abspath.c
> rename to tools/lib/perf_util/abspath.c
> diff --git a/tools/perf/util/alias.c b/tools/lib/perf_util/alias.c
> similarity index 100%
> rename from tools/perf/util/alias.c
> rename to tools/lib/perf_util/alias.c
> diff --git a/tools/perf/util/annotate.c b/tools/lib/perf_util/annotate.c
> similarity index 100%
> rename from tools/perf/util/annotate.c
> rename to tools/lib/perf_util/annotate.c
> diff --git a/tools/perf/util/annotate.h b/tools/lib/perf_util/annotate.h
> similarity index 100%
> rename from tools/perf/util/annotate.h
> rename to tools/lib/perf_util/annotate.h
> diff --git a/tools/perf/util/bitmap.c b/tools/lib/perf_util/bitmap.c
> similarity index 100%
> rename from tools/perf/util/bitmap.c
> rename to tools/lib/perf_util/bitmap.c
> diff --git a/tools/perf/util/build-id.c b/tools/lib/perf_util/build-id.c
> similarity index 100%
> rename from tools/perf/util/build-id.c
> rename to tools/lib/perf_util/build-id.c
> diff --git a/tools/perf/util/build-id.h b/tools/lib/perf_util/build-id.h
> similarity index 100%
> rename from tools/perf/util/build-id.h
> rename to tools/lib/perf_util/build-id.h
> diff --git a/tools/perf/util/cache.h b/tools/lib/perf_util/cache.h
> similarity index 98%
> rename from tools/perf/util/cache.h
> rename to tools/lib/perf_util/cache.h
> index 7b176dd..2d417b7 100644
> --- a/tools/perf/util/cache.h
> +++ b/tools/lib/perf_util/cache.h
> @@ -4,8 +4,8 @@
> #include <stdbool.h>
> #include "util.h"
> #include "strbuf.h"
> -#include "../perf.h"
> -#include "../ui/ui.h"
> +#include <perf.h>
> +#include <ui/ui.h>
>
> #define CMD_EXEC_PATH "--exec-path"
> #define CMD_PERF_DIR "--perf-dir="
> diff --git a/tools/perf/util/callchain.c b/tools/lib/perf_util/callchain.c
> similarity index 100%
> rename from tools/perf/util/callchain.c
> rename to tools/lib/perf_util/callchain.c
> diff --git a/tools/perf/util/callchain.h b/tools/lib/perf_util/callchain.h
> similarity index 99%
> rename from tools/perf/util/callchain.h
> rename to tools/lib/perf_util/callchain.h
> index 8f84423..52e9615 100644
> --- a/tools/perf/util/callchain.h
> +++ b/tools/lib/perf_util/callchain.h
> @@ -1,7 +1,7 @@
> #ifndef __PERF_CALLCHAIN_H
> #define __PERF_CALLCHAIN_H
>
> -#include "../perf.h"
> +#include <perf.h>
> #include <linux/list.h>
> #include <linux/rbtree.h>
> #include "event.h"
> diff --git a/tools/perf/util/cgroup.c b/tools/lib/perf_util/cgroup.c
> similarity index 99%
> rename from tools/perf/util/cgroup.c
> rename to tools/lib/perf_util/cgroup.c
> index 88f7be3..5f5fceb 100644
> --- a/tools/perf/util/cgroup.c
> +++ b/tools/lib/perf_util/cgroup.c
> @@ -1,5 +1,5 @@
> #include "util.h"
> -#include "../perf.h"
> +#include <perf.h>
> #include "parse-options.h"
> #include "evsel.h"
> #include "cgroup.h"
> diff --git a/tools/perf/util/cgroup.h b/tools/lib/perf_util/cgroup.h
> similarity index 100%
> rename from tools/perf/util/cgroup.h
> rename to tools/lib/perf_util/cgroup.h
> diff --git a/tools/perf/util/color.c b/tools/lib/perf_util/color.c
> similarity index 100%
> rename from tools/perf/util/color.c
> rename to tools/lib/perf_util/color.c
> diff --git a/tools/perf/util/color.h b/tools/lib/perf_util/color.h
> similarity index 100%
> rename from tools/perf/util/color.h
> rename to tools/lib/perf_util/color.h
> diff --git a/tools/perf/util/comm.c b/tools/lib/perf_util/comm.c
> similarity index 100%
> rename from tools/perf/util/comm.c
> rename to tools/lib/perf_util/comm.c
> diff --git a/tools/perf/util/comm.h b/tools/lib/perf_util/comm.h
> similarity index 95%
> rename from tools/perf/util/comm.h
> rename to tools/lib/perf_util/comm.h
> index fac5bd5..b40ddfe 100644
> --- a/tools/perf/util/comm.h
> +++ b/tools/lib/perf_util/comm.h
> @@ -1,7 +1,7 @@
> #ifndef __PERF_COMM_H
> #define __PERF_COMM_H
>
> -#include "../perf.h"
> +#include <perf.h>
> #include <linux/rbtree.h>
> #include <linux/list.h>
>
> diff --git a/tools/perf/util/config.c b/tools/lib/perf_util/config.c
> similarity index 99%
> rename from tools/perf/util/config.c
> rename to tools/lib/perf_util/config.c
> index 24519e1..121bb35 100644
> --- a/tools/perf/util/config.c
> +++ b/tools/lib/perf_util/config.c
> @@ -11,7 +11,7 @@
> #include "util.h"
> #include "cache.h"
> #include "exec_cmd.h"
> -#include "util/hist.h" /* perf_hist_config */
> +#include <hist.h> /* perf_hist_config */
>
> #define MAXNAME (256)
>
> diff --git a/tools/perf/util/cpumap.c b/tools/lib/perf_util/cpumap.c
> similarity index 99%
> rename from tools/perf/util/cpumap.c
> rename to tools/lib/perf_util/cpumap.c
> index c4e55b7..0b29702 100644
> --- a/tools/perf/util/cpumap.c
> +++ b/tools/lib/perf_util/cpumap.c
> @@ -1,6 +1,6 @@
> #include "util.h"
> #include <api/fs/fs.h>
> -#include "../perf.h"
> +#include <perf.h>
> #include "cpumap.h"
> #include <assert.h>
> #include <stdio.h>
> diff --git a/tools/perf/util/cpumap.h b/tools/lib/perf_util/cpumap.h
> similarity index 98%
> rename from tools/perf/util/cpumap.h
> rename to tools/lib/perf_util/cpumap.h
> index 61a6548..a2c268c 100644
> --- a/tools/perf/util/cpumap.h
> +++ b/tools/lib/perf_util/cpumap.h
> @@ -5,7 +5,7 @@
> #include <stdbool.h>
>
> #include "perf.h"
> -#include "util/debug.h"
> +#include <debug.h>
>
> struct cpu_map {
> int nr;
> diff --git a/tools/perf/util/ctype.c b/tools/lib/perf_util/ctype.c
> similarity index 100%
> rename from tools/perf/util/ctype.c
> rename to tools/lib/perf_util/ctype.c
> diff --git a/tools/perf/util/data.c b/tools/lib/perf_util/data.c
> similarity index 100%
> rename from tools/perf/util/data.c
> rename to tools/lib/perf_util/data.c
> diff --git a/tools/perf/util/data.h b/tools/lib/perf_util/data.h
> similarity index 100%
> rename from tools/perf/util/data.h
> rename to tools/lib/perf_util/data.h
> diff --git a/tools/perf/util/debug.c b/tools/lib/perf_util/debug.c
> similarity index 98%
> rename from tools/perf/util/debug.c
> rename to tools/lib/perf_util/debug.c
> index 299b555..75ba4c2 100644
> --- a/tools/perf/util/debug.c
> +++ b/tools/lib/perf_util/debug.c
> @@ -1,6 +1,6 @@
> /* For general debugging purposes */
>
> -#include "../perf.h"
> +#include <perf.h>
>
> #include <string.h>
> #include <stdarg.h>
> diff --git a/tools/perf/util/debug.h b/tools/lib/perf_util/debug.h
> similarity index 86%
> rename from tools/perf/util/debug.h
> rename to tools/lib/perf_util/debug.h
> index 443694c..dad4f53 100644
> --- a/tools/perf/util/debug.h
> +++ b/tools/lib/perf_util/debug.h
> @@ -4,9 +4,9 @@
>
> #include <stdbool.h>
> #include "event.h"
> -#include "../ui/helpline.h"
> -#include "../ui/progress.h"
> -#include "../ui/util.h"
> +#include <ui/helpline.h>
> +#include <ui/progress.h>
> +#include <ui/util.h>
>
> extern int verbose;
> extern bool quiet, dump_trace;
> diff --git a/tools/perf/util/dso.c b/tools/lib/perf_util/dso.c
> similarity index 100%
> rename from tools/perf/util/dso.c
> rename to tools/lib/perf_util/dso.c
> diff --git a/tools/perf/util/dso.h b/tools/lib/perf_util/dso.h
> similarity index 100%
> rename from tools/perf/util/dso.h
> rename to tools/lib/perf_util/dso.h
> diff --git a/tools/perf/util/dwarf-aux.c b/tools/lib/perf_util/dwarf-aux.c
> similarity index 100%
> rename from tools/perf/util/dwarf-aux.c
> rename to tools/lib/perf_util/dwarf-aux.c
> diff --git a/tools/perf/util/dwarf-aux.h b/tools/lib/perf_util/dwarf-aux.h
> similarity index 100%
> rename from tools/perf/util/dwarf-aux.h
> rename to tools/lib/perf_util/dwarf-aux.h
> diff --git a/tools/perf/util/environment.c b/tools/lib/perf_util/environment.c
> similarity index 100%
> rename from tools/perf/util/environment.c
> rename to tools/lib/perf_util/environment.c
> diff --git a/tools/perf/util/event.c b/tools/lib/perf_util/event.c
> similarity index 100%
> rename from tools/perf/util/event.c
> rename to tools/lib/perf_util/event.c
> diff --git a/tools/perf/util/event.h b/tools/lib/perf_util/event.h
> similarity index 99%
> rename from tools/perf/util/event.h
> rename to tools/lib/perf_util/event.h
> index d970232..b8bbd22 100644
> --- a/tools/perf/util/event.h
> +++ b/tools/lib/perf_util/event.h
> @@ -4,7 +4,7 @@
> #include <limits.h>
> #include <stdio.h>
>
> -#include "../perf.h"
> +#include <perf.h>
> #include "map.h"
> #include "build-id.h"
>
> diff --git a/tools/perf/util/evlist.c b/tools/lib/perf_util/evlist.c
> similarity index 100%
> rename from tools/perf/util/evlist.c
> rename to tools/lib/perf_util/evlist.c
> diff --git a/tools/perf/util/evlist.h b/tools/lib/perf_util/evlist.h
> similarity index 99%
> rename from tools/perf/util/evlist.h
> rename to tools/lib/perf_util/evlist.h
> index f5173cd..6f24750 100644
> --- a/tools/perf/util/evlist.h
> +++ b/tools/lib/perf_util/evlist.h
> @@ -3,7 +3,7 @@
>
> #include <linux/list.h>
> #include <stdio.h>
> -#include "../perf.h"
> +#include <perf.h>
> #include "event.h"
> #include "evsel.h"
> #include "util.h"
> diff --git a/tools/perf/util/evsel.c b/tools/lib/perf_util/evsel.c
> similarity index 100%
> rename from tools/perf/util/evsel.c
> rename to tools/lib/perf_util/evsel.c
> diff --git a/tools/perf/util/evsel.h b/tools/lib/perf_util/evsel.h
> similarity index 100%
> rename from tools/perf/util/evsel.h
> rename to tools/lib/perf_util/evsel.h
> diff --git a/tools/perf/util/exec_cmd.c b/tools/lib/perf_util/exec_cmd.c
> similarity index 100%
> rename from tools/perf/util/exec_cmd.c
> rename to tools/lib/perf_util/exec_cmd.c
> diff --git a/tools/perf/util/exec_cmd.h b/tools/lib/perf_util/exec_cmd.h
> similarity index 100%
> rename from tools/perf/util/exec_cmd.h
> rename to tools/lib/perf_util/exec_cmd.h
> diff --git a/tools/perf/util/generate-cmdlist.sh b/tools/lib/perf_util/generate-cmdlist.sh
> similarity index 100%
> rename from tools/perf/util/generate-cmdlist.sh
> rename to tools/lib/perf_util/generate-cmdlist.sh
> diff --git a/tools/perf/util/header.c b/tools/lib/perf_util/header.c
> similarity index 99%
> rename from tools/perf/util/header.c
> rename to tools/lib/perf_util/header.c
> index 893f8e2..fee68cb 100644
> --- a/tools/perf/util/header.c
> +++ b/tools/lib/perf_util/header.c
> @@ -12,7 +12,7 @@
> #include "evlist.h"
> #include "evsel.h"
> #include "header.h"
> -#include "../perf.h"
> +#include <perf.h>
> #include "trace-event.h"
> #include "session.h"
> #include "symbol.h"
> diff --git a/tools/perf/util/header.h b/tools/lib/perf_util/header.h
> similarity index 100%
> rename from tools/perf/util/header.h
> rename to tools/lib/perf_util/header.h
> diff --git a/tools/perf/util/help.c b/tools/lib/perf_util/help.c
> similarity index 99%
> rename from tools/perf/util/help.c
> rename to tools/lib/perf_util/help.c
> index 86c37c4..977d39a 100644
> --- a/tools/perf/util/help.c
> +++ b/tools/lib/perf_util/help.c
> @@ -1,5 +1,5 @@
> #include "cache.h"
> -#include "../builtin.h"
> +#include <builtin.h>
> #include "exec_cmd.h"
> #include "levenshtein.h"
> #include "help.h"
> diff --git a/tools/perf/util/help.h b/tools/lib/perf_util/help.h
> similarity index 100%
> rename from tools/perf/util/help.h
> rename to tools/lib/perf_util/help.h
> diff --git a/tools/perf/util/hist.c b/tools/lib/perf_util/hist.c
> similarity index 100%
> rename from tools/perf/util/hist.c
> rename to tools/lib/perf_util/hist.c
> diff --git a/tools/perf/util/hist.h b/tools/lib/perf_util/hist.h
> similarity index 99%
> rename from tools/perf/util/hist.h
> rename to tools/lib/perf_util/hist.h
> index 82b28ff..f3d0543 100644
> --- a/tools/perf/util/hist.h
> +++ b/tools/lib/perf_util/hist.h
> @@ -293,7 +293,7 @@ struct hist_browser_timer {
> };
>
> #ifdef HAVE_SLANG_SUPPORT
> -#include "../ui/keysyms.h"
> +#include <ui/keysyms.h>
> int hist_entry__tui_annotate(struct hist_entry *he, struct perf_evsel *evsel,
> struct hist_browser_timer *hbt);
>
> diff --git a/tools/perf/util/hweight.c b/tools/lib/perf_util/hweight.c
> similarity index 100%
> rename from tools/perf/util/hweight.c
> rename to tools/lib/perf_util/hweight.c
> diff --git a/tools/perf/util/include/asm/alternative-asm.h b/tools/lib/perf_util/include/asm/alternative-asm.h
> similarity index 100%
> rename from tools/perf/util/include/asm/alternative-asm.h
> rename to tools/lib/perf_util/include/asm/alternative-asm.h
> diff --git a/tools/perf/util/include/asm/asm-offsets.h b/tools/lib/perf_util/include/asm/asm-offsets.h
> similarity index 100%
> rename from tools/perf/util/include/asm/asm-offsets.h
> rename to tools/lib/perf_util/include/asm/asm-offsets.h
> diff --git a/tools/perf/util/include/asm/byteorder.h b/tools/lib/perf_util/include/asm/byteorder.h
> similarity index 100%
> rename from tools/perf/util/include/asm/byteorder.h
> rename to tools/lib/perf_util/include/asm/byteorder.h
> diff --git a/tools/perf/util/include/asm/cpufeature.h b/tools/lib/perf_util/include/asm/cpufeature.h
> similarity index 100%
> rename from tools/perf/util/include/asm/cpufeature.h
> rename to tools/lib/perf_util/include/asm/cpufeature.h
> diff --git a/tools/perf/util/include/asm/dwarf2.h b/tools/lib/perf_util/include/asm/dwarf2.h
> similarity index 100%
> rename from tools/perf/util/include/asm/dwarf2.h
> rename to tools/lib/perf_util/include/asm/dwarf2.h
> diff --git a/tools/perf/util/include/asm/hash.h b/tools/lib/perf_util/include/asm/hash.h
> similarity index 100%
> rename from tools/perf/util/include/asm/hash.h
> rename to tools/lib/perf_util/include/asm/hash.h
> diff --git a/tools/perf/util/include/asm/hweight.h b/tools/lib/perf_util/include/asm/hweight.h
> similarity index 100%
> rename from tools/perf/util/include/asm/hweight.h
> rename to tools/lib/perf_util/include/asm/hweight.h
> diff --git a/tools/perf/util/include/asm/swab.h b/tools/lib/perf_util/include/asm/swab.h
> similarity index 100%
> rename from tools/perf/util/include/asm/swab.h
> rename to tools/lib/perf_util/include/asm/swab.h
> diff --git a/tools/perf/util/include/asm/system.h b/tools/lib/perf_util/include/asm/system.h
> similarity index 100%
> rename from tools/perf/util/include/asm/system.h
> rename to tools/lib/perf_util/include/asm/system.h
> diff --git a/tools/perf/util/include/asm/uaccess.h b/tools/lib/perf_util/include/asm/uaccess.h
> similarity index 100%
> rename from tools/perf/util/include/asm/uaccess.h
> rename to tools/lib/perf_util/include/asm/uaccess.h
> diff --git a/tools/perf/util/include/asm/unistd_32.h b/tools/lib/perf_util/include/asm/unistd_32.h
> similarity index 100%
> rename from tools/perf/util/include/asm/unistd_32.h
> rename to tools/lib/perf_util/include/asm/unistd_32.h
> diff --git a/tools/perf/util/include/asm/unistd_64.h b/tools/lib/perf_util/include/asm/unistd_64.h
> similarity index 100%
> rename from tools/perf/util/include/asm/unistd_64.h
> rename to tools/lib/perf_util/include/asm/unistd_64.h
> diff --git a/tools/perf/util/include/dwarf-regs.h b/tools/lib/perf_util/include/dwarf-regs.h
> similarity index 100%
> rename from tools/perf/util/include/dwarf-regs.h
> rename to tools/lib/perf_util/include/dwarf-regs.h
> diff --git a/tools/perf/util/include/linux/bitmap.h b/tools/lib/perf_util/include/linux/bitmap.h
> similarity index 100%
> rename from tools/perf/util/include/linux/bitmap.h
> rename to tools/lib/perf_util/include/linux/bitmap.h
> diff --git a/tools/perf/util/include/linux/bitops.h b/tools/lib/perf_util/include/linux/bitops.h
> similarity index 100%
> rename from tools/perf/util/include/linux/bitops.h
> rename to tools/lib/perf_util/include/linux/bitops.h
> diff --git a/tools/perf/util/include/linux/const.h b/tools/lib/perf_util/include/linux/const.h
> similarity index 100%
> rename from tools/perf/util/include/linux/const.h
> rename to tools/lib/perf_util/include/linux/const.h
> diff --git a/tools/perf/util/include/linux/ctype.h b/tools/lib/perf_util/include/linux/ctype.h
> similarity index 100%
> rename from tools/perf/util/include/linux/ctype.h
> rename to tools/lib/perf_util/include/linux/ctype.h
> diff --git a/tools/perf/util/include/linux/kernel.h b/tools/lib/perf_util/include/linux/kernel.h
> similarity index 100%
> rename from tools/perf/util/include/linux/kernel.h
> rename to tools/lib/perf_util/include/linux/kernel.h
> diff --git a/tools/perf/util/include/linux/linkage.h b/tools/lib/perf_util/include/linux/linkage.h
> similarity index 100%
> rename from tools/perf/util/include/linux/linkage.h
> rename to tools/lib/perf_util/include/linux/linkage.h
> diff --git a/tools/perf/util/include/linux/list.h b/tools/lib/perf_util/include/linux/list.h
> similarity index 100%
> rename from tools/perf/util/include/linux/list.h
> rename to tools/lib/perf_util/include/linux/list.h
> diff --git a/tools/perf/util/include/linux/poison.h b/tools/lib/perf_util/include/linux/poison.h
> similarity index 100%
> rename from tools/perf/util/include/linux/poison.h
> rename to tools/lib/perf_util/include/linux/poison.h
> diff --git a/tools/perf/util/include/linux/rbtree.h b/tools/lib/perf_util/include/linux/rbtree.h
> similarity index 100%
> rename from tools/perf/util/include/linux/rbtree.h
> rename to tools/lib/perf_util/include/linux/rbtree.h
> diff --git a/tools/perf/util/include/linux/rbtree_augmented.h b/tools/lib/perf_util/include/linux/rbtree_augmented.h
> similarity index 100%
> rename from tools/perf/util/include/linux/rbtree_augmented.h
> rename to tools/lib/perf_util/include/linux/rbtree_augmented.h
> diff --git a/tools/perf/util/include/linux/string.h b/tools/lib/perf_util/include/linux/string.h
> similarity index 100%
> rename from tools/perf/util/include/linux/string.h
> rename to tools/lib/perf_util/include/linux/string.h
> diff --git a/tools/perf/util/intlist.c b/tools/lib/perf_util/intlist.c
> similarity index 100%
> rename from tools/perf/util/intlist.c
> rename to tools/lib/perf_util/intlist.c
> diff --git a/tools/perf/util/intlist.h b/tools/lib/perf_util/intlist.h
> similarity index 100%
> rename from tools/perf/util/intlist.h
> rename to tools/lib/perf_util/intlist.h
> diff --git a/tools/perf/util/levenshtein.c b/tools/lib/perf_util/levenshtein.c
> similarity index 100%
> rename from tools/perf/util/levenshtein.c
> rename to tools/lib/perf_util/levenshtein.c
> diff --git a/tools/perf/util/levenshtein.h b/tools/lib/perf_util/levenshtein.h
> similarity index 100%
> rename from tools/perf/util/levenshtein.h
> rename to tools/lib/perf_util/levenshtein.h
> diff --git a/tools/perf/util/machine.c b/tools/lib/perf_util/machine.c
> similarity index 100%
> rename from tools/perf/util/machine.c
> rename to tools/lib/perf_util/machine.c
> diff --git a/tools/perf/util/machine.h b/tools/lib/perf_util/machine.h
> similarity index 100%
> rename from tools/perf/util/machine.h
> rename to tools/lib/perf_util/machine.h
> diff --git a/tools/perf/util/map.c b/tools/lib/perf_util/map.c
> similarity index 100%
> rename from tools/perf/util/map.c
> rename to tools/lib/perf_util/map.c
> diff --git a/tools/perf/util/map.h b/tools/lib/perf_util/map.h
> similarity index 100%
> rename from tools/perf/util/map.h
> rename to tools/lib/perf_util/map.h
> diff --git a/tools/perf/util/pager.c b/tools/lib/perf_util/pager.c
> similarity index 100%
> rename from tools/perf/util/pager.c
> rename to tools/lib/perf_util/pager.c
> diff --git a/tools/perf/util/parse-events.c b/tools/lib/perf_util/parse-events.c
> similarity index 99%
> rename from tools/perf/util/parse-events.c
> rename to tools/lib/perf_util/parse-events.c
> index 1e15df1..b83237c 100644
> --- a/tools/perf/util/parse-events.c
> +++ b/tools/lib/perf_util/parse-events.c
> @@ -1,6 +1,6 @@
> #include <linux/hw_breakpoint.h>
> #include "util.h"
> -#include "../perf.h"
> +#include <perf.h>
> #include "evlist.h"
> #include "evsel.h"
> #include "parse-options.h"
> diff --git a/tools/perf/util/parse-events.h b/tools/lib/perf_util/parse-events.h
> similarity index 100%
> rename from tools/perf/util/parse-events.h
> rename to tools/lib/perf_util/parse-events.h
> diff --git a/tools/perf/util/parse-events.l b/tools/lib/perf_util/parse-events.l
> similarity index 99%
> rename from tools/perf/util/parse-events.l
> rename to tools/lib/perf_util/parse-events.l
> index 3432995..166712f 100644
> --- a/tools/perf/util/parse-events.l
> +++ b/tools/lib/perf_util/parse-events.l
> @@ -6,7 +6,7 @@
>
> %{
> #include <errno.h>
> -#include "../perf.h"
> +#include <perf.h>
> #include "parse-events-bison.h"
> #include "parse-events.h"
>
> diff --git a/tools/perf/util/parse-events.y b/tools/lib/perf_util/parse-events.y
> similarity index 100%
> rename from tools/perf/util/parse-events.y
> rename to tools/lib/perf_util/parse-events.y
> diff --git a/tools/perf/util/parse-options.c b/tools/lib/perf_util/parse-options.c
> similarity index 100%
> rename from tools/perf/util/parse-options.c
> rename to tools/lib/perf_util/parse-options.c
> diff --git a/tools/perf/util/parse-options.h b/tools/lib/perf_util/parse-options.h
> similarity index 100%
> rename from tools/perf/util/parse-options.h
> rename to tools/lib/perf_util/parse-options.h
> diff --git a/tools/perf/util/path.c b/tools/lib/perf_util/path.c
> similarity index 100%
> rename from tools/perf/util/path.c
> rename to tools/lib/perf_util/path.c
> diff --git a/tools/perf/util/perf_regs.c b/tools/lib/perf_util/perf_regs.c
> similarity index 100%
> rename from tools/perf/util/perf_regs.c
> rename to tools/lib/perf_util/perf_regs.c
> diff --git a/tools/perf/util/perf_regs.h b/tools/lib/perf_util/perf_regs.h
> similarity index 100%
> rename from tools/perf/util/perf_regs.h
> rename to tools/lib/perf_util/perf_regs.h
> diff --git a/tools/perf/util/pmu.c b/tools/lib/perf_util/pmu.c
> similarity index 100%
> rename from tools/perf/util/pmu.c
> rename to tools/lib/perf_util/pmu.c
> diff --git a/tools/perf/util/pmu.h b/tools/lib/perf_util/pmu.h
> similarity index 100%
> rename from tools/perf/util/pmu.h
> rename to tools/lib/perf_util/pmu.h
> diff --git a/tools/perf/util/pmu.l b/tools/lib/perf_util/pmu.l
> similarity index 100%
> rename from tools/perf/util/pmu.l
> rename to tools/lib/perf_util/pmu.l
> diff --git a/tools/perf/util/pmu.y b/tools/lib/perf_util/pmu.y
> similarity index 100%
> rename from tools/perf/util/pmu.y
> rename to tools/lib/perf_util/pmu.y
> diff --git a/tools/perf/util/probe-event.c b/tools/lib/perf_util/probe-event.c
> similarity index 100%
> rename from tools/perf/util/probe-event.c
> rename to tools/lib/perf_util/probe-event.c
> diff --git a/tools/perf/util/probe-event.h b/tools/lib/perf_util/probe-event.h
> similarity index 100%
> rename from tools/perf/util/probe-event.h
> rename to tools/lib/perf_util/probe-event.h
> diff --git a/tools/perf/util/probe-finder.c b/tools/lib/perf_util/probe-finder.c
> similarity index 100%
> rename from tools/perf/util/probe-finder.c
> rename to tools/lib/perf_util/probe-finder.c
> diff --git a/tools/perf/util/probe-finder.h b/tools/lib/perf_util/probe-finder.h
> similarity index 100%
> rename from tools/perf/util/probe-finder.h
> rename to tools/lib/perf_util/probe-finder.h
> diff --git a/tools/perf/util/pstack.c b/tools/lib/perf_util/pstack.c
> similarity index 100%
> rename from tools/perf/util/pstack.c
> rename to tools/lib/perf_util/pstack.c
> diff --git a/tools/perf/util/pstack.h b/tools/lib/perf_util/pstack.h
> similarity index 100%
> rename from tools/perf/util/pstack.h
> rename to tools/lib/perf_util/pstack.h
> diff --git a/tools/perf/util/python-ext-sources b/tools/lib/perf_util/python-ext-sources
> similarity index 100%
> rename from tools/perf/util/python-ext-sources
> rename to tools/lib/perf_util/python-ext-sources
> diff --git a/tools/perf/util/python.c b/tools/lib/perf_util/python.c
> similarity index 100%
> rename from tools/perf/util/python.c
> rename to tools/lib/perf_util/python.c
> diff --git a/tools/perf/util/quote.c b/tools/lib/perf_util/quote.c
> similarity index 100%
> rename from tools/perf/util/quote.c
> rename to tools/lib/perf_util/quote.c
> diff --git a/tools/perf/util/quote.h b/tools/lib/perf_util/quote.h
> similarity index 100%
> rename from tools/perf/util/quote.h
> rename to tools/lib/perf_util/quote.h
> diff --git a/tools/perf/util/rblist.c b/tools/lib/perf_util/rblist.c
> similarity index 100%
> rename from tools/perf/util/rblist.c
> rename to tools/lib/perf_util/rblist.c
> diff --git a/tools/perf/util/rblist.h b/tools/lib/perf_util/rblist.h
> similarity index 100%
> rename from tools/perf/util/rblist.h
> rename to tools/lib/perf_util/rblist.h
> diff --git a/tools/perf/util/record.c b/tools/lib/perf_util/record.c
> similarity index 100%
> rename from tools/perf/util/record.c
> rename to tools/lib/perf_util/record.c
> diff --git a/tools/perf/util/run-command.c b/tools/lib/perf_util/run-command.c
> similarity index 100%
> rename from tools/perf/util/run-command.c
> rename to tools/lib/perf_util/run-command.c
> diff --git a/tools/perf/util/run-command.h b/tools/lib/perf_util/run-command.h
> similarity index 100%
> rename from tools/perf/util/run-command.h
> rename to tools/lib/perf_util/run-command.h
> diff --git a/tools/perf/util/scripting-engines/trace-event-perl.c b/tools/lib/perf_util/scripting-engines/trace-event-perl.c
> similarity index 99%
> rename from tools/perf/util/scripting-engines/trace-event-perl.c
> rename to tools/lib/perf_util/scripting-engines/trace-event-perl.c
> index e108207..27bf505 100644
> --- a/tools/perf/util/scripting-engines/trace-event-perl.c
> +++ b/tools/lib/perf_util/scripting-engines/trace-event-perl.c
> @@ -29,7 +29,7 @@
> #include <EXTERN.h>
> #include <perl.h>
>
> -#include "../../perf.h"
> +#include <perf.h>
> #include "../thread.h"
> #include "../event.h"
> #include "../trace-event.h"
> diff --git a/tools/perf/util/scripting-engines/trace-event-python.c b/tools/lib/perf_util/scripting-engines/trace-event-python.c
> similarity index 99%
> rename from tools/perf/util/scripting-engines/trace-event-python.c
> rename to tools/lib/perf_util/scripting-engines/trace-event-python.c
> index cd9774d..8dcc85f 100644
> --- a/tools/perf/util/scripting-engines/trace-event-python.c
> +++ b/tools/lib/perf_util/scripting-engines/trace-event-python.c
> @@ -26,7 +26,7 @@
> #include <string.h>
> #include <errno.h>
>
> -#include "../../perf.h"
> +#include <perf.h>
> #include "../evsel.h"
> #include "../util.h"
> #include "../event.h"
> diff --git a/tools/perf/util/session.c b/tools/lib/perf_util/session.c
> similarity index 100%
> rename from tools/perf/util/session.c
> rename to tools/lib/perf_util/session.c
> diff --git a/tools/perf/util/session.h b/tools/lib/perf_util/session.h
> similarity index 100%
> rename from tools/perf/util/session.h
> rename to tools/lib/perf_util/session.h
> diff --git a/tools/perf/util/setup.py b/tools/lib/perf_util/setup.py
> similarity index 100%
> rename from tools/perf/util/setup.py
> rename to tools/lib/perf_util/setup.py
> diff --git a/tools/perf/util/sigchain.c b/tools/lib/perf_util/sigchain.c
> similarity index 100%
> rename from tools/perf/util/sigchain.c
> rename to tools/lib/perf_util/sigchain.c
> diff --git a/tools/perf/util/sigchain.h b/tools/lib/perf_util/sigchain.h
> similarity index 100%
> rename from tools/perf/util/sigchain.h
> rename to tools/lib/perf_util/sigchain.h
> diff --git a/tools/perf/util/sort.c b/tools/lib/perf_util/sort.c
> similarity index 100%
> rename from tools/perf/util/sort.c
> rename to tools/lib/perf_util/sort.c
> diff --git a/tools/perf/util/sort.h b/tools/lib/perf_util/sort.h
> similarity index 99%
> rename from tools/perf/util/sort.h
> rename to tools/lib/perf_util/sort.h
> index 426b873..7e32dce 100644
> --- a/tools/perf/util/sort.h
> +++ b/tools/lib/perf_util/sort.h
> @@ -1,6 +1,6 @@
> #ifndef __PERF_SORT_H
> #define __PERF_SORT_H
> -#include "../builtin.h"
> +#include <builtin.h>
>
> #include "util.h"
>
> @@ -14,7 +14,7 @@
> #include "strlist.h"
> #include "values.h"
>
> -#include "../perf.h"
> +#include <perf.h>
> #include "debug.h"
> #include "header.h"
>
> diff --git a/tools/perf/util/srcline.c b/tools/lib/perf_util/srcline.c
> similarity index 98%
> rename from tools/perf/util/srcline.c
> rename to tools/lib/perf_util/srcline.c
> index f3e4bc5..77ef2da 100644
> --- a/tools/perf/util/srcline.c
> +++ b/tools/lib/perf_util/srcline.c
> @@ -4,9 +4,9 @@
>
> #include <linux/kernel.h>
>
> -#include "util/dso.h"
> -#include "util/util.h"
> -#include "util/debug.h"
> +#include <dso.h>
> +#include <util.h>
> +#include <debug.h>
>
> #ifdef HAVE_LIBBFD_SUPPORT
>
> diff --git a/tools/perf/util/stat.c b/tools/lib/perf_util/stat.c
> similarity index 100%
> rename from tools/perf/util/stat.c
> rename to tools/lib/perf_util/stat.c
> diff --git a/tools/perf/util/stat.h b/tools/lib/perf_util/stat.h
> similarity index 100%
> rename from tools/perf/util/stat.h
> rename to tools/lib/perf_util/stat.h
> diff --git a/tools/perf/util/strbuf.c b/tools/lib/perf_util/strbuf.c
> similarity index 100%
> rename from tools/perf/util/strbuf.c
> rename to tools/lib/perf_util/strbuf.c
> diff --git a/tools/perf/util/strbuf.h b/tools/lib/perf_util/strbuf.h
> similarity index 100%
> rename from tools/perf/util/strbuf.h
> rename to tools/lib/perf_util/strbuf.h
> diff --git a/tools/perf/util/strfilter.c b/tools/lib/perf_util/strfilter.c
> similarity index 100%
> rename from tools/perf/util/strfilter.c
> rename to tools/lib/perf_util/strfilter.c
> diff --git a/tools/perf/util/strfilter.h b/tools/lib/perf_util/strfilter.h
> similarity index 100%
> rename from tools/perf/util/strfilter.h
> rename to tools/lib/perf_util/strfilter.h
> diff --git a/tools/perf/util/string.c b/tools/lib/perf_util/string.c
> similarity index 100%
> rename from tools/perf/util/string.c
> rename to tools/lib/perf_util/string.c
> diff --git a/tools/perf/util/strlist.c b/tools/lib/perf_util/strlist.c
> similarity index 100%
> rename from tools/perf/util/strlist.c
> rename to tools/lib/perf_util/strlist.c
> diff --git a/tools/perf/util/strlist.h b/tools/lib/perf_util/strlist.h
> similarity index 100%
> rename from tools/perf/util/strlist.h
> rename to tools/lib/perf_util/strlist.h
> diff --git a/tools/perf/util/svghelper.c b/tools/lib/perf_util/svghelper.c
> similarity index 100%
> rename from tools/perf/util/svghelper.c
> rename to tools/lib/perf_util/svghelper.c
> diff --git a/tools/perf/util/svghelper.h b/tools/lib/perf_util/svghelper.h
> similarity index 100%
> rename from tools/perf/util/svghelper.h
> rename to tools/lib/perf_util/svghelper.h
> diff --git a/tools/perf/util/symbol-elf.c b/tools/lib/perf_util/symbol-elf.c
> similarity index 100%
> rename from tools/perf/util/symbol-elf.c
> rename to tools/lib/perf_util/symbol-elf.c
> diff --git a/tools/perf/util/symbol-minimal.c b/tools/lib/perf_util/symbol-minimal.c
> similarity index 100%
> rename from tools/perf/util/symbol-minimal.c
> rename to tools/lib/perf_util/symbol-minimal.c
> diff --git a/tools/perf/util/symbol.c b/tools/lib/perf_util/symbol.c
> similarity index 100%
> rename from tools/perf/util/symbol.c
> rename to tools/lib/perf_util/symbol.c
> diff --git a/tools/perf/util/symbol.h b/tools/lib/perf_util/symbol.h
> similarity index 99%
> rename from tools/perf/util/symbol.h
> rename to tools/lib/perf_util/symbol.h
> index 615c752..24ecad5 100644
> --- a/tools/perf/util/symbol.h
> +++ b/tools/lib/perf_util/symbol.h
> @@ -5,7 +5,7 @@
> #include <stdbool.h>
> #include <stdint.h>
> #include "map.h"
> -#include "../perf.h"
> +#include <perf.h>
> #include <linux/list.h>
> #include <linux/rbtree.h>
> #include <stdio.h>
> diff --git a/tools/perf/util/target.c b/tools/lib/perf_util/target.c
> similarity index 100%
> rename from tools/perf/util/target.c
> rename to tools/lib/perf_util/target.c
> diff --git a/tools/perf/util/target.h b/tools/lib/perf_util/target.h
> similarity index 100%
> rename from tools/perf/util/target.h
> rename to tools/lib/perf_util/target.h
> diff --git a/tools/perf/util/thread.c b/tools/lib/perf_util/thread.c
> similarity index 99%
> rename from tools/perf/util/thread.c
> rename to tools/lib/perf_util/thread.c
> index 2fde0d5..a3e93d4 100644
> --- a/tools/perf/util/thread.c
> +++ b/tools/lib/perf_util/thread.c
> @@ -1,4 +1,4 @@
> -#include "../perf.h"
> +#include <perf.h>
> #include <stdlib.h>
> #include <stdio.h>
> #include <string.h>
> diff --git a/tools/perf/util/thread.h b/tools/lib/perf_util/thread.h
> similarity index 100%
> rename from tools/perf/util/thread.h
> rename to tools/lib/perf_util/thread.h
> diff --git a/tools/perf/util/thread_map.c b/tools/lib/perf_util/thread_map.c
> similarity index 100%
> rename from tools/perf/util/thread_map.c
> rename to tools/lib/perf_util/thread_map.c
> diff --git a/tools/perf/util/thread_map.h b/tools/lib/perf_util/thread_map.h
> similarity index 100%
> rename from tools/perf/util/thread_map.h
> rename to tools/lib/perf_util/thread_map.h
> diff --git a/tools/perf/util/tool.h b/tools/lib/perf_util/tool.h
> similarity index 100%
> rename from tools/perf/util/tool.h
> rename to tools/lib/perf_util/tool.h
> diff --git a/tools/perf/util/top.c b/tools/lib/perf_util/top.c
> similarity index 100%
> rename from tools/perf/util/top.c
> rename to tools/lib/perf_util/top.c
> diff --git a/tools/perf/util/top.h b/tools/lib/perf_util/top.h
> similarity index 100%
> rename from tools/perf/util/top.h
> rename to tools/lib/perf_util/top.h
> diff --git a/tools/perf/util/trace-event-info.c b/tools/lib/perf_util/trace-event-info.c
> similarity index 99%
> rename from tools/perf/util/trace-event-info.c
> rename to tools/lib/perf_util/trace-event-info.c
> index 7e6fcfe..e32dd6b 100644
> --- a/tools/perf/util/trace-event-info.c
> +++ b/tools/lib/perf_util/trace-event-info.c
> @@ -36,7 +36,7 @@
> #include <linux/list.h>
> #include <linux/kernel.h>
>
> -#include "../perf.h"
> +#include <perf.h>
> #include "trace-event.h"
> #include <api/fs/debugfs.h>
> #include "evsel.h"
> diff --git a/tools/perf/util/trace-event-parse.c b/tools/lib/perf_util/trace-event-parse.c
> similarity index 99%
> rename from tools/perf/util/trace-event-parse.c
> rename to tools/lib/perf_util/trace-event-parse.c
> index c36636f..3b41432 100644
> --- a/tools/perf/util/trace-event-parse.c
> +++ b/tools/lib/perf_util/trace-event-parse.c
> @@ -24,7 +24,7 @@
> #include <ctype.h>
> #include <errno.h>
>
> -#include "../perf.h"
> +#include <perf.h>
> #include "util.h"
> #include "trace-event.h"
>
> diff --git a/tools/perf/util/trace-event-read.c b/tools/lib/perf_util/trace-event-read.c
> similarity index 99%
> rename from tools/perf/util/trace-event-read.c
> rename to tools/lib/perf_util/trace-event-read.c
> index e113e18..a3e1f3a 100644
> --- a/tools/perf/util/trace-event-read.c
> +++ b/tools/lib/perf_util/trace-event-read.c
> @@ -33,7 +33,7 @@
> #include <unistd.h>
> #include <errno.h>
>
> -#include "../perf.h"
> +#include <perf.h>
> #include "util.h"
> #include "trace-event.h"
>
> diff --git a/tools/perf/util/trace-event-scripting.c b/tools/lib/perf_util/trace-event-scripting.c
> similarity index 99%
> rename from tools/perf/util/trace-event-scripting.c
> rename to tools/lib/perf_util/trace-event-scripting.c
> index 57aaccc..3ab8501 100644
> --- a/tools/perf/util/trace-event-scripting.c
> +++ b/tools/lib/perf_util/trace-event-scripting.c
> @@ -24,7 +24,7 @@
> #include <string.h>
> #include <errno.h>
>
> -#include "../perf.h"
> +#include <perf.h>
> #include "util.h"
> #include "trace-event.h"
>
> diff --git a/tools/perf/util/trace-event.c b/tools/lib/perf_util/trace-event.c
> similarity index 100%
> rename from tools/perf/util/trace-event.c
> rename to tools/lib/perf_util/trace-event.c
> diff --git a/tools/perf/util/trace-event.h b/tools/lib/perf_util/trace-event.h
> similarity index 100%
> rename from tools/perf/util/trace-event.h
> rename to tools/lib/perf_util/trace-event.h
> diff --git a/tools/perf/util/unwind-libdw.c b/tools/lib/perf_util/unwind-libdw.c
> similarity index 100%
> rename from tools/perf/util/unwind-libdw.c
> rename to tools/lib/perf_util/unwind-libdw.c
> diff --git a/tools/perf/util/unwind-libdw.h b/tools/lib/perf_util/unwind-libdw.h
> similarity index 100%
> rename from tools/perf/util/unwind-libdw.h
> rename to tools/lib/perf_util/unwind-libdw.h
> diff --git a/tools/perf/util/unwind-libunwind.c b/tools/lib/perf_util/unwind-libunwind.c
> similarity index 100%
> rename from tools/perf/util/unwind-libunwind.c
> rename to tools/lib/perf_util/unwind-libunwind.c
> diff --git a/tools/perf/util/unwind.h b/tools/lib/perf_util/unwind.h
> similarity index 100%
> rename from tools/perf/util/unwind.h
> rename to tools/lib/perf_util/unwind.h
> diff --git a/tools/perf/util/usage.c b/tools/lib/perf_util/usage.c
> similarity index 100%
> rename from tools/perf/util/usage.c
> rename to tools/lib/perf_util/usage.c
> diff --git a/tools/perf/util/util.c b/tools/lib/perf_util/util.c
> similarity index 99%
> rename from tools/perf/util/util.c
> rename to tools/lib/perf_util/util.c
> index 7fff6be..2184fa8 100644
> --- a/tools/perf/util/util.c
> +++ b/tools/lib/perf_util/util.c
> @@ -1,4 +1,4 @@
> -#include "../perf.h"
> +#include <perf.h>
> #include "util.h"
> #include <api/fs/fs.h>
> #include <sys/mman.h>
> diff --git a/tools/perf/util/util.h b/tools/lib/perf_util/util.h
> similarity index 100%
> rename from tools/perf/util/util.h
> rename to tools/lib/perf_util/util.h
> diff --git a/tools/perf/util/values.c b/tools/lib/perf_util/values.c
> similarity index 100%
> rename from tools/perf/util/values.c
> rename to tools/lib/perf_util/values.c
> diff --git a/tools/perf/util/values.h b/tools/lib/perf_util/values.h
> similarity index 100%
> rename from tools/perf/util/values.h
> rename to tools/lib/perf_util/values.h
> diff --git a/tools/perf/util/vdso.c b/tools/lib/perf_util/vdso.c
> similarity index 100%
> rename from tools/perf/util/vdso.c
> rename to tools/lib/perf_util/vdso.c
> diff --git a/tools/perf/util/vdso.h b/tools/lib/perf_util/vdso.h
> similarity index 100%
> rename from tools/perf/util/vdso.h
> rename to tools/lib/perf_util/vdso.h
> diff --git a/tools/perf/util/wrapper.c b/tools/lib/perf_util/wrapper.c
> similarity index 100%
> rename from tools/perf/util/wrapper.c
> rename to tools/lib/perf_util/wrapper.c
> diff --git a/tools/perf/util/xyarray.c b/tools/lib/perf_util/xyarray.c
> similarity index 100%
> rename from tools/perf/util/xyarray.c
> rename to tools/lib/perf_util/xyarray.c
> diff --git a/tools/perf/util/xyarray.h b/tools/lib/perf_util/xyarray.h
> similarity index 100%
> rename from tools/perf/util/xyarray.h
> rename to tools/lib/perf_util/xyarray.h
> diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
> index 67f7c05..bc9c460 100644
> --- a/tools/perf/Makefile.perf
> +++ b/tools/perf/Makefile.perf
> @@ -75,8 +75,10 @@ ifneq ($(OUTPUT),)
> #$(info Determined 'OUTPUT' to be $(OUTPUT))
> endif
>
> +LIB_PERFUTIL=$(srctree)/tools/lib/perf_util
> +
> $(OUTPUT)PERF-VERSION-FILE: ../../.git/HEAD
> - @$(SHELL_PATH) util/PERF-VERSION-GEN $(OUTPUT)
> + @$(SHELL_PATH) $(LIB_PERFUTIL)/PERF-VERSION-GEN $(OUTPUT)
> @touch $(OUTPUT)PERF-VERSION-FILE
>
> CC = $(CROSS_COMPILE)gcc
> @@ -148,6 +150,9 @@ export LIBTRACEEVENT
> LIBAPIKFS = $(LIB_PATH)libapikfs.a
> export LIBAPIKFS
>
> +LIBPERFUTIL = $(OUTPUT)libperfutil.a
> +export LIBPERFUTIL
> +
> # python extension build directories
> PYTHON_EXTBUILD := $(OUTPUT)python_ext_build/
> PYTHON_EXTBUILD_LIB := $(PYTHON_EXTBUILD)lib/
> @@ -156,11 +161,11 @@ export PYTHON_EXTBUILD_LIB PYTHON_EXTBUILD_TMP
>
> python-clean := $(call QUIET_CLEAN, python) $(RM) -r $(PYTHON_EXTBUILD) $(OUTPUT)python/perf.so
>
> -PYTHON_EXT_SRCS := $(shell grep -v ^\# util/python-ext-sources)
> -PYTHON_EXT_DEPS := util/python-ext-sources util/setup.py $(LIBTRACEEVENT) $(LIBAPIKFS)
> +PYTHON_EXT_SRCS := $(shell grep -v ^\# $(LIB_PERFUTIL)/python-ext-sources)
> +PYTHON_EXT_DEPS := $(LIB_PERFUTIL)/python-ext-sources $(LIB_PERFUTIL)/setup.py $(LIBTRACEEVENT) $(LIBAPIKFS)
>
> $(OUTPUT)python/perf.so: $(PYTHON_EXT_SRCS) $(PYTHON_EXT_DEPS)
> - $(QUIET_GEN)CFLAGS='$(CFLAGS)' $(PYTHON_WORD) util/setup.py \
> + $(QUIET_GEN)CFLAGS='$(CFLAGS)' $(PYTHON_WORD) $(LIB_PERFUTIL)/setup.py \
> --quiet build_ext; \
> mkdir -p $(OUTPUT)python && \
> cp $(PYTHON_EXTBUILD_LIB)perf.so $(OUTPUT)python/
> @@ -191,21 +196,6 @@ endif
>
> export PERL_PATH
>
> -$(OUTPUT)util/parse-events-flex.c: util/parse-events.l $(OUTPUT)util/parse-events-bison.c
> - $(QUIET_FLEX)$(FLEX) -o $@ --header-file=$(OUTPUT)util/parse-events-flex.h $(PARSER_DEBUG_FLEX) util/parse-events.l
> -
> -$(OUTPUT)util/parse-events-bison.c: util/parse-events.y
> - $(QUIET_BISON)$(BISON) -v util/parse-events.y -d $(PARSER_DEBUG_BISON) -o $(OUTPUT)util/parse-events-bison.c -p parse_events_
> -
> -$(OUTPUT)util/pmu-flex.c: util/pmu.l $(OUTPUT)util/pmu-bison.c
> - $(QUIET_FLEX)$(FLEX) -o $@ --header-file=$(OUTPUT)util/pmu-flex.h util/pmu.l
> -
> -$(OUTPUT)util/pmu-bison.c: util/pmu.y
> - $(QUIET_BISON)$(BISON) -v util/pmu.y -d -o $(OUTPUT)util/pmu-bison.c -p perf_pmu_
> -
> -$(OUTPUT)util/parse-events.o: $(OUTPUT)util/parse-events-flex.c $(OUTPUT)util/parse-events-bison.c
> -$(OUTPUT)util/pmu.o: $(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-bison.c
> -
> LIB_FILE=$(OUTPUT)libperf.a
>
> LIB_H += ../lib/symbol/kallsyms.h
> @@ -215,164 +205,91 @@ LIB_H += ../../include/linux/list.h
> LIB_H += ../../include/uapi/linux/const.h
> LIB_H += ../include/linux/hash.h
> LIB_H += ../../include/linux/stringify.h
> -LIB_H += util/include/linux/bitmap.h
> -LIB_H += util/include/linux/bitops.h
> +LIB_H += $(LIB_PERFUTIL)/include/linux/bitmap.h
> +LIB_H += $(LIB_PERFUTIL)/include/linux/bitops.h
> LIB_H += ../include/linux/compiler.h
> -LIB_H += util/include/linux/const.h
> -LIB_H += util/include/linux/ctype.h
> -LIB_H += util/include/linux/kernel.h
> -LIB_H += util/include/linux/list.h
> +LIB_H += $(LIB_PERFUTIL)/include/linux/const.h
> +LIB_H += $(LIB_PERFUTIL)/include/linux/ctype.h
> +LIB_H += $(LIB_PERFUTIL)/include/linux/kernel.h
> +LIB_H += $(LIB_PERFUTIL)/include/linux/list.h
> LIB_H += ../include/linux/export.h
> -LIB_H += util/include/linux/poison.h
> -LIB_H += util/include/linux/rbtree.h
> -LIB_H += util/include/linux/rbtree_augmented.h
> -LIB_H += util/include/linux/string.h
> +LIB_H += $(LIB_PERFUTIL)/include/linux/poison.h
> +LIB_H += $(LIB_PERFUTIL)/include/linux/rbtree.h
> +LIB_H += $(LIB_PERFUTIL)/include/linux/rbtree_augmented.h
> +LIB_H += $(LIB_PERFUTIL)/include/linux/string.h
> LIB_H += ../include/linux/types.h
> -LIB_H += util/include/linux/linkage.h
> -LIB_H += util/include/asm/asm-offsets.h
> +LIB_H += $(LIB_PERFUTIL)/include/linux/linkage.h
> +LIB_H += $(LIB_PERFUTIL)/include/asm/asm-offsets.h
> LIB_H += ../include/asm/bug.h
> -LIB_H += util/include/asm/byteorder.h
> -LIB_H += util/include/asm/hweight.h
> -LIB_H += util/include/asm/swab.h
> -LIB_H += util/include/asm/system.h
> -LIB_H += util/include/asm/uaccess.h
> -LIB_H += util/include/dwarf-regs.h
> -LIB_H += util/include/asm/dwarf2.h
> -LIB_H += util/include/asm/cpufeature.h
> -LIB_H += util/include/asm/unistd_32.h
> -LIB_H += util/include/asm/unistd_64.h
> +LIB_H += $(LIB_PERFUTIL)/include/asm/byteorder.h
> +LIB_H += $(LIB_PERFUTIL)/include/asm/hweight.h
> +LIB_H += $(LIB_PERFUTIL)/include/asm/swab.h
> +LIB_H += $(LIB_PERFUTIL)/include/asm/system.h
> +LIB_H += $(LIB_PERFUTIL)/include/asm/uaccess.h
> +LIB_H += $(LIB_PERFUTIL)/include/dwarf-regs.h
> +LIB_H += $(LIB_PERFUTIL)/include/asm/dwarf2.h
> +LIB_H += $(LIB_PERFUTIL)/include/asm/cpufeature.h
> +LIB_H += $(LIB_PERFUTIL)/include/asm/unistd_32.h
> +LIB_H += $(LIB_PERFUTIL)/include/asm/unistd_64.h
> LIB_H += perf.h
> -LIB_H += util/annotate.h
> -LIB_H += util/cache.h
> -LIB_H += util/callchain.h
> -LIB_H += util/build-id.h
> -LIB_H += util/debug.h
> -LIB_H += util/pmu.h
> -LIB_H += util/event.h
> -LIB_H += util/evsel.h
> -LIB_H += util/evlist.h
> -LIB_H += util/exec_cmd.h
> -LIB_H += util/levenshtein.h
> -LIB_H += util/machine.h
> -LIB_H += util/map.h
> -LIB_H += util/parse-options.h
> -LIB_H += util/parse-events.h
> -LIB_H += util/quote.h
> -LIB_H += util/util.h
> -LIB_H += util/xyarray.h
> -LIB_H += util/header.h
> -LIB_H += util/help.h
> -LIB_H += util/session.h
> -LIB_H += util/strbuf.h
> -LIB_H += util/strlist.h
> -LIB_H += util/strfilter.h
> -LIB_H += util/svghelper.h
> -LIB_H += util/tool.h
> -LIB_H += util/run-command.h
> -LIB_H += util/sigchain.h
> -LIB_H += util/dso.h
> -LIB_H += util/symbol.h
> -LIB_H += util/color.h
> -LIB_H += util/values.h
> -LIB_H += util/sort.h
> -LIB_H += util/hist.h
> -LIB_H += util/comm.h
> -LIB_H += util/thread.h
> -LIB_H += util/thread_map.h
> -LIB_H += util/trace-event.h
> -LIB_H += util/probe-finder.h
> -LIB_H += util/dwarf-aux.h
> -LIB_H += util/probe-event.h
> -LIB_H += util/pstack.h
> -LIB_H += util/cpumap.h
> -LIB_H += util/top.h
> +LIB_H += $(LIB_PERFUTIL)/annotate.h
> +LIB_H += $(LIB_PERFUTIL)/cache.h
> +LIB_H += $(LIB_PERFUTIL)/callchain.h
> +LIB_H += $(LIB_PERFUTIL)/build-id.h
> +LIB_H += $(LIB_PERFUTIL)/debug.h
> +LIB_H += $(LIB_PERFUTIL)/pmu.h
> +LIB_H += $(LIB_PERFUTIL)/event.h
> +LIB_H += $(LIB_PERFUTIL)/evsel.h
> +LIB_H += $(LIB_PERFUTIL)/evlist.h
> +LIB_H += $(LIB_PERFUTIL)/exec_cmd.h
> +LIB_H += $(LIB_PERFUTIL)/levenshtein.h
> +LIB_H += $(LIB_PERFUTIL)/machine.h
> +LIB_H += $(LIB_PERFUTIL)/map.h
> +LIB_H += $(LIB_PERFUTIL)/parse-options.h
> +LIB_H += $(LIB_PERFUTIL)/parse-events.h
> +LIB_H += $(LIB_PERFUTIL)/quote.h
> +LIB_H += $(LIB_PERFUTIL)/util.h
> +LIB_H += $(LIB_PERFUTIL)/xyarray.h
> +LIB_H += $(LIB_PERFUTIL)/header.h
> +LIB_H += $(LIB_PERFUTIL)/help.h
> +LIB_H += $(LIB_PERFUTIL)/session.h
> +LIB_H += $(LIB_PERFUTIL)/strbuf.h
> +LIB_H += $(LIB_PERFUTIL)/strlist.h
> +LIB_H += $(LIB_PERFUTIL)/strfilter.h
> +LIB_H += $(LIB_PERFUTIL)/svghelper.h
> +LIB_H += $(LIB_PERFUTIL)/tool.h
> +LIB_H += $(LIB_PERFUTIL)/run-command.h
> +LIB_H += $(LIB_PERFUTIL)/sigchain.h
> +LIB_H += $(LIB_PERFUTIL)/dso.h
> +LIB_H += $(LIB_PERFUTIL)/symbol.h
> +LIB_H += $(LIB_PERFUTIL)/color.h
> +LIB_H += $(LIB_PERFUTIL)/values.h
> +LIB_H += $(LIB_PERFUTIL)/sort.h
> +LIB_H += $(LIB_PERFUTIL)/hist.h
> +LIB_H += $(LIB_PERFUTIL)/comm.h
> +LIB_H += $(LIB_PERFUTIL)/thread.h
> +LIB_H += $(LIB_PERFUTIL)/thread_map.h
> +LIB_H += $(LIB_PERFUTIL)/trace-event.h
> +LIB_H += $(LIB_PERFUTIL)/probe-finder.h
> +LIB_H += $(LIB_PERFUTIL)/dwarf-aux.h
> +LIB_H += $(LIB_PERFUTIL)/probe-event.h
> +LIB_H += $(LIB_PERFUTIL)/pstack.h
> +LIB_H += $(LIB_PERFUTIL)/cpumap.h
> +LIB_H += $(LIB_PERFUTIL)/top.h
> LIB_H += $(ARCH_INCLUDE)
> -LIB_H += util/cgroup.h
> +LIB_H += $(LIB_PERFUTIL)/cgroup.h
> LIB_H += $(LIB_INCLUDE)traceevent/event-parse.h
> -LIB_H += util/target.h
> -LIB_H += util/rblist.h
> -LIB_H += util/intlist.h
> -LIB_H += util/perf_regs.h
> -LIB_H += util/unwind.h
> -LIB_H += util/vdso.h
> +LIB_H += $(LIB_PERFUTIL)/target.h
> +LIB_H += $(LIB_PERFUTIL)/rblist.h
> +LIB_H += $(LIB_PERFUTIL)/intlist.h
> +LIB_H += $(LIB_PERFUTIL)/perf_regs.h
> +LIB_H += $(LIB_PERFUTIL)/unwind.h
> +LIB_H += $(LIB_PERFUTIL)/vdso.h
> LIB_H += ui/helpline.h
> LIB_H += ui/progress.h
> LIB_H += ui/util.h
> LIB_H += ui/ui.h
> -LIB_H += util/data.h
> -
> -LIB_OBJS += $(OUTPUT)util/abspath.o
> -LIB_OBJS += $(OUTPUT)util/alias.o
> -LIB_OBJS += $(OUTPUT)util/annotate.o
> -LIB_OBJS += $(OUTPUT)util/build-id.o
> -LIB_OBJS += $(OUTPUT)util/config.o
> -LIB_OBJS += $(OUTPUT)util/ctype.o
> -LIB_OBJS += $(OUTPUT)util/pmu.o
> -LIB_OBJS += $(OUTPUT)util/environment.o
> -LIB_OBJS += $(OUTPUT)util/event.o
> -LIB_OBJS += $(OUTPUT)util/evlist.o
> -LIB_OBJS += $(OUTPUT)util/evsel.o
> -LIB_OBJS += $(OUTPUT)util/exec_cmd.o
> -LIB_OBJS += $(OUTPUT)util/help.o
> -LIB_OBJS += $(OUTPUT)util/kallsyms.o
> -LIB_OBJS += $(OUTPUT)util/levenshtein.o
> -LIB_OBJS += $(OUTPUT)util/parse-options.o
> -LIB_OBJS += $(OUTPUT)util/parse-events.o
> -LIB_OBJS += $(OUTPUT)util/path.o
> -LIB_OBJS += $(OUTPUT)util/rbtree.o
> -LIB_OBJS += $(OUTPUT)util/bitmap.o
> -LIB_OBJS += $(OUTPUT)util/hweight.o
> -LIB_OBJS += $(OUTPUT)util/run-command.o
> -LIB_OBJS += $(OUTPUT)util/quote.o
> -LIB_OBJS += $(OUTPUT)util/strbuf.o
> -LIB_OBJS += $(OUTPUT)util/string.o
> -LIB_OBJS += $(OUTPUT)util/strlist.o
> -LIB_OBJS += $(OUTPUT)util/strfilter.o
> -LIB_OBJS += $(OUTPUT)util/top.o
> -LIB_OBJS += $(OUTPUT)util/usage.o
> -LIB_OBJS += $(OUTPUT)util/wrapper.o
> -LIB_OBJS += $(OUTPUT)util/sigchain.o
> -LIB_OBJS += $(OUTPUT)util/dso.o
> -LIB_OBJS += $(OUTPUT)util/symbol.o
> -LIB_OBJS += $(OUTPUT)util/symbol-elf.o
> -LIB_OBJS += $(OUTPUT)util/color.o
> -LIB_OBJS += $(OUTPUT)util/pager.o
> -LIB_OBJS += $(OUTPUT)util/header.o
> -LIB_OBJS += $(OUTPUT)util/callchain.o
> -LIB_OBJS += $(OUTPUT)util/values.o
> -LIB_OBJS += $(OUTPUT)util/debug.o
> -LIB_OBJS += $(OUTPUT)util/machine.o
> -LIB_OBJS += $(OUTPUT)util/map.o
> -LIB_OBJS += $(OUTPUT)util/pstack.o
> -LIB_OBJS += $(OUTPUT)util/session.o
> -LIB_OBJS += $(OUTPUT)util/comm.o
> -LIB_OBJS += $(OUTPUT)util/thread.o
> -LIB_OBJS += $(OUTPUT)util/thread_map.o
> -LIB_OBJS += $(OUTPUT)util/trace-event-parse.o
> -LIB_OBJS += $(OUTPUT)util/parse-events-flex.o
> -LIB_OBJS += $(OUTPUT)util/parse-events-bison.o
> -LIB_OBJS += $(OUTPUT)util/pmu-flex.o
> -LIB_OBJS += $(OUTPUT)util/pmu-bison.o
> -LIB_OBJS += $(OUTPUT)util/trace-event-read.o
> -LIB_OBJS += $(OUTPUT)util/trace-event-info.o
> -LIB_OBJS += $(OUTPUT)util/trace-event-scripting.o
> -LIB_OBJS += $(OUTPUT)util/trace-event.o
> -LIB_OBJS += $(OUTPUT)util/svghelper.o
> -LIB_OBJS += $(OUTPUT)util/sort.o
> -LIB_OBJS += $(OUTPUT)util/hist.o
> -LIB_OBJS += $(OUTPUT)util/probe-event.o
> -LIB_OBJS += $(OUTPUT)util/util.o
> -LIB_OBJS += $(OUTPUT)util/xyarray.o
> -LIB_OBJS += $(OUTPUT)util/cpumap.o
> -LIB_OBJS += $(OUTPUT)util/cgroup.o
> -LIB_OBJS += $(OUTPUT)util/target.o
> -LIB_OBJS += $(OUTPUT)util/rblist.o
> -LIB_OBJS += $(OUTPUT)util/intlist.o
> -LIB_OBJS += $(OUTPUT)util/vdso.o
> -LIB_OBJS += $(OUTPUT)util/stat.o
> -LIB_OBJS += $(OUTPUT)util/record.o
> -LIB_OBJS += $(OUTPUT)util/srcline.o
> -LIB_OBJS += $(OUTPUT)util/data.o
> +LIB_H += $(LIB_PERFUTIL)/data.h
>
> LIB_OBJS += $(OUTPUT)ui/setup.o
> LIB_OBJS += $(OUTPUT)ui/helpline.o
> @@ -383,6 +300,9 @@ LIB_OBJS += $(OUTPUT)ui/stdio/hist.o
>
> LIB_OBJS += $(OUTPUT)arch/common.o
>
> +LIB_OBJS += $(OUTPUT)lib/symbol/kallsyms.o
> +LIB_OBJS += $(OUTPUT)lib/rbtree.o
> +
> LIB_OBJS += $(OUTPUT)tests/parse-events.o
> LIB_OBJS += $(OUTPUT)tests/dso-data.o
> LIB_OBJS += $(OUTPUT)tests/attr.o
> @@ -456,7 +376,7 @@ BUILTIN_OBJS += $(OUTPUT)builtin-inject.o
> BUILTIN_OBJS += $(OUTPUT)tests/builtin-test.o
> BUILTIN_OBJS += $(OUTPUT)builtin-mem.o
>
> -PERFLIBS = $(LIB_FILE) $(LIBAPIKFS) $(LIBTRACEEVENT)
> +PERFLIBS = $(LIB_FILE) $(LIBAPIKFS) $(LIBTRACEEVENT) $(LIBPERFUTIL)
>
> # We choose to avoid "if .. else if .. else .. endif endif"
> # because maintaining the nesting to match is a pain. If
> @@ -471,32 +391,9 @@ endif
> ifdef NO_LIBELF
> EXTLIBS := $(filter-out -lelf,$(EXTLIBS))
>
> -# Remove ELF/DWARF dependent codes
> -LIB_OBJS := $(filter-out $(OUTPUT)util/symbol-elf.o,$(LIB_OBJS))
> -LIB_OBJS := $(filter-out $(OUTPUT)util/dwarf-aux.o,$(LIB_OBJS))
> -LIB_OBJS := $(filter-out $(OUTPUT)util/probe-event.o,$(LIB_OBJS))
> -LIB_OBJS := $(filter-out $(OUTPUT)util/probe-finder.o,$(LIB_OBJS))
> -
> BUILTIN_OBJS := $(filter-out $(OUTPUT)builtin-probe.o,$(BUILTIN_OBJS))
> -
> -# Use minimal symbol handling
> -LIB_OBJS += $(OUTPUT)util/symbol-minimal.o
> -
> -else # NO_LIBELF
> -ifndef NO_DWARF
> - LIB_OBJS += $(OUTPUT)util/probe-finder.o
> - LIB_OBJS += $(OUTPUT)util/dwarf-aux.o
> -endif # NO_DWARF
> -endif # NO_LIBELF
> -
> -ifndef NO_LIBDW_DWARF_UNWIND
> - LIB_OBJS += $(OUTPUT)util/unwind-libdw.o
> - LIB_H += util/unwind-libdw.h
> endif
>
> -ifndef NO_LIBUNWIND
> - LIB_OBJS += $(OUTPUT)util/unwind-libunwind.o
> -endif
> LIB_OBJS += $(OUTPUT)tests/keep-tracking.o
>
> ifndef NO_LIBAUDIT
> @@ -539,12 +436,10 @@ install-gtk: $(OUTPUT)libperf-gtk.so
> endif
>
> ifndef NO_LIBPERL
> - LIB_OBJS += $(OUTPUT)util/scripting-engines/trace-event-perl.o
> LIB_OBJS += $(OUTPUT)scripts/perl/Perf-Trace-Util/Context.o
> endif
>
> ifndef NO_LIBPYTHON
> - LIB_OBJS += $(OUTPUT)util/scripting-engines/trace-event-python.o
> LIB_OBJS += $(OUTPUT)scripts/python/Perf-Trace-Util/Context.o
> endif
>
> @@ -552,7 +447,6 @@ ifeq ($(NO_PERF_REGS),0)
> ifeq ($(ARCH),x86)
> LIB_H += arch/x86/include/perf_regs.h
> endif
> - LIB_OBJS += $(OUTPUT)util/perf_regs.o
> endif
>
> ifndef NO_LIBNUMA
> @@ -608,10 +502,10 @@ $(OUTPUT)builtin-timechart.o: builtin-timechart.c $(OUTPUT)common-cmds.h $(OUTPU
> '-DPERF_MAN_PATH="$(mandir_SQ)"' \
> '-DPERF_INFO_PATH="$(infodir_SQ)"' $<
>
> -$(OUTPUT)common-cmds.h: util/generate-cmdlist.sh command-list.txt
> +$(OUTPUT)common-cmds.h: $(LIB_PERFUTIL)/generate-cmdlist.sh command-list.txt
>
> $(OUTPUT)common-cmds.h: $(wildcard Documentation/perf-*.txt)
> - $(QUIET_GEN). util/generate-cmdlist.sh > $@+ && mv $@+ $@
> + $(QUIET_GEN). $(LIB_PERFUTIL)/generate-cmdlist.sh > $@+ && mv $@+ $@
>
> $(SCRIPTS) : % : %.sh
> $(QUIET_GEN)$(INSTALL) '$@.sh' '$(OUTPUT)$@'
> @@ -630,8 +524,6 @@ $(OUTPUT)perf.o perf.spec \
> ifneq ($(OUTPUT),)
> %.o: $(OUTPUT)%.o
> @echo " # Redirected target $@ => $(OUTPUT)$@"
> -util/%.o: $(OUTPUT)util/%.o
> - @echo " # Redirected target $@ => $(OUTPUT)$@"
> bench/%.o: $(OUTPUT)bench/%.o
> @echo " # Redirected target $@ => $(OUTPUT)$@"
> tests/%.o: $(OUTPUT)tests/%.o
> @@ -641,12 +533,6 @@ endif
> # These two need to be here so that when O= is not used they take precedence
> # over the general rule for .o
>
> -$(OUTPUT)util/%-flex.o: $(OUTPUT)util/%-flex.c $(OUTPUT)PERF-CFLAGS
> - $(QUIET_CC)$(CC) -o $@ -c -Iutil/ $(CFLAGS) -w $<
> -
> -$(OUTPUT)util/%-bison.o: $(OUTPUT)util/%-bison.c $(OUTPUT)PERF-CFLAGS
> - $(QUIET_CC)$(CC) -o $@ -c -Iutil/ $(CFLAGS) -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -w $<
> -
> $(OUTPUT)%.o: %.c $(OUTPUT)PERF-CFLAGS
> $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) $<
> $(OUTPUT)%.i: %.c $(OUTPUT)PERF-CFLAGS
> @@ -658,12 +544,6 @@ $(OUTPUT)%.o: %.S
> $(OUTPUT)%.s: %.S
> $(QUIET_CC)$(CC) -o $@ -E $(CFLAGS) $<
>
> -$(OUTPUT)util/exec_cmd.o: util/exec_cmd.c $(OUTPUT)PERF-CFLAGS
> - $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) \
> - '-DPERF_EXEC_PATH="$(perfexecdir_SQ)"' \
> - '-DPREFIX="$(prefix_SQ)"' \
> - $<
> -
> $(OUTPUT)tests/attr.o: tests/attr.c $(OUTPUT)PERF-CFLAGS
> $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) \
> '-DBINDIR="$(bindir_SQ)"' -DPYTHON='"$(PYTHON_WORD)"' \
> @@ -678,9 +558,6 @@ $(OUTPUT)tests/python-use.o: tests/python-use.c $(OUTPUT)PERF-CFLAGS
> $(OUTPUT)tests/dwarf-unwind.o: tests/dwarf-unwind.c
> $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -fno-optimize-sibling-calls $<
>
> -$(OUTPUT)util/config.o: util/config.c $(OUTPUT)PERF-CFLAGS
> - $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $<
> -
> $(OUTPUT)ui/setup.o: ui/setup.c $(OUTPUT)PERF-CFLAGS
> $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DLIBDIR='"$(libdir_SQ)"' $<
>
> @@ -699,24 +576,15 @@ $(OUTPUT)ui/browsers/map.o: ui/browsers/map.c $(OUTPUT)PERF-CFLAGS
> $(OUTPUT)ui/browsers/scripts.o: ui/browsers/scripts.c $(OUTPUT)PERF-CFLAGS
> $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DENABLE_SLFUTURE_CONST $<
>
> -$(OUTPUT)util/kallsyms.o: ../lib/symbol/kallsyms.c $(OUTPUT)PERF-CFLAGS
> +$(OUTPUT)lib/symbol/kallsyms.o: ../lib/symbol/kallsyms.c $(OUTPUT)PERF-CFLAGS
> $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) $<
>
> -$(OUTPUT)util/rbtree.o: ../../lib/rbtree.c $(OUTPUT)PERF-CFLAGS
> +$(OUTPUT)lib/rbtree.o: ../../lib/rbtree.c $(OUTPUT)PERF-CFLAGS
> $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -Wno-unused-parameter -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $<
>
> -$(OUTPUT)util/parse-events.o: util/parse-events.c $(OUTPUT)PERF-CFLAGS
> - $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -Wno-redundant-decls $<
> -
> -$(OUTPUT)util/scripting-engines/trace-event-perl.o: util/scripting-engines/trace-event-perl.c $(OUTPUT)PERF-CFLAGS
> - $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-shadow -Wno-undef -Wno-switch-default $<
> -
> $(OUTPUT)scripts/perl/Perf-Trace-Util/Context.o: scripts/perl/Perf-Trace-Util/Context.c $(OUTPUT)PERF-CFLAGS
> $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-nested-externs -Wno-undef -Wno-switch-default $<
>
> -$(OUTPUT)util/scripting-engines/trace-event-python.o: util/scripting-engines/trace-event-python.c $(OUTPUT)PERF-CFLAGS
> - $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) $(PYTHON_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-shadow $<
> -
> $(OUTPUT)scripts/python/Perf-Trace-Util/Context.o: scripts/python/Perf-Trace-Util/Context.c $(OUTPUT)PERF-CFLAGS
> $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) $(PYTHON_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-nested-externs $<
>
> @@ -730,9 +598,6 @@ $(patsubst perf-%,%.o,$(PROGRAMS)): $(LIB_H) $(wildcard */*.h)
> # we depend the various files onto their directories.
> DIRECTORY_DEPS = $(LIB_OBJS) $(BUILTIN_OBJS) $(GTK_OBJS)
> DIRECTORY_DEPS += $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)common-cmds.h
> -# no need to add flex objects, because they depend on bison ones
> -DIRECTORY_DEPS += $(OUTPUT)util/parse-events-bison.c
> -DIRECTORY_DEPS += $(OUTPUT)util/pmu-bison.c
>
> OUTPUT_DIRECTORIES := $(sort $(dir $(DIRECTORY_DEPS)))
>
> @@ -776,6 +641,25 @@ ifeq ($(subdir),)
> @$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) clean >/dev/null
> endif
>
> +LIBPERFUTIL_FLAGS = O=$(OUTPUT) $(QUIET_SUBDIR1)
> +LIBPERFUTIL_FLAGS += NO_LIBELF=$(NO_LIBELF) NO_DWARF=$(NO_DWARF)
> +LIBPERFUTIL_FLAGS += NO_LIBDW_DWARF_UNWIND=$(NO_LIBDW_DWARF_UNWIND)
> +LIBPERFUTIL_FLAGS += NO_LIBUNWIND=$(NO_LIBUNWIND) NO_LIBPERL=$(NO_LIBPERL)
> +LIBPERFUTIL_FLAGS += NO_LIBPYTHON=$(NO_LIBPYTHON) NO_PERF_REGS=$(NO_PERF_REGS)
> +LIBPERFUTIL_FLAGS += FLEX=$(FLEX) BISON=$(BISON)
> +LIBPERFUTIL_FLAGS += perfexecdir_SQ=$(perfexecdir_SQ) prefix_SQ=$(prefix_SQ)
> +LIBPERFUTIL_FLAGS += ETC_PERFCONFIG_SQ=$(ETC_PERFCONFIG_SQ)
> +LIBPERFUTIL_FLAGS += CC=$(CC)
> +LIBPERFUTIL_FLAGS += CFLAGS="-g -Wall $(CFLAGS) $(EXTRA_CFLAGS)"
> +
> +LIBPERFUTIL_SOURCES = $(wildcard $(LIB_PERFUTIL)/*.[ch])
> +$(LIBPERFUTIL): $(LIBPERFUTIL_SOURCES) $(OUTPUT)PERF-CFLAGS
> + $(QUIET_SUBDIR0)$(LIB_PERFUTIL) $(LIBPERFUTIL_FLAGS) libperfutil.a
> +
> +$(LIBPERFUTIL)-clean:
> + $(call QUIET_CLEAN, libperfutil)
> + @$(MAKE) -C $(LIB_PERFUTIL) O=$(OUTPUT) clean >/dev/null
> +
> help:
> @echo 'Perf make targets:'
> @echo ' doc - make *all* documentation (see below)'
> @@ -896,7 +780,7 @@ endif
> install: install-bin try-install-man install-traceevent-plugins
>
> install-python_ext:
> - $(PYTHON_WORD) util/setup.py --quiet install --root='/$(DESTDIR_SQ)'
> + $(PYTHON_WORD) $(LIB_PERFUTIL)/setup.py --quiet install --root='/$(DESTDIR_SQ)'
>
> # 'make install-doc' should call 'make -C Documentation install'
> $(INSTALL_DOC_TARGETS):
> @@ -912,10 +796,10 @@ config-clean:
> $(call QUIET_CLEAN, config)
> @$(MAKE) -C config/feature-checks clean >/dev/null
>
> -clean: $(LIBTRACEEVENT)-clean $(LIBAPIKFS)-clean config-clean
> +clean: $(LIBTRACEEVENT)-clean $(LIBAPIKFS)-clean $(LIBPERFUTIL)-clean config-clean
> $(call QUIET_CLEAN, core-objs) $(RM) $(LIB_OBJS) $(BUILTIN_OBJS) $(LIB_FILE) $(OUTPUT)perf-archive $(OUTPUT)perf.o $(LANG_BINDINGS) $(GTK_OBJS)
> $(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf
> - $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)PERF-CFLAGS $(OUTPUT)PERF-FEATURES $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex*
> + $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)PERF-CFLAGS $(OUTPUT)PERF-FEATURES
> $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) clean
> $(python-clean)
>
> diff --git a/tools/perf/arch/arm/util/unwind-libdw.c b/tools/perf/arch/arm/util/unwind-libdw.c
> index b4176c6..83716f0 100644
> --- a/tools/perf/arch/arm/util/unwind-libdw.c
> +++ b/tools/perf/arch/arm/util/unwind-libdw.c
> @@ -1,6 +1,6 @@
> #include <elfutils/libdwfl.h>
> -#include "../../util/unwind-libdw.h"
> -#include "../../util/perf_regs.h"
> +#include <unwind-libdw.h>
> +#include <perf_regs.h>
>
> bool libdw__arch_set_initial_registers(Dwfl_Thread *thread, void *arg)
> {
> diff --git a/tools/perf/arch/arm/util/unwind-libunwind.c b/tools/perf/arch/arm/util/unwind-libunwind.c
> index 729ed69..6650eed 100644
> --- a/tools/perf/arch/arm/util/unwind-libunwind.c
> +++ b/tools/perf/arch/arm/util/unwind-libunwind.c
> @@ -2,7 +2,7 @@
> #include <errno.h>
> #include <libunwind.h>
> #include "perf_regs.h"
> -#include "../../util/unwind.h"
> +#include <unwind.h>
>
> int libunwind__arch_reg_id(int regnum)
> {
> diff --git a/tools/perf/arch/arm64/util/unwind-libunwind.c b/tools/perf/arch/arm64/util/unwind-libunwind.c
> index 436ee43..5ae2768 100644
> --- a/tools/perf/arch/arm64/util/unwind-libunwind.c
> +++ b/tools/perf/arch/arm64/util/unwind-libunwind.c
> @@ -2,7 +2,7 @@
> #include <errno.h>
> #include <libunwind.h>
> #include "perf_regs.h"
> -#include "../../util/unwind.h"
> +#include <unwind.h>
>
> int libunwind__arch_reg_id(int regnum)
> {
> diff --git a/tools/perf/arch/common.c b/tools/perf/arch/common.c
> index 42faf36..7a908cb 100644
> --- a/tools/perf/arch/common.c
> +++ b/tools/perf/arch/common.c
> @@ -1,7 +1,7 @@
> #include <stdio.h>
> #include <sys/utsname.h>
> #include "common.h"
> -#include "../util/debug.h"
> +#include <debug.h>
>
> const char *const arm_triplets[] = {
> "arm-eabi-",
> diff --git a/tools/perf/arch/common.h b/tools/perf/arch/common.h
> index ede246e..508be80 100644
> --- a/tools/perf/arch/common.h
> +++ b/tools/perf/arch/common.h
> @@ -1,7 +1,7 @@
> #ifndef ARCH_PERF_COMMON_H
> #define ARCH_PERF_COMMON_H
>
> -#include "../util/session.h"
> +#include <session.h>
>
> extern const char *objdump_path;
>
> diff --git a/tools/perf/arch/powerpc/util/header.c b/tools/perf/arch/powerpc/util/header.c
> index 2f7073d..841b361 100644
> --- a/tools/perf/arch/powerpc/util/header.c
> +++ b/tools/perf/arch/powerpc/util/header.c
> @@ -4,7 +4,7 @@
> #include <stdlib.h>
> #include <string.h>
>
> -#include "../../util/header.h"
> +#include <header.h>
>
> #define __stringify_1(x) #x
> #define __stringify(x) __stringify_1(x)
> diff --git a/tools/perf/arch/x86/util/header.c b/tools/perf/arch/x86/util/header.c
> index 146d12a..9161c71 100644
> --- a/tools/perf/arch/x86/util/header.c
> +++ b/tools/perf/arch/x86/util/header.c
> @@ -4,7 +4,7 @@
> #include <stdlib.h>
> #include <string.h>
>
> -#include "../../util/header.h"
> +#include <header.h>
>
> static inline void
> cpuid(unsigned int op, unsigned int *a, unsigned int *b, unsigned int *c,
> diff --git a/tools/perf/arch/x86/util/tsc.c b/tools/perf/arch/x86/util/tsc.c
> index 40021fa..c48e2c8 100644
> --- a/tools/perf/arch/x86/util/tsc.c
> +++ b/tools/perf/arch/x86/util/tsc.c
> @@ -3,9 +3,9 @@
>
> #include <linux/perf_event.h>
>
> -#include "../../perf.h"
> +#include "perf.h"
> #include <linux/types.h>
> -#include "../../util/debug.h"
> +#include <debug.h>
> #include "tsc.h"
>
> u64 perf_time_to_tsc(u64 ns, struct perf_tsc_conversion *tc)
> diff --git a/tools/perf/arch/x86/util/unwind-libdw.c b/tools/perf/arch/x86/util/unwind-libdw.c
> index c4b7217..7ec191b 100644
> --- a/tools/perf/arch/x86/util/unwind-libdw.c
> +++ b/tools/perf/arch/x86/util/unwind-libdw.c
> @@ -1,6 +1,6 @@
> #include <elfutils/libdwfl.h>
> -#include "../../util/unwind-libdw.h"
> -#include "../../util/perf_regs.h"
> +#include <unwind-libdw.h>
> +#include <perf_regs.h>
>
> bool libdw__arch_set_initial_registers(Dwfl_Thread *thread, void *arg)
> {
> diff --git a/tools/perf/arch/x86/util/unwind-libunwind.c b/tools/perf/arch/x86/util/unwind-libunwind.c
> index 3261f68..44c6614 100644
> --- a/tools/perf/arch/x86/util/unwind-libunwind.c
> +++ b/tools/perf/arch/x86/util/unwind-libunwind.c
> @@ -2,7 +2,7 @@
> #include <errno.h>
> #include <libunwind.h>
> #include "perf_regs.h"
> -#include "../../util/unwind.h"
> +#include <unwind.h>
>
> #ifdef HAVE_ARCH_X86_64_SUPPORT
> int libunwind__arch_reg_id(int regnum)
> diff --git a/tools/perf/bench/futex-hash.c b/tools/perf/bench/futex-hash.c
> index a84206e..c806863 100644
> --- a/tools/perf/bench/futex-hash.c
> +++ b/tools/perf/bench/futex-hash.c
> @@ -9,10 +9,10 @@
> */
>
> #include "../perf.h"
> -#include "../util/util.h"
> -#include "../util/stat.h"
> -#include "../util/parse-options.h"
> -#include "../util/header.h"
> +#include <util.h>
> +#include <stat.h>
> +#include <parse-options.h>
> +#include <header.h>
> #include "bench.h"
> #include "futex.h"
>
> diff --git a/tools/perf/bench/futex-requeue.c b/tools/perf/bench/futex-requeue.c
> index a1625587..a8580ae 100644
> --- a/tools/perf/bench/futex-requeue.c
> +++ b/tools/perf/bench/futex-requeue.c
> @@ -9,10 +9,10 @@
> */
>
> #include "../perf.h"
> -#include "../util/util.h"
> -#include "../util/stat.h"
> -#include "../util/parse-options.h"
> -#include "../util/header.h"
> +#include <util.h>
> +#include <stat.h>
> +#include <parse-options.h>
> +#include <header.h>
> #include "bench.h"
> #include "futex.h"
>
> diff --git a/tools/perf/bench/futex-wake.c b/tools/perf/bench/futex-wake.c
> index d096169..94e2609 100644
> --- a/tools/perf/bench/futex-wake.c
> +++ b/tools/perf/bench/futex-wake.c
> @@ -9,10 +9,10 @@
> */
>
> #include "../perf.h"
> -#include "../util/util.h"
> -#include "../util/stat.h"
> -#include "../util/parse-options.h"
> -#include "../util/header.h"
> +#include <util.h>
> +#include <stat.h>
> +#include <parse-options.h>
> +#include <header.h>
> #include "bench.h"
> #include "futex.h"
>
> diff --git a/tools/perf/bench/mem-memcpy.c b/tools/perf/bench/mem-memcpy.c
> index 5ce71d3..2019dbd 100644
> --- a/tools/perf/bench/mem-memcpy.c
> +++ b/tools/perf/bench/mem-memcpy.c
> @@ -7,9 +7,9 @@
> */
>
> #include "../perf.h"
> -#include "../util/util.h"
> -#include "../util/parse-options.h"
> -#include "../util/header.h"
> +#include <util.h>
> +#include <parse-options.h>
> +#include <header.h>
> #include "bench.h"
> #include "mem-memcpy-arch.h"
>
> diff --git a/tools/perf/bench/mem-memset.c b/tools/perf/bench/mem-memset.c
> index 9af79d2..84cc664 100644
> --- a/tools/perf/bench/mem-memset.c
> +++ b/tools/perf/bench/mem-memset.c
> @@ -7,9 +7,9 @@
> */
>
> #include "../perf.h"
> -#include "../util/util.h"
> -#include "../util/parse-options.h"
> -#include "../util/header.h"
> +#include <util.h>
> +#include <parse-options.h>
> +#include <header.h>
> #include "bench.h"
> #include "mem-memset-arch.h"
>
> diff --git a/tools/perf/bench/numa.c b/tools/perf/bench/numa.c
> index ebfa163..fe38505 100644
> --- a/tools/perf/bench/numa.c
> +++ b/tools/perf/bench/numa.c
> @@ -6,8 +6,8 @@
>
> #include "../perf.h"
> #include "../builtin.h"
> -#include "../util/util.h"
> -#include "../util/parse-options.h"
> +#include <util.h>
> +#include <parse-options.h>
>
> #include "bench.h"
>
> diff --git a/tools/perf/bench/sched-messaging.c b/tools/perf/bench/sched-messaging.c
> index cc1190a..7894f67 100644
> --- a/tools/perf/bench/sched-messaging.c
> +++ b/tools/perf/bench/sched-messaging.c
> @@ -10,8 +10,8 @@
> */
>
> #include "../perf.h"
> -#include "../util/util.h"
> -#include "../util/parse-options.h"
> +#include <util.h>
> +#include <parse-options.h>
> #include "../builtin.h"
> #include "bench.h"
>
> diff --git a/tools/perf/bench/sched-pipe.c b/tools/perf/bench/sched-pipe.c
> index 07a8d76..a5f8544 100644
> --- a/tools/perf/bench/sched-pipe.c
> +++ b/tools/perf/bench/sched-pipe.c
> @@ -9,8 +9,8 @@
> * Ported to perf by Hitoshi Mitake <mitake@xxxxxxxxxxxxxxxxxxxxx>
> */
> #include "../perf.h"
> -#include "../util/util.h"
> -#include "../util/parse-options.h"
> +#include <util.h>
> +#include <parse-options.h>
> #include "../builtin.h"
> #include "bench.h"
>
> diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
> index 1ec429f..c40ecf9 100644
> --- a/tools/perf/builtin-annotate.c
> +++ b/tools/perf/builtin-annotate.c
> @@ -7,28 +7,28 @@
> */
> #include "builtin.h"
>
> -#include "util/util.h"
> -#include "util/color.h"
> +#include <util.h>
> +#include <color.h>
> #include <linux/list.h>
> -#include "util/cache.h"
> +#include <cache.h>
> #include <linux/rbtree.h>
> -#include "util/symbol.h"
> +#include <symbol.h>
>
> #include "perf.h"
> -#include "util/debug.h"
> -
> -#include "util/evlist.h"
> -#include "util/evsel.h"
> -#include "util/annotate.h"
> -#include "util/event.h"
> -#include "util/parse-options.h"
> -#include "util/parse-events.h"
> -#include "util/thread.h"
> -#include "util/sort.h"
> -#include "util/hist.h"
> -#include "util/session.h"
> -#include "util/tool.h"
> -#include "util/data.h"
> +#include <debug.h>
> +
> +#include <evlist.h>
> +#include <evsel.h>
> +#include <annotate.h>
> +#include <event.h>
> +#include <parse-options.h>
> +#include <parse-events.h>
> +#include <thread.h>
> +#include <sort.h>
> +#include <hist.h>
> +#include <session.h>
> +#include <tool.h>
> +#include <data.h>
> #include "arch/common.h"
>
> #include <dlfcn.h>
> diff --git a/tools/perf/builtin-bench.c b/tools/perf/builtin-bench.c
> index 1e6e777..0ba682a 100644
> --- a/tools/perf/builtin-bench.c
> +++ b/tools/perf/builtin-bench.c
> @@ -15,8 +15,8 @@
> * futex ... Futex performance
> */
> #include "perf.h"
> -#include "util/util.h"
> -#include "util/parse-options.h"
> +#include <util.h>
> +#include <parse-options.h>
> #include "builtin.h"
> #include "bench/bench.h"
>
> diff --git a/tools/perf/builtin-buildid-cache.c b/tools/perf/builtin-buildid-cache.c
> index b22dbb1..4ea7748 100644
> --- a/tools/perf/builtin-buildid-cache.c
> +++ b/tools/perf/builtin-buildid-cache.c
> @@ -13,14 +13,14 @@
> #include <unistd.h>
> #include "builtin.h"
> #include "perf.h"
> -#include "util/cache.h"
> -#include "util/debug.h"
> -#include "util/header.h"
> -#include "util/parse-options.h"
> -#include "util/strlist.h"
> -#include "util/build-id.h"
> -#include "util/session.h"
> -#include "util/symbol.h"
> +#include <cache.h>
> +#include <debug.h>
> +#include <header.h>
> +#include <parse-options.h>
> +#include <strlist.h>
> +#include <build-id.h>
> +#include <session.h>
> +#include <symbol.h>
>
> static int build_id_cache__kcore_buildid(const char *proc_dir, char *sbuildid)
> {
> diff --git a/tools/perf/builtin-buildid-list.c b/tools/perf/builtin-buildid-list.c
> index ed3873b..f7b6d01 100644
> --- a/tools/perf/builtin-buildid-list.c
> +++ b/tools/perf/builtin-buildid-list.c
> @@ -9,13 +9,13 @@
> */
> #include "builtin.h"
> #include "perf.h"
> -#include "util/build-id.h"
> -#include "util/cache.h"
> -#include "util/debug.h"
> -#include "util/parse-options.h"
> -#include "util/session.h"
> -#include "util/symbol.h"
> -#include "util/data.h"
> +#include <build-id.h>
> +#include <cache.h>
> +#include <debug.h>
> +#include <parse-options.h>
> +#include <session.h>
> +#include <symbol.h>
> +#include <data.h>
>
> static int sysfs__fprintf_build_id(FILE *fp)
> {
> diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c
> index 9a5a035..17216dc 100644
> --- a/tools/perf/builtin-diff.c
> +++ b/tools/perf/builtin-diff.c
> @@ -6,17 +6,17 @@
> */
> #include "builtin.h"
>
> -#include "util/debug.h"
> -#include "util/event.h"
> -#include "util/hist.h"
> -#include "util/evsel.h"
> -#include "util/evlist.h"
> -#include "util/session.h"
> -#include "util/tool.h"
> -#include "util/sort.h"
> -#include "util/symbol.h"
> -#include "util/util.h"
> -#include "util/data.h"
> +#include <debug.h>
> +#include <event.h>
> +#include <hist.h>
> +#include <evsel.h>
> +#include <evlist.h>
> +#include <session.h>
> +#include <tool.h>
> +#include <sort.h>
> +#include <symbol.h>
> +#include <util.h>
> +#include <data.h>
>
> #include <stdlib.h>
> #include <math.h>
> diff --git a/tools/perf/builtin-evlist.c b/tools/perf/builtin-evlist.c
> index c99e0de..983bde9 100644
> --- a/tools/perf/builtin-evlist.c
> +++ b/tools/perf/builtin-evlist.c
> @@ -4,17 +4,17 @@
> */
> #include "builtin.h"
>
> -#include "util/util.h"
> +#include <util.h>
>
> #include <linux/list.h>
>
> #include "perf.h"
> -#include "util/evlist.h"
> -#include "util/evsel.h"
> -#include "util/parse-events.h"
> -#include "util/parse-options.h"
> -#include "util/session.h"
> -#include "util/data.h"
> +#include <evlist.h>
> +#include <evsel.h>
> +#include <parse-events.h>
> +#include <parse-options.h>
> +#include <session.h>
> +#include <data.h>
>
> static int __cmd_evlist(const char *file_name, struct perf_attr_details *details)
> {
> diff --git a/tools/perf/builtin-help.c b/tools/perf/builtin-help.c
> index 178b88a..761f7ab 100644
> --- a/tools/perf/builtin-help.c
> +++ b/tools/perf/builtin-help.c
> @@ -4,13 +4,13 @@
> * Builtin help command
> */
> #include "perf.h"
> -#include "util/cache.h"
> +#include <cache.h>
> #include "builtin.h"
> -#include "util/exec_cmd.h"
> +#include <exec_cmd.h>
> #include "common-cmds.h"
> -#include "util/parse-options.h"
> -#include "util/run-command.h"
> -#include "util/help.h"
> +#include <parse-options.h>
> +#include <run-command.h>
> +#include <help.h>
>
> static struct man_viewer_list {
> struct man_viewer_list *next;
> diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
> index 6a3af00..ff1bd62 100644
> --- a/tools/perf/builtin-inject.c
> +++ b/tools/perf/builtin-inject.c
> @@ -8,16 +8,16 @@
> #include "builtin.h"
>
> #include "perf.h"
> -#include "util/color.h"
> -#include "util/evlist.h"
> -#include "util/evsel.h"
> -#include "util/session.h"
> -#include "util/tool.h"
> -#include "util/debug.h"
> -#include "util/build-id.h"
> -#include "util/data.h"
> -
> -#include "util/parse-options.h"
> +#include <color.h>
> +#include <evlist.h>
> +#include <evsel.h>
> +#include <session.h>
> +#include <tool.h>
> +#include <debug.h>
> +#include <build-id.h>
> +#include <data.h>
> +
> +#include <parse-options.h>
>
> #include <linux/list.h>
>
> diff --git a/tools/perf/builtin-kmem.c b/tools/perf/builtin-kmem.c
> index bef3376..f18626b 100644
> --- a/tools/perf/builtin-kmem.c
> +++ b/tools/perf/builtin-kmem.c
> @@ -1,22 +1,22 @@
> #include "builtin.h"
> #include "perf.h"
>
> -#include "util/evlist.h"
> -#include "util/evsel.h"
> -#include "util/util.h"
> -#include "util/cache.h"
> -#include "util/symbol.h"
> -#include "util/thread.h"
> -#include "util/header.h"
> -#include "util/session.h"
> -#include "util/tool.h"
> -
> -#include "util/parse-options.h"
> -#include "util/trace-event.h"
> -#include "util/data.h"
> -#include "util/cpumap.h"
> -
> -#include "util/debug.h"
> +#include <evlist.h>
> +#include <evsel.h>
> +#include <util.h>
> +#include <cache.h>
> +#include <symbol.h>
> +#include <thread.h>
> +#include <header.h>
> +#include <session.h>
> +#include <tool.h>
> +
> +#include <parse-options.h>
> +#include <trace-event.h>
> +#include <data.h>
> +#include <cpumap.h>
> +
> +#include <debug.h>
>
> #include <linux/rbtree.h>
> #include <linux/string.h>
> diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c
> index 0f1e5a2..a2315f7 100644
> --- a/tools/perf/builtin-kvm.c
> +++ b/tools/perf/builtin-kvm.c
> @@ -1,23 +1,23 @@
> #include "builtin.h"
> #include "perf.h"
>
> -#include "util/evsel.h"
> -#include "util/evlist.h"
> -#include "util/util.h"
> -#include "util/cache.h"
> -#include "util/symbol.h"
> -#include "util/thread.h"
> -#include "util/header.h"
> -#include "util/session.h"
> -#include "util/intlist.h"
> -#include "util/parse-options.h"
> -#include "util/trace-event.h"
> -#include "util/debug.h"
> +#include <evsel.h>
> +#include <evlist.h>
> +#include <util.h>
> +#include <cache.h>
> +#include <symbol.h>
> +#include <thread.h>
> +#include <header.h>
> +#include <session.h>
> +#include <intlist.h>
> +#include <parse-options.h>
> +#include <trace-event.h>
> +#include <debug.h>
> #include <api/fs/debugfs.h>
> -#include "util/tool.h"
> -#include "util/stat.h"
> -#include "util/top.h"
> -#include "util/data.h"
> +#include <tool.h>
> +#include <stat.h>
> +#include <top.h>
> +#include <data.h>
>
> #include <sys/prctl.h>
> #ifdef HAVE_TIMERFD_SUPPORT
> diff --git a/tools/perf/builtin-list.c b/tools/perf/builtin-list.c
> index 011195e..995ccd1 100644
> --- a/tools/perf/builtin-list.c
> +++ b/tools/perf/builtin-list.c
> @@ -11,10 +11,10 @@
>
> #include "perf.h"
>
> -#include "util/parse-events.h"
> -#include "util/cache.h"
> -#include "util/pmu.h"
> -#include "util/parse-options.h"
> +#include <parse-events.h>
> +#include <cache.h>
> +#include <pmu.h>
> +#include <parse-options.h>
>
> int cmd_list(int argc, const char **argv, const char *prefix __maybe_unused)
> {
> diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c
> index 6148afc..94284c0 100644
> --- a/tools/perf/builtin-lock.c
> +++ b/tools/perf/builtin-lock.c
> @@ -1,21 +1,21 @@
> #include "builtin.h"
> #include "perf.h"
>
> -#include "util/evlist.h"
> -#include "util/evsel.h"
> -#include "util/util.h"
> -#include "util/cache.h"
> -#include "util/symbol.h"
> -#include "util/thread.h"
> -#include "util/header.h"
> -
> -#include "util/parse-options.h"
> -#include "util/trace-event.h"
> -
> -#include "util/debug.h"
> -#include "util/session.h"
> -#include "util/tool.h"
> -#include "util/data.h"
> +#include <evlist.h>
> +#include <evsel.h>
> +#include <util.h>
> +#include <cache.h>
> +#include <symbol.h>
> +#include <thread.h>
> +#include <header.h>
> +
> +#include <parse-options.h>
> +#include <trace-event.h>
> +
> +#include <debug.h>
> +#include <session.h>
> +#include <tool.h>
> +#include <data.h>
>
> #include <sys/types.h>
> #include <sys/prctl.h>
> diff --git a/tools/perf/builtin-mem.c b/tools/perf/builtin-mem.c
> index 4a1a6c9..03443c3 100644
> --- a/tools/perf/builtin-mem.c
> +++ b/tools/perf/builtin-mem.c
> @@ -1,11 +1,11 @@
> #include "builtin.h"
> #include "perf.h"
>
> -#include "util/parse-options.h"
> -#include "util/trace-event.h"
> -#include "util/tool.h"
> -#include "util/session.h"
> -#include "util/data.h"
> +#include <parse-options.h>
> +#include <trace-event.h>
> +#include <tool.h>
> +#include <session.h>
> +#include <data.h>
>
> #define MEM_OPERATION_LOAD "load"
> #define MEM_OPERATION_STORE "store"
> diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
> index cdcd4eb..6abb35c 100644
> --- a/tools/perf/builtin-probe.c
> +++ b/tools/perf/builtin-probe.c
> @@ -32,15 +32,15 @@
>
> #include "perf.h"
> #include "builtin.h"
> -#include "util/util.h"
> -#include "util/strlist.h"
> -#include "util/strfilter.h"
> -#include "util/symbol.h"
> -#include "util/debug.h"
> +#include <util.h>
> +#include <strlist.h>
> +#include <strfilter.h>
> +#include <symbol.h>
> +#include <debug.h>
> #include <api/fs/debugfs.h>
> -#include "util/parse-options.h"
> -#include "util/probe-finder.h"
> -#include "util/probe-event.h"
> +#include <parse-options.h>
> +#include <probe-finder.h>
> +#include <probe-event.h>
>
> #define DEFAULT_VAR_FILTER "!__k???tab_* & !__crc_*"
> #define DEFAULT_FUNC_FILTER "!_*"
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index e4c85b8..f78c4fd 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -9,22 +9,22 @@
>
> #include "perf.h"
>
> -#include "util/build-id.h"
> -#include "util/util.h"
> -#include "util/parse-options.h"
> -#include "util/parse-events.h"
> -
> -#include "util/header.h"
> -#include "util/event.h"
> -#include "util/evlist.h"
> -#include "util/evsel.h"
> -#include "util/debug.h"
> -#include "util/session.h"
> -#include "util/tool.h"
> -#include "util/symbol.h"
> -#include "util/cpumap.h"
> -#include "util/thread_map.h"
> -#include "util/data.h"
> +#include <build-id.h>
> +#include <util.h>
> +#include <parse-options.h>
> +#include <parse-events.h>
> +
> +#include <header.h>
> +#include <event.h>
> +#include <evlist.h>
> +#include <evsel.h>
> +#include <debug.h>
> +#include <session.h>
> +#include <tool.h>
> +#include <symbol.h>
> +#include <cpumap.h>
> +#include <thread_map.h>
> +#include <data.h>
>
> #include <unistd.h>
> #include <sched.h>
> diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
> index 21d830b..dc979be 100644
> --- a/tools/perf/builtin-report.c
> +++ b/tools/perf/builtin-report.c
> @@ -7,33 +7,33 @@
> */
> #include "builtin.h"
>
> -#include "util/util.h"
> -#include "util/cache.h"
> +#include <util.h>
> +#include <cache.h>
>
> -#include "util/annotate.h"
> -#include "util/color.h"
> +#include <annotate.h>
> +#include <color.h>
> #include <linux/list.h>
> #include <linux/rbtree.h>
> -#include "util/symbol.h"
> -#include "util/callchain.h"
> -#include "util/strlist.h"
> -#include "util/values.h"
> +#include <symbol.h>
> +#include <callchain.h>
> +#include <strlist.h>
> +#include <values.h>
>
> #include "perf.h"
> -#include "util/debug.h"
> -#include "util/evlist.h"
> -#include "util/evsel.h"
> -#include "util/header.h"
> -#include "util/session.h"
> -#include "util/tool.h"
> -
> -#include "util/parse-options.h"
> -#include "util/parse-events.h"
> -
> -#include "util/thread.h"
> -#include "util/sort.h"
> -#include "util/hist.h"
> -#include "util/data.h"
> +#include <debug.h>
> +#include <evlist.h>
> +#include <evsel.h>
> +#include <header.h>
> +#include <session.h>
> +#include <tool.h>
> +
> +#include <parse-options.h>
> +#include <parse-events.h>
> +
> +#include <thread.h>
> +#include <sort.h>
> +#include <hist.h>
> +#include <data.h>
> #include "arch/common.h"
>
> #include <dlfcn.h>
> diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
> index c38d06c..422b587 100644
> --- a/tools/perf/builtin-sched.c
> +++ b/tools/perf/builtin-sched.c
> @@ -1,20 +1,20 @@
> #include "builtin.h"
> #include "perf.h"
>
> -#include "util/util.h"
> -#include "util/evlist.h"
> -#include "util/cache.h"
> -#include "util/evsel.h"
> -#include "util/symbol.h"
> -#include "util/thread.h"
> -#include "util/header.h"
> -#include "util/session.h"
> -#include "util/tool.h"
> -
> -#include "util/parse-options.h"
> -#include "util/trace-event.h"
> -
> -#include "util/debug.h"
> +#include <util.h>
> +#include <evlist.h>
> +#include <cache.h>
> +#include <evsel.h>
> +#include <symbol.h>
> +#include <thread.h>
> +#include <header.h>
> +#include <session.h>
> +#include <tool.h>
> +
> +#include <parse-options.h>
> +#include <trace-event.h>
> +
> +#include <debug.h>
>
> #include <sys/prctl.h>
> #include <sys/resource.h>
> diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
> index 9e9c91f..5314660 100644
> --- a/tools/perf/builtin-script.c
> +++ b/tools/perf/builtin-script.c
> @@ -1,21 +1,21 @@
> #include "builtin.h"
>
> #include "perf.h"
> -#include "util/cache.h"
> -#include "util/debug.h"
> -#include "util/exec_cmd.h"
> -#include "util/header.h"
> -#include "util/parse-options.h"
> -#include "util/session.h"
> -#include "util/tool.h"
> -#include "util/symbol.h"
> -#include "util/thread.h"
> -#include "util/trace-event.h"
> -#include "util/util.h"
> -#include "util/evlist.h"
> -#include "util/evsel.h"
> -#include "util/sort.h"
> -#include "util/data.h"
> +#include <cache.h>
> +#include <debug.h>
> +#include <exec_cmd.h>
> +#include <header.h>
> +#include <parse-options.h>
> +#include <session.h>
> +#include <tool.h>
> +#include <symbol.h>
> +#include <thread.h>
> +#include <trace-event.h>
> +#include <util.h>
> +#include <evlist.h>
> +#include <evsel.h>
> +#include <sort.h>
> +#include <data.h>
> #include <linux/bitmap.h>
>
> static char const *script_name;
> diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
> index 65a151e..cb6d6b0 100644
> --- a/tools/perf/builtin-stat.c
> +++ b/tools/perf/builtin-stat.c
> @@ -43,20 +43,20 @@
>
> #include "perf.h"
> #include "builtin.h"
> -#include "util/util.h"
> -#include "util/parse-options.h"
> -#include "util/parse-events.h"
> -#include "util/pmu.h"
> -#include "util/event.h"
> -#include "util/evlist.h"
> -#include "util/evsel.h"
> -#include "util/debug.h"
> -#include "util/color.h"
> -#include "util/stat.h"
> -#include "util/header.h"
> -#include "util/cpumap.h"
> -#include "util/thread.h"
> -#include "util/thread_map.h"
> +#include <util.h>
> +#include <parse-options.h>
> +#include <parse-events.h>
> +#include <pmu.h>
> +#include <event.h>
> +#include <evlist.h>
> +#include <evsel.h>
> +#include <debug.h>
> +#include <color.h>
> +#include <stat.h>
> +#include <header.h>
> +#include <cpumap.h>
> +#include <thread.h>
> +#include <thread_map.h>
>
> #include <stdlib.h>
> #include <sys/prctl.h>
> diff --git a/tools/perf/builtin-timechart.c b/tools/perf/builtin-timechart.c
> index 74db256..3a4e2c4 100644
> --- a/tools/perf/builtin-timechart.c
> +++ b/tools/perf/builtin-timechart.c
> @@ -16,27 +16,27 @@
>
> #include "builtin.h"
>
> -#include "util/util.h"
> +#include <util.h>
>
> -#include "util/color.h"
> +#include <color.h>
> #include <linux/list.h>
> -#include "util/cache.h"
> -#include "util/evlist.h"
> -#include "util/evsel.h"
> +#include <cache.h>
> +#include <evlist.h>
> +#include <evsel.h>
> #include <linux/rbtree.h>
> -#include "util/symbol.h"
> -#include "util/callchain.h"
> -#include "util/strlist.h"
> +#include <symbol.h>
> +#include <callchain.h>
> +#include <strlist.h>
>
> #include "perf.h"
> -#include "util/header.h"
> -#include "util/parse-options.h"
> -#include "util/parse-events.h"
> -#include "util/event.h"
> -#include "util/session.h"
> -#include "util/svghelper.h"
> -#include "util/tool.h"
> -#include "util/data.h"
> +#include <header.h>
> +#include <parse-options.h>
> +#include <parse-events.h>
> +#include <event.h>
> +#include <session.h>
> +#include <svghelper.h>
> +#include <tool.h>
> +#include <data.h>
>
> #define SUPPORT_OLD_POWER_EVENTS 1
> #define PWR_EVENT_EXIT -1
> diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
> index 377971d..3930a1a 100644
> --- a/tools/perf/builtin-top.c
> +++ b/tools/perf/builtin-top.c
> @@ -21,28 +21,28 @@
>
> #include "perf.h"
>
> -#include "util/annotate.h"
> -#include "util/cache.h"
> -#include "util/color.h"
> -#include "util/evlist.h"
> -#include "util/evsel.h"
> -#include "util/machine.h"
> -#include "util/session.h"
> -#include "util/symbol.h"
> -#include "util/thread.h"
> -#include "util/thread_map.h"
> -#include "util/top.h"
> -#include "util/util.h"
> +#include <annotate.h>
> +#include <cache.h>
> +#include <color.h>
> +#include <evlist.h>
> +#include <evsel.h>
> +#include <machine.h>
> +#include <session.h>
> +#include <symbol.h>
> +#include <thread.h>
> +#include <thread_map.h>
> +#include <top.h>
> +#include <util.h>
> #include <linux/rbtree.h>
> -#include "util/parse-options.h"
> -#include "util/parse-events.h"
> -#include "util/cpumap.h"
> -#include "util/xyarray.h"
> -#include "util/sort.h"
> -#include "util/intlist.h"
> +#include <parse-options.h>
> +#include <parse-events.h>
> +#include <cpumap.h>
> +#include <xyarray.h>
> +#include <sort.h>
> +#include <intlist.h>
> #include "arch/common.h"
>
> -#include "util/debug.h"
> +#include <debug.h>
>
> #include <assert.h>
> #include <elf.h>
> diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
> index f954c26..cd1521d 100644
> --- a/tools/perf/builtin-trace.c
> +++ b/tools/perf/builtin-trace.c
> @@ -1,18 +1,18 @@
> #include <traceevent/event-parse.h>
> #include "builtin.h"
> -#include "util/color.h"
> -#include "util/debug.h"
> -#include "util/evlist.h"
> -#include "util/machine.h"
> -#include "util/session.h"
> -#include "util/thread.h"
> -#include "util/parse-options.h"
> -#include "util/strlist.h"
> -#include "util/intlist.h"
> -#include "util/thread_map.h"
> -#include "util/stat.h"
> +#include <color.h>
> +#include <debug.h>
> +#include <evlist.h>
> +#include <machine.h>
> +#include <session.h>
> +#include <thread.h>
> +#include <parse-options.h>
> +#include <strlist.h>
> +#include <intlist.h>
> +#include <thread_map.h>
> +#include <stat.h>
> #include "trace-event.h"
> -#include "util/parse-events.h"
> +#include <parse-events.h>
>
> #include <libaudit.h>
> #include <stdlib.h>
> diff --git a/tools/perf/builtin.h b/tools/perf/builtin.h
> index b210d62..754b744 100644
> --- a/tools/perf/builtin.h
> +++ b/tools/perf/builtin.h
> @@ -1,8 +1,8 @@
> #ifndef BUILTIN_H
> #define BUILTIN_H
>
> -#include "util/util.h"
> -#include "util/strbuf.h"
> +#include <util.h>
> +#include <strbuf.h>
>
> extern const char perf_usage_string[];
> extern const char perf_more_info_string[];
> diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
> index 729bbdf..07ae04a 100644
> --- a/tools/perf/config/Makefile
> +++ b/tools/perf/config/Makefile
> @@ -247,7 +247,7 @@ ifeq ($(DEBUG),0)
> endif
> endif
>
> -CFLAGS += -I$(src-perf)/util/include
> +CFLAGS += -I$(src-perf)/../lib/perf_util/include
> CFLAGS += -I$(src-perf)/arch/$(ARCH)/include
> CFLAGS += -I$(srctree)/tools/include/
> CFLAGS += -I$(srctree)/arch/$(ARCH)/include/uapi
> @@ -255,14 +255,14 @@ CFLAGS += -I$(srctree)/arch/$(ARCH)/include
> CFLAGS += -I$(srctree)/include/uapi
> CFLAGS += -I$(srctree)/include
>
> -# $(obj-perf) for generated common-cmds.h
> -# $(obj-perf)/util for generated bison/flex headers
> +# $(obj-perf) for generated common-cmds.h
> +# $(obj-perf)/../lib/perf_util for generated bison/flex headers
> ifneq ($(OUTPUT),)
> -CFLAGS += -I$(obj-perf)/util
> +CFLAGS += -I$(obj-perf)/../lib/perf_util
> CFLAGS += -I$(obj-perf)
> endif
>
> -CFLAGS += -I$(src-perf)/util
> +CFLAGS += -I$(src-perf)/../lib/perf_util
> CFLAGS += -I$(src-perf)
> CFLAGS += -I$(LIB_INCLUDE)
>
> diff --git a/tools/perf/perf.c b/tools/perf/perf.c
> index 431798a..a556b79 100644
> --- a/tools/perf/perf.c
> +++ b/tools/perf/perf.c
> @@ -8,11 +8,11 @@
> */
> #include "builtin.h"
>
> -#include "util/exec_cmd.h"
> -#include "util/cache.h"
> -#include "util/quote.h"
> -#include "util/run-command.h"
> -#include "util/parse-events.h"
> +#include <exec_cmd.h>
> +#include <cache.h>
> +#include <quote.h>
> +#include <run-command.h>
> +#include <parse-events.h>
> #include <api/fs/debugfs.h>
> #include <pthread.h>
>
> diff --git a/tools/perf/perf.h b/tools/perf/perf.h
> index 510c65f..94133fe 100644
> --- a/tools/perf/perf.h
> +++ b/tools/perf/perf.h
> @@ -37,7 +37,7 @@ extern const char perf_version_string[];
>
> void pthread__unblock_sigwinch(void);
>
> -#include "util/target.h"
> +#include <target.h>
>
> struct record_opts {
> struct target target;
> diff --git a/tools/perf/scripts/perl/Perf-Trace-Util/Context.xs b/tools/perf/scripts/perl/Perf-Trace-Util/Context.xs
> index 8c7ea42..6456960 100644
> --- a/tools/perf/scripts/perl/Perf-Trace-Util/Context.xs
> +++ b/tools/perf/scripts/perl/Perf-Trace-Util/Context.xs
> @@ -22,8 +22,8 @@
> #include "EXTERN.h"
> #include "perl.h"
> #include "XSUB.h"
> -#include "../../../perf.h"
> -#include "../../../util/trace-event.h"
> +#include <perf.h>
> +#include <trace-event.h>
>
> MODULE = Perf::Trace::Context PACKAGE = Perf::Trace::Context
> PROTOTYPES: ENABLE
> diff --git a/tools/perf/scripts/python/Perf-Trace-Util/Context.c b/tools/perf/scripts/python/Perf-Trace-Util/Context.c
> index fcd1dd6..d3a8ecd 100644
> --- a/tools/perf/scripts/python/Perf-Trace-Util/Context.c
> +++ b/tools/perf/scripts/python/Perf-Trace-Util/Context.c
> @@ -20,8 +20,8 @@
> */
>
> #include <Python.h>
> -#include "../../../perf.h"
> -#include "../../../util/trace-event.h"
> +#include <perf.h>
> +#include <trace-event.h>
>
> PyMODINIT_FUNC initperf_trace_context(void);
>
> diff --git a/tools/perf/tests/hists_common.c b/tools/perf/tests/hists_common.c
> index a62c091..9c3369b 100644
> --- a/tools/perf/tests/hists_common.c
> +++ b/tools/perf/tests/hists_common.c
> @@ -1,11 +1,11 @@
> #include "perf.h"
> -#include "util/debug.h"
> -#include "util/symbol.h"
> -#include "util/sort.h"
> -#include "util/evsel.h"
> -#include "util/evlist.h"
> -#include "util/machine.h"
> -#include "util/thread.h"
> +#include <debug.h>
> +#include <symbol.h>
> +#include <sort.h>
> +#include <evsel.h>
> +#include <evlist.h>
> +#include <machine.h>
> +#include <thread.h>
> #include "tests/hists_common.h"
>
> static struct {
> diff --git a/tools/perf/tests/hists_cumulate.c b/tools/perf/tests/hists_cumulate.c
> index 0ac240d..bb7c555 100644
> --- a/tools/perf/tests/hists_cumulate.c
> +++ b/tools/perf/tests/hists_cumulate.c
> @@ -1,12 +1,12 @@
> #include "perf.h"
> -#include "util/debug.h"
> -#include "util/symbol.h"
> -#include "util/sort.h"
> -#include "util/evsel.h"
> -#include "util/evlist.h"
> -#include "util/machine.h"
> -#include "util/thread.h"
> -#include "util/parse-events.h"
> +#include <debug.h>
> +#include <symbol.h>
> +#include <sort.h>
> +#include <evsel.h>
> +#include <evlist.h>
> +#include <machine.h>
> +#include <thread.h>
> +#include <parse-events.h>
> #include "tests/tests.h"
> #include "tests/hists_common.h"
>
> diff --git a/tools/perf/tests/hists_filter.c b/tools/perf/tests/hists_filter.c
> index 821f581..bb3f3d0 100644
> --- a/tools/perf/tests/hists_filter.c
> +++ b/tools/perf/tests/hists_filter.c
> @@ -1,12 +1,12 @@
> #include "perf.h"
> -#include "util/debug.h"
> -#include "util/symbol.h"
> -#include "util/sort.h"
> -#include "util/evsel.h"
> -#include "util/evlist.h"
> -#include "util/machine.h"
> -#include "util/thread.h"
> -#include "util/parse-events.h"
> +#include <debug.h>
> +#include <symbol.h>
> +#include <sort.h>
> +#include <evsel.h>
> +#include <evlist.h>
> +#include <machine.h>
> +#include <thread.h>
> +#include <parse-events.h>
> #include "tests/tests.h"
> #include "tests/hists_common.h"
>
> diff --git a/tools/perf/tests/hists_output.c b/tools/perf/tests/hists_output.c
> index e3bbd6c..fd76cfa 100644
> --- a/tools/perf/tests/hists_output.c
> +++ b/tools/perf/tests/hists_output.c
> @@ -1,12 +1,12 @@
> #include "perf.h"
> -#include "util/debug.h"
> -#include "util/symbol.h"
> -#include "util/sort.h"
> -#include "util/evsel.h"
> -#include "util/evlist.h"
> -#include "util/machine.h"
> -#include "util/thread.h"
> -#include "util/parse-events.h"
> +#include <debug.h>
> +#include <symbol.h>
> +#include <sort.h>
> +#include <evsel.h>
> +#include <evlist.h>
> +#include <machine.h>
> +#include <thread.h>
> +#include <parse-events.h>
> #include "tests/tests.h"
> #include "tests/hists_common.h"
>
> diff --git a/tools/perf/tests/sw-clock.c b/tools/perf/tests/sw-clock.c
> index 983d6b8..fc99514 100644
> --- a/tools/perf/tests/sw-clock.c
> +++ b/tools/perf/tests/sw-clock.c
> @@ -4,10 +4,10 @@
> #include <sys/mman.h>
>
> #include "tests.h"
> -#include "util/evsel.h"
> -#include "util/evlist.h"
> -#include "util/cpumap.h"
> -#include "util/thread_map.h"
> +#include <evsel.h>
> +#include <evlist.h>
> +#include <cpumap.h>
> +#include <thread_map.h>
>
> #define NR_LOOPS 10000000
>
> diff --git a/tools/perf/ui/browser.c b/tools/perf/ui/browser.c
> index d11541d..5a6725d 100644
> --- a/tools/perf/ui/browser.c
> +++ b/tools/perf/ui/browser.c
> @@ -1,6 +1,6 @@
> -#include "../util.h"
> +#include <util.h>
> #include "../cache.h"
> -#include "../../perf.h"
> +#include <perf.h>
> #include "libslang.h"
> #include "ui.h"
> #include "util.h"
> diff --git a/tools/perf/ui/browsers/annotate.c b/tools/perf/ui/browsers/annotate.c
> index f0697a3..246719b 100644
> --- a/tools/perf/ui/browsers/annotate.c
> +++ b/tools/perf/ui/browsers/annotate.c
> @@ -1,14 +1,14 @@
> -#include "../../util/util.h"
> +#include <util.h>
> #include "../browser.h"
> #include "../helpline.h"
> #include "../libslang.h"
> #include "../ui.h"
> #include "../util.h"
> -#include "../../util/annotate.h"
> -#include "../../util/hist.h"
> -#include "../../util/sort.h"
> -#include "../../util/symbol.h"
> -#include "../../util/evsel.h"
> +#include <annotate.h>
> +#include <hist.h>
> +#include <sort.h>
> +#include <symbol.h>
> +#include <evsel.h>
> #include <pthread.h>
>
> struct browser_disasm_line {
> diff --git a/tools/perf/ui/browsers/header.c b/tools/perf/ui/browsers/header.c
> index 89c16b9..dfc7e7e 100644
> --- a/tools/perf/ui/browsers/header.c
> +++ b/tools/perf/ui/browsers/header.c
> @@ -1,11 +1,11 @@
> -#include "util/cache.h"
> -#include "util/debug.h"
> +#include <cache.h>
> +#include <debug.h>
> #include "ui/browser.h"
> #include "ui/ui.h"
> #include "ui/util.h"
> #include "ui/libslang.h"
> -#include "util/header.h"
> -#include "util/session.h"
> +#include <header.h>
> +#include <session.h>
>
> static void ui_browser__argv_write(struct ui_browser *browser,
> void *entry, int row)
> diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
> index 5905acd..1172945 100644
> --- a/tools/perf/ui/browsers/hists.c
> +++ b/tools/perf/ui/browsers/hists.c
> @@ -4,12 +4,12 @@
> #include <string.h>
> #include <linux/rbtree.h>
>
> -#include "../../util/evsel.h"
> -#include "../../util/evlist.h"
> -#include "../../util/hist.h"
> -#include "../../util/pstack.h"
> -#include "../../util/sort.h"
> -#include "../../util/util.h"
> +#include <evsel.h>
> +#include <evlist.h>
> +#include <hist.h>
> +#include <pstack.h>
> +#include <sort.h>
> +#include <util.h>
> #include "../../arch/common.h"
>
> #include "../browser.h"
> diff --git a/tools/perf/ui/browsers/map.c b/tools/perf/ui/browsers/map.c
> index b11639f..6970176 100644
> --- a/tools/perf/ui/browsers/map.c
> +++ b/tools/perf/ui/browsers/map.c
> @@ -4,9 +4,9 @@
> #include <sys/ttydefaults.h>
> #include <string.h>
> #include <linux/bitops.h>
> -#include "../../util/util.h"
> -#include "../../util/debug.h"
> -#include "../../util/symbol.h"
> +#include <util.h>
> +#include <debug.h>
> +#include <symbol.h>
> #include "../browser.h"
> #include "../helpline.h"
> #include "../keysyms.h"
> diff --git a/tools/perf/ui/browsers/scripts.c b/tools/perf/ui/browsers/scripts.c
> index 402d2bd..71f90db 100644
> --- a/tools/perf/ui/browsers/scripts.c
> +++ b/tools/perf/ui/browsers/scripts.c
> @@ -2,11 +2,11 @@
> #include <inttypes.h>
> #include <sys/ttydefaults.h>
> #include <string.h>
> -#include "../../util/sort.h"
> -#include "../../util/util.h"
> -#include "../../util/hist.h"
> -#include "../../util/debug.h"
> -#include "../../util/symbol.h"
> +#include <sort.h>
> +#include <util.h>
> +#include <hist.h>
> +#include <debug.h>
> +#include <symbol.h>
> #include "../browser.h"
> #include "../helpline.h"
> #include "../libslang.h"
> diff --git a/tools/perf/ui/gtk/annotate.c b/tools/perf/ui/gtk/annotate.c
> index 9c7ff8d..381714f 100644
> --- a/tools/perf/ui/gtk/annotate.c
> +++ b/tools/perf/ui/gtk/annotate.c
> @@ -1,7 +1,7 @@
> #include "gtk.h"
> -#include "util/debug.h"
> -#include "util/annotate.h"
> -#include "util/evsel.h"
> +#include <debug.h>
> +#include <annotate.h>
> +#include <evsel.h>
> #include "ui/helpline.h"
>
>
> diff --git a/tools/perf/ui/gtk/helpline.c b/tools/perf/ui/gtk/helpline.c
> index 3388cbd..c9cfe8b 100644
> --- a/tools/perf/ui/gtk/helpline.c
> +++ b/tools/perf/ui/gtk/helpline.c
> @@ -4,7 +4,7 @@
> #include "gtk.h"
> #include "../ui.h"
> #include "../helpline.h"
> -#include "../../util/debug.h"
> +#include <debug.h>
>
> static void gtk_helpline_pop(void)
> {
> diff --git a/tools/perf/ui/gtk/setup.c b/tools/perf/ui/gtk/setup.c
> index 1d57676..e2aacd2 100644
> --- a/tools/perf/ui/gtk/setup.c
> +++ b/tools/perf/ui/gtk/setup.c
> @@ -1,6 +1,6 @@
> #include "gtk.h"
> -#include "../../util/cache.h"
> -#include "../../util/debug.h"
> +#include <cache.h>
> +#include <debug.h>
>
> extern struct perf_error_ops perf_gtk_eops;
>
> diff --git a/tools/perf/ui/gtk/util.c b/tools/perf/ui/gtk/util.c
> index 52e7fc4..708cea8 100644
> --- a/tools/perf/ui/gtk/util.c
> +++ b/tools/perf/ui/gtk/util.c
> @@ -1,5 +1,5 @@
> #include "../util.h"
> -#include "../../util/debug.h"
> +#include <debug.h>
> #include "gtk.h"
>
> #include <string.h>
> diff --git a/tools/perf/ui/helpline.h b/tools/perf/ui/helpline.h
> index 46181f4..ddb8442 100644
> --- a/tools/perf/ui/helpline.h
> +++ b/tools/perf/ui/helpline.h
> @@ -4,7 +4,7 @@
> #include <stdio.h>
> #include <stdarg.h>
>
> -#include "../util/cache.h"
> +#include <cache.h>
>
> struct ui_helpline {
> void (*pop)(void);
> diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c
> index 498adb2..603c52e 100644
> --- a/tools/perf/ui/hist.c
> +++ b/tools/perf/ui/hist.c
> @@ -1,10 +1,10 @@
> #include <math.h>
> #include <linux/compiler.h>
>
> -#include "../util/hist.h"
> -#include "../util/util.h"
> -#include "../util/sort.h"
> -#include "../util/evsel.h"
> +#include <hist.h>
> +#include <util.h>
> +#include <sort.h>
> +#include <evsel.h>
>
> /* hist period print (hpp) functions */
>
> diff --git a/tools/perf/ui/setup.c b/tools/perf/ui/setup.c
> index ba51fa8..0dd2a83 100644
> --- a/tools/perf/ui/setup.c
> +++ b/tools/perf/ui/setup.c
> @@ -1,9 +1,9 @@
> #include <pthread.h>
> #include <dlfcn.h>
>
> -#include "../util/cache.h"
> -#include "../util/debug.h"
> -#include "../util/hist.h"
> +#include <cache.h>
> +#include <debug.h>
> +#include <hist.h>
>
> pthread_mutex_t ui__lock = PTHREAD_MUTEX_INITIALIZER;
> void *perf_gtk_handle;
> diff --git a/tools/perf/ui/stdio/hist.c b/tools/perf/ui/stdio/hist.c
> index 90122ab..bda3438 100644
> --- a/tools/perf/ui/stdio/hist.c
> +++ b/tools/perf/ui/stdio/hist.c
> @@ -1,9 +1,9 @@
> #include <stdio.h>
>
> -#include "../../util/util.h"
> -#include "../../util/hist.h"
> -#include "../../util/sort.h"
> -#include "../../util/evsel.h"
> +#include <util.h>
> +#include <hist.h>
> +#include <sort.h>
> +#include <evsel.h>
>
>
> static size_t callchain__fprintf_left_margin(FILE *fp, int left_margin)
> diff --git a/tools/perf/ui/tui/helpline.c b/tools/perf/ui/tui/helpline.c
> index 1c8b9af..217b137 100644
> --- a/tools/perf/ui/tui/helpline.c
> +++ b/tools/perf/ui/tui/helpline.c
> @@ -3,7 +3,7 @@
> #include <string.h>
> #include <pthread.h>
>
> -#include "../../util/debug.h"
> +#include <debug.h>
> #include "../helpline.h"
> #include "../ui.h"
> #include "../libslang.h"
> diff --git a/tools/perf/ui/tui/setup.c b/tools/perf/ui/tui/setup.c
> index 2f61256..516d65e 100644
> --- a/tools/perf/ui/tui/setup.c
> +++ b/tools/perf/ui/tui/setup.c
> @@ -1,8 +1,8 @@
> #include <signal.h>
> #include <stdbool.h>
>
> -#include "../../util/cache.h"
> -#include "../../util/debug.h"
> +#include <cache.h>
> +#include <debug.h>
> #include "../browser.h"
> #include "../helpline.h"
> #include "../ui.h"
> diff --git a/tools/perf/ui/tui/util.c b/tools/perf/ui/tui/util.c
> index bf890f7..de39ec9 100644
> --- a/tools/perf/ui/tui/util.c
> +++ b/tools/perf/ui/tui/util.c
> @@ -1,11 +1,11 @@
> -#include "../../util/util.h"
> +#include <util.h>
> #include <signal.h>
> #include <stdbool.h>
> #include <string.h>
> #include <sys/ttydefaults.h>
>
> -#include "../../util/cache.h"
> -#include "../../util/debug.h"
> +#include <cache.h>
> +#include <debug.h>
> #include "../browser.h"
> #include "../keysyms.h"
> #include "../helpline.h"
> diff --git a/tools/perf/ui/util.c b/tools/perf/ui/util.c
> index e3e0a96..1ca4c69 100644
> --- a/tools/perf/ui/util.c
> +++ b/tools/perf/ui/util.c
> @@ -1,5 +1,5 @@
> #include "util.h"
> -#include "../debug.h"
> +#include <debug.h>
>
>
> /*
> --
> 1.9.3
--
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/