[PATCH v3 0/6] perf tool: Build dependency tidy up

Ian Rogers posted 6 patches 3 weeks, 2 days ago
tools/perf/builtin-annotate.c      |  57 +++++++++------
tools/perf/builtin-c2c.c           |   1 +
tools/perf/builtin-config.c        |  18 +++--
tools/perf/builtin-help.c          |  30 ++++----
tools/perf/builtin-kvm.c           |   1 +
tools/perf/builtin-report.c        |   1 +
tools/perf/builtin-top.c           |   1 +
tools/perf/builtin.h               |   3 +
tools/perf/perf.c                  | 114 ++++++++++++++++++-----------
tools/perf/ui/browsers/annotate.c  |   1 +
tools/perf/ui/browsers/hists.c     |   1 +
tools/perf/ui/browsers/scripts.c   |   1 +
tools/perf/ui/libslang.h           |   2 +
tools/perf/util/Build              |   1 -
tools/perf/util/cache.h            |  31 --------
tools/perf/util/config.c           |  38 ++++++----
tools/perf/util/help-unknown-cmd.c |  15 +++-
tools/perf/util/hist.h             |   6 --
tools/perf/util/path.c             |  10 +--
tools/perf/util/path.h             |   6 +-
tools/perf/util/strbuf.c           |  14 ++--
tools/perf/util/usage.c            |  34 ---------
tools/perf/util/util.h             |   4 -
23 files changed, 194 insertions(+), 196 deletions(-)
delete mode 100644 tools/perf/util/cache.h
delete mode 100644 tools/perf/util/usage.c
[PATCH v3 0/6] perf tool: Build dependency tidy up
Posted by Ian Rogers 3 weeks, 2 days ago
In doing some work on bazel building of perf (bazel being stricter on
how header files are used), rather than just making the bazel BUILD
files more generous in how they accept header file issues like
transitive dependencies it felt cleaner to address them. These patches
tackle the most severe issues such as cache.h pulling in UI code,
hist.h bringing in UI code, unused header files, transitive
dependencies, etc.

While cleaning up the dependencies in perf.c, change how missing
commands are handled to give a more meaningful error message at run
time about missing build time dependencies.

v1 and v2 were previously sent just addressing the cache.h issue:
https://lore.kernel.org/linux-perf-users/20260828222045.1314766-1-irogers@google.com/

Ian Rogers (6):
  perf tool: Remove util/cache.h
  perf tool: Tidy up util/cache.h header file users
  perf tool: Remove unused includes in perf.c
  perf tool: Move usage strings and functions to perf.c
  perf tool: Add fallback stubs for missing dependencies
  perf hist: Remove keysym.h include from hist.h

 tools/perf/builtin-annotate.c      |  57 +++++++++------
 tools/perf/builtin-c2c.c           |   1 +
 tools/perf/builtin-config.c        |  18 +++--
 tools/perf/builtin-help.c          |  30 ++++----
 tools/perf/builtin-kvm.c           |   1 +
 tools/perf/builtin-report.c        |   1 +
 tools/perf/builtin-top.c           |   1 +
 tools/perf/builtin.h               |   3 +
 tools/perf/perf.c                  | 114 ++++++++++++++++++-----------
 tools/perf/ui/browsers/annotate.c  |   1 +
 tools/perf/ui/browsers/hists.c     |   1 +
 tools/perf/ui/browsers/scripts.c   |   1 +
 tools/perf/ui/libslang.h           |   2 +
 tools/perf/util/Build              |   1 -
 tools/perf/util/cache.h            |  31 --------
 tools/perf/util/config.c           |  38 ++++++----
 tools/perf/util/help-unknown-cmd.c |  15 +++-
 tools/perf/util/hist.h             |   6 --
 tools/perf/util/path.c             |  10 +--
 tools/perf/util/path.h             |   6 +-
 tools/perf/util/strbuf.c           |  14 ++--
 tools/perf/util/usage.c            |  34 ---------
 tools/perf/util/util.h             |   4 -
 23 files changed, 194 insertions(+), 196 deletions(-)
 delete mode 100644 tools/perf/util/cache.h
 delete mode 100644 tools/perf/util/usage.c

-- 
2.55.0.966.g6673acef38-goog
Re: [PATCH v3 0/6] perf tool: Build dependency tidy up
Posted by Arnaldo Carvalho de Melo 2 weeks, 3 days ago
On Wed, Sep 02, 2026 at 08:48:52AM -0700, Ian Rogers wrote:
> In doing some work on bazel building of perf (bazel being stricter on
> how header files are used), rather than just making the bazel BUILD
> files more generous in how they accept header file issues like
> transitive dependencies it felt cleaner to address them. These patches
> tackle the most severe issues such as cache.h pulling in UI code,
> hist.h bringing in UI code, unused header files, transitive
> dependencies, etc.
> 
> While cleaning up the dependencies in perf.c, change how missing
> commands are handled to give a more meaningful error message at run
> time about missing build time dependencies.
> 
> v1 and v2 were previously sent just addressing the cache.h issue:
> https://lore.kernel.org/linux-perf-users/20260828222045.1314766-1-irogers@google.com/

Thanks, applied to perf-tools-next, for v7.4.

- Arnaldo