mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-03 23:58:05 +00:00
perf build: Fix python/perf.so library's name
Since Python 3.3 extensions have a suffix encoding platform and version information. For example, the perf extension was previously perf.so but now maybe perf.cpython-310-x86_64-linux-gnu.so. Compute the extension using Python and then use this in the target name. Doing this avoids the "perf.so" target always being rebuilt. Signed-off-by: Ian Rogers <irogers@google.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Anshuman Khandual <anshuman.khandual@arm.com> Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com> Cc: Eelco Chaudron <echaudro@redhat.com> Cc: German Gomez <german.gomez@arm.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Clark <james.clark@arm.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Kim Phillips <kim.phillips@amd.com> Cc: Leo Yan <leo.yan@linaro.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Riccardo Mancini <rickyman7@gmail.com> Cc: Sandipan Das <sandipan.das@amd.com> Cc: Sean Christopherson <seanjc@google.com> Cc: Shaomin Deng <dengshaomin@cdjrlc.com> Cc: Stephane Eranian <eranian@google.com> Cc: Timothy Hayes <timothy.hayes@arm.com> Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com> Cc: bpf@vger.kernel.org Link: https://lore.kernel.org/r/20221213232651.1269909-2-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
9440ebdc33
commit
caec54705a
2 changed files with 4 additions and 2 deletions
|
@ -871,6 +871,7 @@ define disable-python_code
|
||||||
NO_LIBPYTHON := 1
|
NO_LIBPYTHON := 1
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
PYTHON_EXTENSION_SUFFIX := '.so'
|
||||||
ifdef NO_LIBPYTHON
|
ifdef NO_LIBPYTHON
|
||||||
$(call disable-python,Python support disabled by user)
|
$(call disable-python,Python support disabled by user)
|
||||||
else
|
else
|
||||||
|
@ -889,7 +890,8 @@ else
|
||||||
else
|
else
|
||||||
LDFLAGS += $(PYTHON_EMBED_LDFLAGS)
|
LDFLAGS += $(PYTHON_EMBED_LDFLAGS)
|
||||||
EXTLIBS += $(PYTHON_EMBED_LIBADD)
|
EXTLIBS += $(PYTHON_EMBED_LIBADD)
|
||||||
LANG_BINDINGS += $(obj-perf)python/perf.so
|
PYTHON_EXTENSION_SUFFIX := $(shell $(PYTHON) -c 'from importlib import machinery; print(machinery.EXTENSION_SUFFIXES[0])')
|
||||||
|
LANG_BINDINGS += $(obj-perf)python/perf$(PYTHON_EXTENSION_SUFFIX)
|
||||||
CFLAGS += -DHAVE_LIBPYTHON_SUPPORT
|
CFLAGS += -DHAVE_LIBPYTHON_SUPPORT
|
||||||
$(call detected,CONFIG_LIBPYTHON)
|
$(call detected,CONFIG_LIBPYTHON)
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -647,7 +647,7 @@ all: shell_compatibility_test $(ALL_PROGRAMS) $(LANG_BINDINGS) $(OTHER_PROGRAMS)
|
||||||
# Create python binding output directory if not already present
|
# Create python binding output directory if not already present
|
||||||
_dummy := $(shell [ -d '$(OUTPUT)python' ] || mkdir -p '$(OUTPUT)python')
|
_dummy := $(shell [ -d '$(OUTPUT)python' ] || mkdir -p '$(OUTPUT)python')
|
||||||
|
|
||||||
$(OUTPUT)python/perf.so: $(PYTHON_EXT_SRCS) $(PYTHON_EXT_DEPS) $(LIBPERF)
|
$(OUTPUT)python/perf$(PYTHON_EXTENSION_SUFFIX): $(PYTHON_EXT_SRCS) $(PYTHON_EXT_DEPS) $(LIBPERF)
|
||||||
$(QUIET_GEN)LDSHARED="$(CC) -pthread -shared" \
|
$(QUIET_GEN)LDSHARED="$(CC) -pthread -shared" \
|
||||||
CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' \
|
CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' \
|
||||||
$(PYTHON_WORD) util/setup.py \
|
$(PYTHON_WORD) util/setup.py \
|
||||||
|
|
Loading…
Reference in a new issue