mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
perf tools: Introduce tools/lib/lk library
This introduces the tools/lib/lk library, that will gradually have the routines that now are used in tools/perf/ and other tools and that can be shared. Start by carving out debugfs routines for general use. Signed-off-by: Borislav Petkov <bp@suse.de> Cc: Ingo Molnar <mingo@kernel.org> Cc: Steven Rostedt <rostedt@goodmis.org> Link: http://lkml.kernel.org/r/1361374353-30385-5-git-send-email-bp@alien8.de [ committer note: Add tools/lib/lk/ to perf's MANIFEST so that its tarballs continue to build ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
9687b89d21
commit
85c66be101
@ -33,7 +33,13 @@ help:
|
|||||||
cpupower: FORCE
|
cpupower: FORCE
|
||||||
$(call descend,power/$@)
|
$(call descend,power/$@)
|
||||||
|
|
||||||
firewire lguest perf usb virtio vm: FORCE
|
firewire guest usb virtio vm: FORCE
|
||||||
|
$(call descend,$@)
|
||||||
|
|
||||||
|
liblk: FORCE
|
||||||
|
$(call descend,lib/lk)
|
||||||
|
|
||||||
|
perf: liblk FORCE
|
||||||
$(call descend,$@)
|
$(call descend,$@)
|
||||||
|
|
||||||
selftests: FORCE
|
selftests: FORCE
|
||||||
@ -61,7 +67,13 @@ install: cpupower_install firewire_install lguest_install perf_install \
|
|||||||
cpupower_clean:
|
cpupower_clean:
|
||||||
$(call descend,power/cpupower,clean)
|
$(call descend,power/cpupower,clean)
|
||||||
|
|
||||||
firewire_clean lguest_clean perf_clean usb_clean virtio_clean vm_clean:
|
firewire_clean lguest_clean usb_clean virtio_clean vm_clean:
|
||||||
|
$(call descend,$(@:_clean=),clean)
|
||||||
|
|
||||||
|
liblk_clean:
|
||||||
|
$(call descend,lib/lk,clean)
|
||||||
|
|
||||||
|
perf_clean: liblk_clean
|
||||||
$(call descend,$(@:_clean=),clean)
|
$(call descend,$(@:_clean=),clean)
|
||||||
|
|
||||||
selftests_clean:
|
selftests_clean:
|
||||||
|
35
tools/lib/lk/Makefile
Normal file
35
tools/lib/lk/Makefile
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
include ../../scripts/Makefile.include
|
||||||
|
|
||||||
|
# guard against environment variables
|
||||||
|
LIB_H=
|
||||||
|
LIB_OBJS=
|
||||||
|
|
||||||
|
LIB_H += debugfs.h
|
||||||
|
|
||||||
|
LIB_OBJS += $(OUTPUT)debugfs.o
|
||||||
|
|
||||||
|
LIBFILE = liblk.a
|
||||||
|
|
||||||
|
CFLAGS = -ggdb3 -Wall -Wextra -std=gnu99 -Werror $(CFLAGS_OPTIMIZE) -D_FORTIFY_SOURCE=2 $(EXTRA_WARNINGS) $(EXTRA_CFLAGS) -fPIC
|
||||||
|
EXTLIBS = -lpthread -lrt -lelf -lm
|
||||||
|
ALL_CFLAGS = $(CFLAGS) $(BASIC_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
|
||||||
|
ALL_LDFLAGS = $(LDFLAGS)
|
||||||
|
|
||||||
|
RM = rm -f
|
||||||
|
|
||||||
|
$(LIBFILE): $(LIB_OBJS)
|
||||||
|
$(QUIET_AR)$(RM) $@ && $(AR) rcs $(OUTPUT)$@ $(LIB_OBJS)
|
||||||
|
|
||||||
|
$(LIB_OBJS): $(LIB_H)
|
||||||
|
|
||||||
|
$(OUTPUT)%.o: %.c
|
||||||
|
$(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
|
||||||
|
$(OUTPUT)%.s: %.c
|
||||||
|
$(QUIET_CC)$(CC) -S $(ALL_CFLAGS) $<
|
||||||
|
$(OUTPUT)%.o: %.S
|
||||||
|
$(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(RM) $(LIB_OBJS) $(LIBFILE)
|
||||||
|
|
||||||
|
.PHONY: clean
|
@ -1,14 +1,19 @@
|
|||||||
#include "util.h"
|
#include <errno.h>
|
||||||
#include "debugfs.h"
|
#include <stdio.h>
|
||||||
#include "cache.h"
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
#include <linux/kernel.h>
|
#include <stdbool.h>
|
||||||
|
#include <sys/vfs.h>
|
||||||
#include <sys/mount.h>
|
#include <sys/mount.h>
|
||||||
|
#include <linux/magic.h>
|
||||||
|
#include <linux/kernel.h>
|
||||||
|
|
||||||
|
#include "debugfs.h"
|
||||||
|
|
||||||
char debugfs_mountpoint[PATH_MAX + 1] = "/sys/kernel/debug";
|
char debugfs_mountpoint[PATH_MAX + 1] = "/sys/kernel/debug";
|
||||||
char tracing_events_path[PATH_MAX + 1] = "/sys/kernel/debug/tracing/events";
|
char tracing_events_path[PATH_MAX + 1] = "/sys/kernel/debug/tracing/events";
|
||||||
|
|
||||||
static const char *debugfs_known_mountpoints[] = {
|
static const char * const debugfs_known_mountpoints[] = {
|
||||||
"/sys/kernel/debug/",
|
"/sys/kernel/debug/",
|
||||||
"/debug/",
|
"/debug/",
|
||||||
0,
|
0,
|
||||||
@ -19,12 +24,12 @@ static bool debugfs_found;
|
|||||||
/* find the path to the mounted debugfs */
|
/* find the path to the mounted debugfs */
|
||||||
const char *debugfs_find_mountpoint(void)
|
const char *debugfs_find_mountpoint(void)
|
||||||
{
|
{
|
||||||
const char **ptr;
|
const char * const *ptr;
|
||||||
char type[100];
|
char type[100];
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
|
||||||
if (debugfs_found)
|
if (debugfs_found)
|
||||||
return (const char *) debugfs_mountpoint;
|
return (const char *)debugfs_mountpoint;
|
||||||
|
|
||||||
ptr = debugfs_known_mountpoints;
|
ptr = debugfs_known_mountpoints;
|
||||||
while (*ptr) {
|
while (*ptr) {
|
31
tools/lib/lk/debugfs.h
Normal file
31
tools/lib/lk/debugfs.h
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
#ifndef __LK_DEBUGFS_H__
|
||||||
|
#define __LK_DEBUGFS_H__
|
||||||
|
|
||||||
|
#define _STR(x) #x
|
||||||
|
#define STR(x) _STR(x)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* On most systems <limits.h> would have given us this, but not on some systems
|
||||||
|
* (e.g. GNU/Hurd).
|
||||||
|
*/
|
||||||
|
#ifndef PATH_MAX
|
||||||
|
#define PATH_MAX 4096
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef DEBUGFS_MAGIC
|
||||||
|
#define DEBUGFS_MAGIC 0x64626720
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PERF_DEBUGFS_ENVIRONMENT
|
||||||
|
#define PERF_DEBUGFS_ENVIRONMENT "PERF_DEBUGFS_DIR"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const char *debugfs_find_mountpoint(void);
|
||||||
|
int debugfs_valid_mountpoint(const char *debugfs);
|
||||||
|
char *debugfs_mount(const char *mountpoint);
|
||||||
|
void debugfs_set_path(const char *mountpoint);
|
||||||
|
|
||||||
|
extern char debugfs_mountpoint[];
|
||||||
|
extern char tracing_events_path[];
|
||||||
|
|
||||||
|
#endif /* __LK_DEBUGFS_H__ */
|
@ -1,6 +1,7 @@
|
|||||||
tools/perf
|
tools/perf
|
||||||
tools/scripts
|
tools/scripts
|
||||||
tools/lib/traceevent
|
tools/lib/traceevent
|
||||||
|
tools/lib/lk
|
||||||
include/linux/const.h
|
include/linux/const.h
|
||||||
include/linux/perf_event.h
|
include/linux/perf_event.h
|
||||||
include/linux/rbtree.h
|
include/linux/rbtree.h
|
||||||
|
@ -215,6 +215,7 @@ BASIC_CFLAGS = \
|
|||||||
-Iutil \
|
-Iutil \
|
||||||
-I. \
|
-I. \
|
||||||
-I$(TRACE_EVENT_DIR) \
|
-I$(TRACE_EVENT_DIR) \
|
||||||
|
-I../lib/ \
|
||||||
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
|
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
|
||||||
|
|
||||||
BASIC_LDFLAGS =
|
BASIC_LDFLAGS =
|
||||||
@ -240,19 +241,28 @@ 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))
|
||||||
|
|
||||||
|
LK_DIR = ../lib/lk/
|
||||||
TRACE_EVENT_DIR = ../lib/traceevent/
|
TRACE_EVENT_DIR = ../lib/traceevent/
|
||||||
|
|
||||||
|
LK_PATH=$(LK_DIR)
|
||||||
|
|
||||||
ifneq ($(OUTPUT),)
|
ifneq ($(OUTPUT),)
|
||||||
TE_PATH=$(OUTPUT)
|
TE_PATH=$(OUTPUT)
|
||||||
|
ifneq ($(subdir),)
|
||||||
|
LK_PATH=$(OUTPUT)$(LK_DIR)
|
||||||
|
else
|
||||||
|
LK_PATH=$(OUTPUT)
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
TE_PATH=$(TRACE_EVENT_DIR)
|
TE_PATH=$(TRACE_EVENT_DIR)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LIBTRACEEVENT = $(TE_PATH)libtraceevent.a
|
LIBTRACEEVENT = $(TE_PATH)libtraceevent.a
|
||||||
TE_LIB := -L$(TE_PATH) -ltraceevent
|
|
||||||
|
|
||||||
export LIBTRACEEVENT
|
export LIBTRACEEVENT
|
||||||
|
|
||||||
|
LIBLK = $(LK_PATH)liblk.a
|
||||||
|
export LIBLK
|
||||||
|
|
||||||
# python extension build directories
|
# python extension build directories
|
||||||
PYTHON_EXTBUILD := $(OUTPUT)python_ext_build/
|
PYTHON_EXTBUILD := $(OUTPUT)python_ext_build/
|
||||||
PYTHON_EXTBUILD_LIB := $(PYTHON_EXTBUILD)lib/
|
PYTHON_EXTBUILD_LIB := $(PYTHON_EXTBUILD)lib/
|
||||||
@ -355,7 +365,6 @@ LIB_H += util/cache.h
|
|||||||
LIB_H += util/callchain.h
|
LIB_H += util/callchain.h
|
||||||
LIB_H += util/build-id.h
|
LIB_H += util/build-id.h
|
||||||
LIB_H += util/debug.h
|
LIB_H += util/debug.h
|
||||||
LIB_H += util/debugfs.h
|
|
||||||
LIB_H += util/sysfs.h
|
LIB_H += util/sysfs.h
|
||||||
LIB_H += util/pmu.h
|
LIB_H += util/pmu.h
|
||||||
LIB_H += util/event.h
|
LIB_H += util/event.h
|
||||||
@ -416,7 +425,6 @@ LIB_OBJS += $(OUTPUT)util/annotate.o
|
|||||||
LIB_OBJS += $(OUTPUT)util/build-id.o
|
LIB_OBJS += $(OUTPUT)util/build-id.o
|
||||||
LIB_OBJS += $(OUTPUT)util/config.o
|
LIB_OBJS += $(OUTPUT)util/config.o
|
||||||
LIB_OBJS += $(OUTPUT)util/ctype.o
|
LIB_OBJS += $(OUTPUT)util/ctype.o
|
||||||
LIB_OBJS += $(OUTPUT)util/debugfs.o
|
|
||||||
LIB_OBJS += $(OUTPUT)util/sysfs.o
|
LIB_OBJS += $(OUTPUT)util/sysfs.o
|
||||||
LIB_OBJS += $(OUTPUT)util/pmu.o
|
LIB_OBJS += $(OUTPUT)util/pmu.o
|
||||||
LIB_OBJS += $(OUTPUT)util/environment.o
|
LIB_OBJS += $(OUTPUT)util/environment.o
|
||||||
@ -536,7 +544,7 @@ BUILTIN_OBJS += $(OUTPUT)builtin-kvm.o
|
|||||||
BUILTIN_OBJS += $(OUTPUT)builtin-inject.o
|
BUILTIN_OBJS += $(OUTPUT)builtin-inject.o
|
||||||
BUILTIN_OBJS += $(OUTPUT)tests/builtin-test.o
|
BUILTIN_OBJS += $(OUTPUT)tests/builtin-test.o
|
||||||
|
|
||||||
PERFLIBS = $(LIB_FILE) $(LIBTRACEEVENT)
|
PERFLIBS = $(LIB_FILE) $(LIBLK) $(LIBTRACEEVENT)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Platform specific tweaks
|
# Platform specific tweaks
|
||||||
@ -1051,6 +1059,18 @@ $(LIBTRACEEVENT):
|
|||||||
$(LIBTRACEEVENT)-clean:
|
$(LIBTRACEEVENT)-clean:
|
||||||
$(QUIET_SUBDIR0)$(TRACE_EVENT_DIR) $(QUIET_SUBDIR1) O=$(OUTPUT) clean
|
$(QUIET_SUBDIR0)$(TRACE_EVENT_DIR) $(QUIET_SUBDIR1) O=$(OUTPUT) clean
|
||||||
|
|
||||||
|
# if subdir is set, we've been called from above so target has been built
|
||||||
|
# already
|
||||||
|
$(LIBLK):
|
||||||
|
ifeq ($(subdir),)
|
||||||
|
$(QUIET_SUBDIR0)$(LK_DIR) $(QUIET_SUBDIR1) O=$(OUTPUT) liblk.a
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(LIBLK)-clean:
|
||||||
|
ifeq ($(subdir),)
|
||||||
|
$(QUIET_SUBDIR0)$(LK_DIR) $(QUIET_SUBDIR1) O=$(OUTPUT) clean
|
||||||
|
endif
|
||||||
|
|
||||||
help:
|
help:
|
||||||
@echo 'Perf make targets:'
|
@echo 'Perf make targets:'
|
||||||
@echo ' doc - make *all* documentation (see below)'
|
@echo ' doc - make *all* documentation (see below)'
|
||||||
@ -1171,7 +1191,7 @@ $(INSTALL_DOC_TARGETS):
|
|||||||
|
|
||||||
### Cleaning rules
|
### Cleaning rules
|
||||||
|
|
||||||
clean: $(LIBTRACEEVENT)-clean
|
clean: $(LIBTRACEEVENT)-clean $(LIBLK)-clean
|
||||||
$(RM) $(LIB_OBJS) $(BUILTIN_OBJS) $(LIB_FILE) $(OUTPUT)perf-archive $(OUTPUT)perf.o $(LANG_BINDINGS)
|
$(RM) $(LIB_OBJS) $(BUILTIN_OBJS) $(LIB_FILE) $(OUTPUT)perf-archive $(OUTPUT)perf.o $(LANG_BINDINGS)
|
||||||
$(RM) $(ALL_PROGRAMS) perf
|
$(RM) $(ALL_PROGRAMS) perf
|
||||||
$(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope*
|
$(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope*
|
||||||
@ -1181,6 +1201,6 @@ clean: $(LIBTRACEEVENT)-clean
|
|||||||
$(RM) $(OUTPUT)util/*-flex*
|
$(RM) $(OUTPUT)util/*-flex*
|
||||||
$(python-clean)
|
$(python-clean)
|
||||||
|
|
||||||
.PHONY: all install clean strip $(LIBTRACEEVENT)
|
.PHONY: all install clean strip $(LIBTRACEEVENT) $(LIBLK)
|
||||||
.PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell
|
.PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell
|
||||||
.PHONY: .FORCE-PERF-VERSION-FILE TAGS tags cscope .FORCE-PERF-CFLAGS
|
.PHONY: .FORCE-PERF-VERSION-FILE TAGS tags cscope .FORCE-PERF-CFLAGS
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
#include "util/parse-options.h"
|
#include "util/parse-options.h"
|
||||||
#include "util/trace-event.h"
|
#include "util/trace-event.h"
|
||||||
#include "util/debug.h"
|
#include "util/debug.h"
|
||||||
#include "util/debugfs.h"
|
#include <lk/debugfs.h>
|
||||||
#include "util/tool.h"
|
#include "util/tool.h"
|
||||||
#include "util/stat.h"
|
#include "util/stat.h"
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
#include "util/strfilter.h"
|
#include "util/strfilter.h"
|
||||||
#include "util/symbol.h"
|
#include "util/symbol.h"
|
||||||
#include "util/debug.h"
|
#include "util/debug.h"
|
||||||
#include "util/debugfs.h"
|
#include <lk/debugfs.h>
|
||||||
#include "util/parse-options.h"
|
#include "util/parse-options.h"
|
||||||
#include "util/probe-finder.h"
|
#include "util/probe-finder.h"
|
||||||
#include "util/probe-event.h"
|
#include "util/probe-event.h"
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
#include "util/quote.h"
|
#include "util/quote.h"
|
||||||
#include "util/run-command.h"
|
#include "util/run-command.h"
|
||||||
#include "util/parse-events.h"
|
#include "util/parse-events.h"
|
||||||
#include "util/debugfs.h"
|
#include <lk/debugfs.h>
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
|
|
||||||
const char perf_usage_string[] =
|
const char perf_usage_string[] =
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
#include "evsel.h"
|
#include "evsel.h"
|
||||||
#include "evlist.h"
|
#include "evlist.h"
|
||||||
#include "sysfs.h"
|
#include "sysfs.h"
|
||||||
#include "debugfs.h"
|
#include <lk/debugfs.h>
|
||||||
#include "tests.h"
|
#include "tests.h"
|
||||||
#include <linux/hw_breakpoint.h>
|
#include <linux/hw_breakpoint.h>
|
||||||
|
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
#ifndef __DEBUGFS_H__
|
|
||||||
#define __DEBUGFS_H__
|
|
||||||
|
|
||||||
const char *debugfs_find_mountpoint(void);
|
|
||||||
int debugfs_valid_mountpoint(const char *debugfs);
|
|
||||||
char *debugfs_mount(const char *mountpoint);
|
|
||||||
void debugfs_set_path(const char *mountpoint);
|
|
||||||
|
|
||||||
extern char debugfs_mountpoint[];
|
|
||||||
extern char tracing_events_path[];
|
|
||||||
|
|
||||||
#endif /* __DEBUGFS_H__ */
|
|
@ -7,7 +7,7 @@
|
|||||||
* Released under the GPL v2. (and only v2, not any later version)
|
* Released under the GPL v2. (and only v2, not any later version)
|
||||||
*/
|
*/
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "debugfs.h"
|
#include <lk/debugfs.h>
|
||||||
#include <poll.h>
|
#include <poll.h>
|
||||||
#include "cpumap.h"
|
#include "cpumap.h"
|
||||||
#include "thread_map.h"
|
#include "thread_map.h"
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include <byteswap.h>
|
#include <byteswap.h>
|
||||||
#include <linux/bitops.h>
|
#include <linux/bitops.h>
|
||||||
#include "asm/bug.h"
|
#include "asm/bug.h"
|
||||||
#include "debugfs.h"
|
#include <lk/debugfs.h>
|
||||||
#include "event-parse.h"
|
#include "event-parse.h"
|
||||||
#include "evsel.h"
|
#include "evsel.h"
|
||||||
#include "evlist.h"
|
#include "evlist.h"
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include "symbol.h"
|
#include "symbol.h"
|
||||||
#include "cache.h"
|
#include "cache.h"
|
||||||
#include "header.h"
|
#include "header.h"
|
||||||
#include "debugfs.h"
|
#include <lk/debugfs.h>
|
||||||
#include "parse-events-bison.h"
|
#include "parse-events-bison.h"
|
||||||
#define YY_EXTRA_TYPE int
|
#define YY_EXTRA_TYPE int
|
||||||
#include "parse-events-flex.h"
|
#include "parse-events-flex.h"
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
#include "color.h"
|
#include "color.h"
|
||||||
#include "symbol.h"
|
#include "symbol.h"
|
||||||
#include "thread.h"
|
#include "thread.h"
|
||||||
#include "debugfs.h"
|
#include <lk/debugfs.h>
|
||||||
#include "trace-event.h" /* For __maybe_unused */
|
#include "trace-event.h" /* For __maybe_unused */
|
||||||
#include "probe-event.h"
|
#include "probe-event.h"
|
||||||
#include "probe-finder.h"
|
#include "probe-finder.h"
|
||||||
|
@ -15,7 +15,6 @@ util/thread_map.c
|
|||||||
util/util.c
|
util/util.c
|
||||||
util/xyarray.c
|
util/xyarray.c
|
||||||
util/cgroup.c
|
util/cgroup.c
|
||||||
util/debugfs.c
|
|
||||||
util/rblist.c
|
util/rblist.c
|
||||||
util/strlist.c
|
util/strlist.c
|
||||||
util/sysfs.c
|
util/sysfs.c
|
||||||
|
@ -24,6 +24,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')
|
libtraceevent = getenv('LIBTRACEEVENT')
|
||||||
|
liblk = getenv('LIBLK')
|
||||||
|
|
||||||
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] != '#']
|
||||||
@ -32,7 +33,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 = [libtraceevent],
|
extra_objects = [libtraceevent, liblk],
|
||||||
)
|
)
|
||||||
|
|
||||||
setup(name='perf',
|
setup(name='perf',
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
|
|
||||||
#include "../perf.h"
|
#include "../perf.h"
|
||||||
#include "trace-event.h"
|
#include "trace-event.h"
|
||||||
#include "debugfs.h"
|
#include <lk/debugfs.h>
|
||||||
#include "evsel.h"
|
#include "evsel.h"
|
||||||
|
|
||||||
#define VERSION "0.5"
|
#define VERSION "0.5"
|
||||||
|
Loading…
Reference in New Issue
Block a user