[PATCH v2 0/4] perf use system libtraceevent

From: Ian Rogers
Date: Wed Nov 30 2022 - 01:29:56 EST


Detect whether libtraceevent is installed and if so build against
it. If not installed, warn and build a subset of perf that works
without libtraceevent. With nothing using the now out-of-date
tools/lib/traceevent remove it.

Discussed on LKML here:
https://lore.kernel.org/lkml/CAP-5=fWxAjEia-Qbm0RVzKOxyiod8rUOBieqaGK=DtQboDe3Qw@xxxxxxxxxxxxxx/

Builds upon:
https://lore.kernel.org/lkml/20221116224631.207631-1-irogers@xxxxxxxxxx/

Based on discussion of the v1 patch set:
https://lore.kernel.org/lkml/20221117224952.358639-1-irogers@xxxxxxxxxx/
v2 conditionally compiles a subset of perf that doesn't require
libtraceevent to avoid having to have libtraceevent installed on a
system.

The changes build upon the fix in:
https://lore.kernel.org/lkml/20221129192924.1580537-1-irogers@xxxxxxxxxx/

Ian Rogers (4):
perf util: Make header guard consistent with tool
perf util: Add host_is_bigendian to util.h
perf build: Use libtraceevent from the system
tools lib traceevent: Remove libtraceevent

tools/lib/traceevent/.gitignore | 4 -
tools/lib/traceevent/Build | 8 -
tools/lib/traceevent/Documentation/Makefile | 207 -
.../traceevent/Documentation/asciidoc.conf | 120 -
.../Documentation/libtraceevent-commands.txt | 153 -
.../Documentation/libtraceevent-cpus.txt | 77 -
.../libtraceevent-endian_read.txt | 78 -
.../libtraceevent-event_find.txt | 103 -
.../Documentation/libtraceevent-event_get.txt | 99 -
.../libtraceevent-event_list.txt | 122 -
.../libtraceevent-event_print.txt | 130 -
.../libtraceevent-field_find.txt | 118 -
.../libtraceevent-field_get_val.txt | 122 -
.../libtraceevent-field_print.txt | 126 -
.../libtraceevent-field_read.txt | 81 -
.../Documentation/libtraceevent-fields.txt | 105 -
.../libtraceevent-file_endian.txt | 91 -
.../Documentation/libtraceevent-filter.txt | 209 -
.../Documentation/libtraceevent-func_apis.txt | 183 -
.../Documentation/libtraceevent-func_find.txt | 88 -
.../Documentation/libtraceevent-handle.txt | 101 -
.../libtraceevent-header_page.txt | 102 -
.../libtraceevent-host_endian.txt | 104 -
.../Documentation/libtraceevent-long_size.txt | 78 -
.../Documentation/libtraceevent-page_size.txt | 82 -
.../libtraceevent-parse_event.txt | 90 -
.../libtraceevent-parse_head.txt | 82 -
.../Documentation/libtraceevent-plugins.txt | 122 -
.../libtraceevent-record_parse.txt | 137 -
.../libtraceevent-reg_event_handler.txt | 156 -
.../libtraceevent-reg_print_func.txt | 155 -
.../Documentation/libtraceevent-set_flag.txt | 104 -
.../Documentation/libtraceevent-strerror.txt | 85 -
.../Documentation/libtraceevent-tseq.txt | 158 -
.../Documentation/libtraceevent.txt | 192 -
.../traceevent/Documentation/manpage-1.72.xsl | 14 -
.../traceevent/Documentation/manpage-base.xsl | 35 -
.../Documentation/manpage-bold-literal.xsl | 17 -
.../Documentation/manpage-normal.xsl | 13 -
.../Documentation/manpage-suppress-sp.xsl | 21 -
tools/lib/traceevent/Makefile | 300 -
tools/lib/traceevent/event-parse-api.c | 333 -
tools/lib/traceevent/event-parse-local.h | 123 -
tools/lib/traceevent/event-parse.c | 7624 -----------------
tools/lib/traceevent/event-parse.h | 750 --
tools/lib/traceevent/event-plugin.c | 711 --
tools/lib/traceevent/event-utils.h | 67 -
tools/lib/traceevent/kbuffer-parse.c | 809 --
tools/lib/traceevent/kbuffer.h | 68 -
.../lib/traceevent/libtraceevent.pc.template | 10 -
tools/lib/traceevent/parse-filter.c | 2281 -----
tools/lib/traceevent/parse-utils.c | 71 -
tools/lib/traceevent/plugins/Build | 12 -
tools/lib/traceevent/plugins/Makefile | 225 -
.../lib/traceevent/plugins/plugin_cfg80211.c | 43 -
.../lib/traceevent/plugins/plugin_function.c | 282 -
tools/lib/traceevent/plugins/plugin_futex.c | 123 -
tools/lib/traceevent/plugins/plugin_hrtimer.c | 74 -
tools/lib/traceevent/plugins/plugin_jbd2.c | 61 -
tools/lib/traceevent/plugins/plugin_kmem.c | 80 -
tools/lib/traceevent/plugins/plugin_kvm.c | 527 --
.../lib/traceevent/plugins/plugin_mac80211.c | 88 -
.../traceevent/plugins/plugin_sched_switch.c | 146 -
tools/lib/traceevent/plugins/plugin_scsi.c | 434 -
tools/lib/traceevent/plugins/plugin_tlb.c | 66 -
tools/lib/traceevent/plugins/plugin_xen.c | 138 -
tools/lib/traceevent/tep_strerror.c | 53 -
tools/lib/traceevent/trace-seq.c | 249 -
tools/lib/traceevent/trace-seq.h | 55 -
tools/perf/Build | 11 +-
tools/perf/Makefile.config | 37 +-
tools/perf/Makefile.perf | 99 +-
tools/perf/arch/x86/util/Build | 2 +-
tools/perf/arch/x86/util/intel-pt.c | 4 +
tools/perf/builtin-annotate.c | 2 +
tools/perf/builtin-inject.c | 8 +
tools/perf/builtin-kmem.c | 1 +
tools/perf/builtin-kvm.c | 12 +-
tools/perf/builtin-kwork.c | 1 +
tools/perf/builtin-record.c | 2 +
tools/perf/builtin-report.c | 9 +-
tools/perf/builtin-script.c | 19 +-
tools/perf/builtin-timechart.c | 1 +
tools/perf/builtin-trace.c | 5 +-
tools/perf/builtin-version.c | 1 +
tools/perf/perf.c | 24 +-
.../perf/scripts/python/Perf-Trace-Util/Build | 2 +-
tools/perf/tests/Build | 12 +-
tools/perf/tests/builtin-test.c | 6 +
tools/perf/tests/code-reading.c | 4 +-
tools/perf/tests/parse-events.c | 20 +
tools/perf/tests/sample-parsing.c | 4 +-
tools/perf/util/Build | 10 +-
tools/perf/util/data-convert-bt.c | 5 +-
tools/perf/util/data-convert-json.c | 9 +-
tools/perf/util/evlist.c | 6 +-
tools/perf/util/evlist.h | 4 +
tools/perf/util/evsel.c | 16 +-
tools/perf/util/evsel.h | 12 +-
tools/perf/util/evsel_fprintf.c | 7 +-
tools/perf/util/header.c | 19 +
tools/perf/util/header.h | 2 +
tools/perf/util/intel-pt.c | 7 +-
tools/perf/util/parse-events.c | 15 +
tools/perf/util/parse-events.h | 1 -
tools/perf/util/python.c | 4 +
tools/perf/util/scripting-engines/Build | 6 +-
.../scripting-engines/trace-event-python.c | 1 +
tools/perf/util/session.c | 2 +
tools/perf/util/session.h | 2 +
tools/perf/util/sort.c | 60 +-
tools/perf/util/synthetic-events.c | 6 +
tools/perf/util/trace-event-info.c | 14 +-
tools/perf/util/trace-event-parse.c | 2 +
tools/perf/util/trace-event-read.c | 4 +-
tools/perf/util/trace-event-scripting.c | 1 +
tools/perf/util/trace-event.c | 1 -
tools/perf/util/trace-event.h | 13 +-
tools/perf/util/util.h | 25 +-
119 files changed, 344 insertions(+), 20071 deletions(-)
delete mode 100644 tools/lib/traceevent/.gitignore
delete mode 100644 tools/lib/traceevent/Build
delete mode 100644 tools/lib/traceevent/Documentation/Makefile
delete mode 100644 tools/lib/traceevent/Documentation/asciidoc.conf
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-commands.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-cpus.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-endian_read.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-event_find.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-event_get.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-event_list.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-event_print.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-field_find.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-field_get_val.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-field_print.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-field_read.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-fields.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-file_endian.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-filter.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-func_apis.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-func_find.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-handle.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-header_page.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-host_endian.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-long_size.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-page_size.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-parse_event.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-parse_head.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-plugins.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-record_parse.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-reg_event_handler.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-reg_print_func.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-set_flag.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-strerror.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent-tseq.txt
delete mode 100644 tools/lib/traceevent/Documentation/libtraceevent.txt
delete mode 100644 tools/lib/traceevent/Documentation/manpage-1.72.xsl
delete mode 100644 tools/lib/traceevent/Documentation/manpage-base.xsl
delete mode 100644 tools/lib/traceevent/Documentation/manpage-bold-literal.xsl
delete mode 100644 tools/lib/traceevent/Documentation/manpage-normal.xsl
delete mode 100644 tools/lib/traceevent/Documentation/manpage-suppress-sp.xsl
delete mode 100644 tools/lib/traceevent/Makefile
delete mode 100644 tools/lib/traceevent/event-parse-api.c
delete mode 100644 tools/lib/traceevent/event-parse-local.h
delete mode 100644 tools/lib/traceevent/event-parse.c
delete mode 100644 tools/lib/traceevent/event-parse.h
delete mode 100644 tools/lib/traceevent/event-plugin.c
delete mode 100644 tools/lib/traceevent/event-utils.h
delete mode 100644 tools/lib/traceevent/kbuffer-parse.c
delete mode 100644 tools/lib/traceevent/kbuffer.h
delete mode 100644 tools/lib/traceevent/libtraceevent.pc.template
delete mode 100644 tools/lib/traceevent/parse-filter.c
delete mode 100644 tools/lib/traceevent/parse-utils.c
delete mode 100644 tools/lib/traceevent/plugins/Build
delete mode 100644 tools/lib/traceevent/plugins/Makefile
delete mode 100644 tools/lib/traceevent/plugins/plugin_cfg80211.c
delete mode 100644 tools/lib/traceevent/plugins/plugin_function.c
delete mode 100644 tools/lib/traceevent/plugins/plugin_futex.c
delete mode 100644 tools/lib/traceevent/plugins/plugin_hrtimer.c
delete mode 100644 tools/lib/traceevent/plugins/plugin_jbd2.c
delete mode 100644 tools/lib/traceevent/plugins/plugin_kmem.c
delete mode 100644 tools/lib/traceevent/plugins/plugin_kvm.c
delete mode 100644 tools/lib/traceevent/plugins/plugin_mac80211.c
delete mode 100644 tools/lib/traceevent/plugins/plugin_sched_switch.c
delete mode 100644 tools/lib/traceevent/plugins/plugin_scsi.c
delete mode 100644 tools/lib/traceevent/plugins/plugin_tlb.c
delete mode 100644 tools/lib/traceevent/plugins/plugin_xen.c
delete mode 100644 tools/lib/traceevent/tep_strerror.c
delete mode 100644 tools/lib/traceevent/trace-seq.c
delete mode 100644 tools/lib/traceevent/trace-seq.h

--
2.38.1.584.g0f3c55d4c2-goog