perf python: Properly link with libtraceevent
Namhyung Kim reported that the build fails with: GEN python/perf.so gcc: error: python_ext_build/tmp//../../libtraceevent.a: No such file or directory error: command 'gcc' failed with exit status 1 cp: cannot stat `python_ext_build/lib/perf.so': No such file or directory make: *** [python/perf.so] Error 1 We need to propagate the TE_PATH variable to the setup.py file. Reported-by: Namhyung Kim <namhyung@kernel.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Link: http://lkml.kernel.org/n/tip-8umiPbm4sxpknKivbjgykhut@git.kernel.org [ Fixed superfluous variable build error. ] Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
a448a0318a
commit
45bff41a9a
3 changed files with 15 additions and 14 deletions
|
@ -184,9 +184,22 @@ SCRIPT_SH += perf-archive.sh
|
||||||
grep-libs = $(filter -l%,$(1))
|
grep-libs = $(filter -l%,$(1))
|
||||||
strip-libs = $(filter-out -l%,$(1))
|
strip-libs = $(filter-out -l%,$(1))
|
||||||
|
|
||||||
|
TRACE_EVENT_DIR = ../lib/traceevent/
|
||||||
|
|
||||||
|
ifneq ($(OUTPUT),)
|
||||||
|
TE_PATH=$(OUTPUT)
|
||||||
|
else
|
||||||
|
TE_PATH=$(TRACE_EVENT_DIR)
|
||||||
|
endif
|
||||||
|
|
||||||
|
LIBTRACEEVENT = $(TE_PATH)libtraceevent.a
|
||||||
|
TE_LIB := -L$(TE_PATH) -ltraceevent
|
||||||
|
|
||||||
PYTHON_EXT_SRCS := $(shell grep -v ^\# util/python-ext-sources)
|
PYTHON_EXT_SRCS := $(shell grep -v ^\# util/python-ext-sources)
|
||||||
PYTHON_EXT_DEPS := util/python-ext-sources util/setup.py
|
PYTHON_EXT_DEPS := util/python-ext-sources util/setup.py
|
||||||
|
|
||||||
|
export LIBTRACEEVENT
|
||||||
|
|
||||||
$(OUTPUT)python/perf.so: $(PYTHON_EXT_SRCS) $(PYTHON_EXT_DEPS)
|
$(OUTPUT)python/perf.so: $(PYTHON_EXT_SRCS) $(PYTHON_EXT_DEPS)
|
||||||
$(QUIET_GEN)CFLAGS='$(BASIC_CFLAGS)' $(PYTHON_WORD) util/setup.py \
|
$(QUIET_GEN)CFLAGS='$(BASIC_CFLAGS)' $(PYTHON_WORD) util/setup.py \
|
||||||
--quiet build_ext; \
|
--quiet build_ext; \
|
||||||
|
@ -198,17 +211,6 @@ $(OUTPUT)python/perf.so: $(PYTHON_EXT_SRCS) $(PYTHON_EXT_DEPS)
|
||||||
|
|
||||||
SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH))
|
SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH))
|
||||||
|
|
||||||
TRACE_EVENT_DIR = ../lib/traceevent/
|
|
||||||
|
|
||||||
ifneq ($(OUTPUT),)
|
|
||||||
TE_PATH=$(OUTPUT)
|
|
||||||
else
|
|
||||||
TE_PATH=$(TRACE_EVENT_DIR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
LIBTRACEEVENT = $(TE_PATH)libtraceevent.a
|
|
||||||
TE_LIB := -L$(TE_PATH) -ltraceevent
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Single 'perf' binary right now:
|
# Single 'perf' binary right now:
|
||||||
#
|
#
|
||||||
|
|
|
@ -1015,8 +1015,6 @@ PyMODINIT_FUNC initperf(void)
|
||||||
pyrf_cpu_map__setup_types() < 0)
|
pyrf_cpu_map__setup_types() < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
page_size = sysconf(_SC_PAGE_SIZE);
|
|
||||||
|
|
||||||
Py_INCREF(&pyrf_evlist__type);
|
Py_INCREF(&pyrf_evlist__type);
|
||||||
PyModule_AddObject(module, "evlist", (PyObject*)&pyrf_evlist__type);
|
PyModule_AddObject(module, "evlist", (PyObject*)&pyrf_evlist__type);
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ cflags += getenv('CFLAGS', '').split()
|
||||||
|
|
||||||
build_lib = getenv('PYTHON_EXTBUILD_LIB')
|
build_lib = getenv('PYTHON_EXTBUILD_LIB')
|
||||||
build_tmp = getenv('PYTHON_EXTBUILD_TMP')
|
build_tmp = getenv('PYTHON_EXTBUILD_TMP')
|
||||||
|
libtraceevent = getenv('LIBTRACEEVENT')
|
||||||
|
|
||||||
ext_sources = [f.strip() for f in file('util/python-ext-sources')
|
ext_sources = [f.strip() for f in file('util/python-ext-sources')
|
||||||
if len(f.strip()) > 0 and f[0] != '#']
|
if len(f.strip()) > 0 and f[0] != '#']
|
||||||
|
@ -31,7 +32,7 @@ perf = Extension('perf',
|
||||||
sources = ext_sources,
|
sources = ext_sources,
|
||||||
include_dirs = ['util/include'],
|
include_dirs = ['util/include'],
|
||||||
extra_compile_args = cflags,
|
extra_compile_args = cflags,
|
||||||
extra_objects = [build_tmp + '/../../libtraceevent.a'],
|
extra_objects = [libtraceevent],
|
||||||
)
|
)
|
||||||
|
|
||||||
setup(name='perf',
|
setup(name='perf',
|
||||||
|
|
Loading…
Reference in a new issue