Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf ui: Make ui its own library

Make the ui code its own library. This is done to avoid compiling code
twice, once for the perf tool and once for the perf python module.

Signed-off-by: Ian Rogers <irogers@google.com>
Reviewed-by: James Clark <james.clark@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Albert Ou <aou@eecs.berkeley.edu>
Cc: Nick Terrell <terrelln@fb.com>
Cc: Gary Guo <gary@garyguo.net>
Cc: Alex Gaynor <alex.gaynor@gmail.com>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Wedson Almeida Filho <wedsonaf@gmail.com>
Cc: Ze Gao <zegao2021@gmail.com>
Cc: Alice Ryhl <aliceryhl@google.com>
Cc: Andrei Vagin <avagin@google.com>
Cc: Yicong Yang <yangyicong@hisilicon.com>
Cc: Jonathan Cameron <jonathan.cameron@huawei.com>
Cc: Guo Ren <guoren@kernel.org>
Cc: Miguel Ojeda <ojeda@kernel.org>
Cc: Will Deacon <will@kernel.org>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Leo Yan <leo.yan@linux.dev>
Cc: Oliver Upton <oliver.upton@linux.dev>
Cc: John Garry <john.g.garry@oracle.com>
Cc: Benno Lossin <benno.lossin@proton.me>
Cc: Björn Roy Baron <bjorn3_gh@protonmail.com>
Cc: Andreas Hindborg <a.hindborg@samsung.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20240625214117.953777-3-irogers@google.com

authored by

Ian Rogers and committed by
Namhyung Kim
39f3ce5c 7f240209

+31 -21
+1 -1
tools/perf/Build
··· 55 55 56 56 perf-y += util/ 57 57 perf-y += arch/ 58 - perf-y += ui/ 58 + perf-ui-y += ui/ 59 59 perf-y += scripts/ 60 60 61 61 gtk-y += ui/gtk/
+10
tools/perf/Makefile.perf
··· 425 425 426 426 export PERL_PATH 427 427 428 + LIBPERF_UI_IN := $(OUTPUT)perf-ui-in.o 429 + LIBPERF_UI := $(OUTPUT)libperf-ui.a 430 + 428 431 PERFLIBS = $(LIBAPI) $(LIBPERF) $(LIBSUBCMD) $(LIBSYMBOL) 429 432 ifdef LIBBPF_STATIC 430 433 PERFLIBS += $(LIBBPF) 431 434 endif 435 + PERFLIBS += $(LIBPERF_UI) 432 436 433 437 # We choose to avoid "if .. else if .. else .. endif endif" 434 438 # because maintaining the nesting to match is a pain. If ··· 732 728 733 729 $(PMU_EVENTS_IN): FORCE prepare 734 730 $(Q)$(MAKE) -f $(srctree)/tools/build/Makefile.build dir=pmu-events obj=pmu-events 731 + 732 + $(LIBPERF_UI_IN): FORCE prepare 733 + $(Q)$(MAKE) $(build)=perf-ui 734 + 735 + $(LIBPERF_UI): $(LIBPERF_UI_IN) 736 + $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $< 735 737 736 738 $(OUTPUT)perf: $(PERFLIBS) $(PERF_IN) $(PMU_EVENTS_IN) 737 739 $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) \
+9 -9
tools/perf/ui/Build
··· 1 - perf-y += setup.o 2 - perf-y += helpline.o 3 - perf-y += progress.o 4 - perf-y += util.o 5 - perf-y += hist.o 6 - perf-y += stdio/hist.o 1 + perf-ui-y += setup.o 2 + perf-ui-y += helpline.o 3 + perf-ui-y += progress.o 4 + perf-ui-y += util.o 5 + perf-ui-y += hist.o 6 + perf-ui-y += stdio/hist.o 7 7 8 8 CFLAGS_setup.o += -DLIBDIR="BUILD_STR($(LIBDIR))" 9 9 10 - perf-$(CONFIG_SLANG) += browser.o 11 - perf-$(CONFIG_SLANG) += browsers/ 12 - perf-$(CONFIG_SLANG) += tui/ 10 + perf-ui-$(CONFIG_SLANG) += browser.o 11 + perf-ui-$(CONFIG_SLANG) += browsers/ 12 + perf-ui-$(CONFIG_SLANG) += tui/
+7 -7
tools/perf/ui/browsers/Build
··· 1 - perf-y += annotate.o 2 - perf-y += annotate-data.o 3 - perf-y += hists.o 4 - perf-y += map.o 5 - perf-y += scripts.o 6 - perf-y += header.o 7 - perf-y += res_sample.o 1 + perf-ui-y += annotate.o 2 + perf-ui-y += annotate-data.o 3 + perf-ui-y += hists.o 4 + perf-ui-y += map.o 5 + perf-ui-y += scripts.o 6 + perf-ui-y += header.o 7 + perf-ui-y += res_sample.o
+4 -4
tools/perf/ui/tui/Build
··· 1 - perf-y += setup.o 2 - perf-y += util.o 3 - perf-y += helpline.o 4 - perf-y += progress.o 1 + perf-ui-y += setup.o 2 + perf-ui-y += util.o 3 + perf-ui-y += helpline.o 4 + perf-ui-y += progress.o