perf subcmd: Create subcmd library

Move the subcommand-related files from perf to a new library named
libsubcmd.a.

Since we're moving files anyway, go ahead and rename 'exec_cmd.*' to
'exec-cmd.*' to be consistent with the naming of all the other files.

Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/c0a838d4c878ab17fee50998811612b2281355c1.1450193761.git.jpoimboe@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Josh Poimboeuf 2015-12-15 09:39:39 -06:00 коммит произвёл Arnaldo Carvalho de Melo
Родитель 2f4ce5ec1d
Коммит 4b6ab94eab
66 изменённых файлов: 129 добавлений и 68 удалений

7
tools/lib/subcmd/Build Normal file
Просмотреть файл

@ -0,0 +1,7 @@
libsubcmd-y += exec-cmd.o
libsubcmd-y += help.o
libsubcmd-y += pager.o
libsubcmd-y += parse-options.o
libsubcmd-y += run-command.o
libsubcmd-y += sigchain.o
libsubcmd-y += subcmd-config.o

48
tools/lib/subcmd/Makefile Normal file
Просмотреть файл

@ -0,0 +1,48 @@
include ../../scripts/Makefile.include
include ../../perf/config/utilities.mak # QUIET_CLEAN
ifeq ($(srctree),)
srctree := $(patsubst %/,%,$(dir $(shell pwd)))
srctree := $(patsubst %/,%,$(dir $(srctree)))
srctree := $(patsubst %/,%,$(dir $(srctree)))
#$(info Determined 'srctree' to be $(srctree))
endif
CC = $(CROSS_COMPILE)gcc
AR = $(CROSS_COMPILE)ar
RM = rm -f
MAKEFLAGS += --no-print-directory
LIBFILE = $(OUTPUT)libsubcmd.a
CFLAGS := $(EXTRA_WARNINGS) $(EXTRA_CFLAGS)
CFLAGS += -ggdb3 -Wall -Wextra -std=gnu99 -Werror -O6 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fPIC
CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
CFLAGS += -I$(srctree)/tools/include/
CFLAGS += -I$(srctree)/include/uapi
CFLAGS += -I$(srctree)/include
SUBCMD_IN := $(OUTPUT)libsubcmd-in.o
all:
export srctree OUTPUT CC LD CFLAGS V
include $(srctree)/tools/build/Makefile.include
all: fixdep $(LIBFILE)
$(SUBCMD_IN): FORCE
@$(MAKE) $(build)=libsubcmd
$(LIBFILE): $(SUBCMD_IN)
$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(SUBCMD_IN)
clean:
$(call QUIET_CLEAN, libsubcmd) $(RM) $(LIBFILE); \
find $(if $(OUTPUT),$(OUTPUT),.) -name \*.o -or -name \*.o.cmd -or -name \*.o.d | xargs $(RM)
FORCE:
.PHONY: clean FORCE

Просмотреть файл

@ -7,7 +7,7 @@
#include <stdlib.h>
#include <stdio.h>
#include "subcmd-util.h"
#include "exec_cmd.h"
#include "exec-cmd.h"
#include "subcmd-config.h"
#define MAX_ARGS 32

Просмотреть файл

Просмотреть файл

@ -9,7 +9,7 @@
#include <dirent.h>
#include "subcmd-util.h"
#include "help.h"
#include "exec_cmd.h"
#include "exec-cmd.h"
void add_cmdname(struct cmdnames *cmds, const char *name, size_t len)
{

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

@ -7,7 +7,7 @@
#include <sys/wait.h>
#include "subcmd-util.h"
#include "run-command.h"
#include "exec_cmd.h"
#include "exec-cmd.h"
#define STRERR_BUFSIZE 128

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

@ -20,6 +20,7 @@ tools/lib/traceevent
tools/lib/bpf
tools/lib/api
tools/lib/bpf
tools/lib/subcmd
tools/lib/hweight.c
tools/lib/rbtree.c
tools/lib/string.c

Просмотреть файл

@ -145,9 +145,10 @@ BISON = bison
STRIP = strip
AWK = awk
LIB_DIR = $(srctree)/tools/lib/api/
LIB_DIR = $(srctree)/tools/lib/api/
TRACE_EVENT_DIR = $(srctree)/tools/lib/traceevent/
BPF_DIR = $(srctree)/tools/lib/bpf/
BPF_DIR = $(srctree)/tools/lib/bpf/
SUBCMD_DIR = $(srctree)/tools/lib/subcmd/
# include config/Makefile by default and rule out
# non-config cases
@ -184,6 +185,7 @@ strip-libs = $(filter-out -l%,$(1))
ifneq ($(OUTPUT),)
TE_PATH=$(OUTPUT)
BPF_PATH=$(OUTPUT)
SUBCMD_PATH=$(OUTPUT)
ifneq ($(subdir),)
API_PATH=$(OUTPUT)/../lib/api/
else
@ -193,6 +195,7 @@ else
TE_PATH=$(TRACE_EVENT_DIR)
API_PATH=$(LIB_DIR)
BPF_PATH=$(BPF_DIR)
SUBCMD_PATH=$(SUBCMD_DIR)
endif
LIBTRACEEVENT = $(TE_PATH)libtraceevent.a
@ -206,6 +209,8 @@ export LIBAPI
LIBBPF = $(BPF_PATH)libbpf.a
LIBSUBCMD = $(SUBCMD_PATH)libsubcmd.a
# python extension build directories
PYTHON_EXTBUILD := $(OUTPUT)python_ext_build/
PYTHON_EXTBUILD_LIB := $(PYTHON_EXTBUILD)lib/
@ -257,7 +262,7 @@ export PERL_PATH
LIB_FILE=$(OUTPUT)libperf.a
PERFLIBS = $(LIB_FILE) $(LIBAPI) $(LIBTRACEEVENT)
PERFLIBS = $(LIB_FILE) $(LIBAPI) $(LIBTRACEEVENT) $(LIBSUBCMD)
ifndef NO_LIBBPF
PERFLIBS += $(LIBBPF)
endif
@ -437,6 +442,13 @@ $(LIBBPF)-clean:
$(call QUIET_CLEAN, libbpf)
$(Q)$(MAKE) -C $(BPF_DIR) O=$(OUTPUT) clean >/dev/null
$(LIBSUBCMD): fixdep FORCE
$(Q)$(MAKE) -C $(SUBCMD_DIR) O=$(OUTPUT) $(OUTPUT)libsubcmd.a
$(LIBSUBCMD)-clean:
$(call QUIET_CLEAN, libsubcmd)
$(Q)$(MAKE) -C $(SUBCMD_DIR) O=$(OUTPUT) clean
help:
@echo 'Perf make targets:'
@echo ' doc - make *all* documentation (see below)'
@ -584,7 +596,7 @@ config-clean:
$(call QUIET_CLEAN, config)
$(Q)$(MAKE) -C $(srctree)/tools/build/feature/ $(if $(OUTPUT),OUTPUT=$(OUTPUT)feature/,) clean >/dev/null
clean: $(LIBTRACEEVENT)-clean $(LIBAPI)-clean $(LIBBPF)-clean config-clean
clean: $(LIBTRACEEVENT)-clean $(LIBAPI)-clean $(LIBBPF)-clean $(LIBSUBCMD)-clean config-clean
$(call QUIET_CLEAN, core-objs) $(RM) $(LIB_FILE) $(OUTPUT)perf-archive $(OUTPUT)perf-with-kcore $(LANG_BINDINGS)
$(Q)find $(if $(OUTPUT),$(OUTPUT),.) -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete
$(Q)$(RM) $(OUTPUT).config-detected

Просмотреть файл

@ -26,7 +26,7 @@
#include "../../util/evlist.h"
#include "../../util/evsel.h"
#include "../../util/cpumap.h"
#include "../../util/parse-options.h"
#include <subcmd/parse-options.h>
#include "../../util/parse-events.h"
#include "../../util/pmu.h"
#include "../../util/debug.h"

Просмотреть файл

@ -11,7 +11,7 @@
#include "../perf.h"
#include "../util/util.h"
#include "../util/stat.h"
#include "../util/parse-options.h"
#include <subcmd/parse-options.h>
#include "../util/header.h"
#include "bench.h"
#include "futex.h"

Просмотреть файл

@ -5,7 +5,7 @@
#include "../perf.h"
#include "../util/util.h"
#include "../util/stat.h"
#include "../util/parse-options.h"
#include <subcmd/parse-options.h>
#include "../util/header.h"
#include "bench.h"
#include "futex.h"

Просмотреть файл

@ -11,7 +11,7 @@
#include "../perf.h"
#include "../util/util.h"
#include "../util/stat.h"
#include "../util/parse-options.h"
#include <subcmd/parse-options.h>
#include "../util/header.h"
#include "bench.h"
#include "futex.h"

Просмотреть файл

@ -10,7 +10,7 @@
#include "../perf.h"
#include "../util/util.h"
#include "../util/stat.h"
#include "../util/parse-options.h"
#include <subcmd/parse-options.h>
#include "../util/header.h"
#include "bench.h"
#include "futex.h"

Просмотреть файл

@ -11,7 +11,7 @@
#include "../perf.h"
#include "../util/util.h"
#include "../util/stat.h"
#include "../util/parse-options.h"
#include <subcmd/parse-options.h>
#include "../util/header.h"
#include "bench.h"
#include "futex.h"

Просмотреть файл

@ -8,7 +8,7 @@
#include "../perf.h"
#include "../util/util.h"
#include "../util/parse-options.h"
#include <subcmd/parse-options.h>
#include "../util/header.h"
#include "../util/cloexec.h"
#include "bench.h"

Просмотреть файл

@ -7,7 +7,7 @@
#include "../perf.h"
#include "../builtin.h"
#include "../util/util.h"
#include "../util/parse-options.h"
#include <subcmd/parse-options.h>
#include "../util/cloexec.h"
#include "bench.h"

Просмотреть файл

@ -11,7 +11,7 @@
#include "../perf.h"
#include "../util/util.h"
#include "../util/parse-options.h"
#include <subcmd/parse-options.h>
#include "../builtin.h"
#include "bench.h"

Просмотреть файл

@ -10,7 +10,7 @@
*/
#include "../perf.h"
#include "../util/util.h"
#include "../util/parse-options.h"
#include <subcmd/parse-options.h>
#include "../builtin.h"
#include "bench.h"

Просмотреть файл

@ -21,7 +21,7 @@
#include "util/evsel.h"
#include "util/annotate.h"
#include "util/event.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/parse-events.h"
#include "util/thread.h"
#include "util/sort.h"

Просмотреть файл

@ -16,7 +16,7 @@
*/
#include "perf.h"
#include "util/util.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "builtin.h"
#include "bench/bench.h"

Просмотреть файл

@ -16,7 +16,7 @@
#include "util/cache.h"
#include "util/debug.h"
#include "util/header.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/strlist.h"
#include "util/build-id.h"
#include "util/session.h"

Просмотреть файл

@ -12,7 +12,7 @@
#include "util/build-id.h"
#include "util/cache.h"
#include "util/debug.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/session.h"
#include "util/symbol.h"
#include "util/data.h"

Просмотреть файл

@ -9,7 +9,7 @@
#include "perf.h"
#include "util/cache.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/util.h"
#include "util/debug.h"

Просмотреть файл

@ -2,7 +2,7 @@
#include "builtin.h"
#include "perf.h"
#include "debug.h"
#include "parse-options.h"
#include <subcmd/parse-options.h>
#include "data-convert-bt.h"
typedef int (*data_cmd_fn_t)(int argc, const char **argv, const char *prefix);

Просмотреть файл

@ -12,7 +12,7 @@
#include "util/evlist.h"
#include "util/evsel.h"
#include "util/parse-events.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/session.h"
#include "util/data.h"
#include "util/debug.h"

Просмотреть файл

@ -6,11 +6,11 @@
#include "perf.h"
#include "util/cache.h"
#include "builtin.h"
#include "util/exec_cmd.h"
#include <subcmd/exec-cmd.h>
#include "common-cmds.h"
#include "util/parse-options.h"
#include "util/run-command.h"
#include "util/help.h"
#include <subcmd/parse-options.h>
#include <subcmd/run-command.h>
#include <subcmd/help.h>
#include "util/debug.h"
static struct man_viewer_list {

Просмотреть файл

@ -18,7 +18,7 @@
#include "util/data.h"
#include "util/auxtrace.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include <linux/list.h>

Просмотреть файл

@ -12,7 +12,7 @@
#include "util/tool.h"
#include "util/callchain.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/trace-event.h"
#include "util/data.h"
#include "util/cpumap.h"

Просмотреть файл

@ -10,7 +10,7 @@
#include "util/header.h"
#include "util/session.h"
#include "util/intlist.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/trace-event.h"
#include "util/debug.h"
#include "util/tool.h"

Просмотреть файл

@ -14,7 +14,7 @@
#include "util/parse-events.h"
#include "util/cache.h"
#include "util/pmu.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
int cmd_list(int argc, const char **argv, const char *prefix __maybe_unused)
{

Просмотреть файл

@ -9,7 +9,7 @@
#include "util/thread.h"
#include "util/header.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/trace-event.h"
#include "util/debug.h"

Просмотреть файл

@ -1,7 +1,7 @@
#include "builtin.h"
#include "perf.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/trace-event.h"
#include "util/tool.h"
#include "util/session.h"

Просмотреть файл

@ -37,7 +37,7 @@
#include "util/strfilter.h"
#include "util/symbol.h"
#include "util/debug.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/probe-finder.h"
#include "util/probe-event.h"
#include "util/probe-file.h"

Просмотреть файл

@ -11,7 +11,7 @@
#include "util/build-id.h"
#include "util/util.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/parse-events.h"
#include "util/callchain.h"

Просмотреть файл

@ -27,7 +27,7 @@
#include "util/session.h"
#include "util/tool.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/parse-events.h"
#include "util/thread.h"

Просмотреть файл

@ -12,7 +12,7 @@
#include "util/tool.h"
#include "util/cloexec.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/trace-event.h"
#include "util/debug.h"

Просмотреть файл

@ -3,9 +3,9 @@
#include "perf.h"
#include "util/cache.h"
#include "util/debug.h"
#include "util/exec_cmd.h"
#include <subcmd/exec-cmd.h>
#include "util/header.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/perf_regs.h"
#include "util/session.h"
#include "util/tool.h"

Просмотреть файл

@ -45,7 +45,7 @@
#include "builtin.h"
#include "util/cgroup.h"
#include "util/util.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/parse-events.h"
#include "util/pmu.h"
#include "util/event.h"

Просмотреть файл

@ -30,7 +30,7 @@
#include "perf.h"
#include "util/header.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/parse-events.h"
#include "util/event.h"
#include "util/session.h"

Просмотреть файл

@ -34,7 +34,7 @@
#include "util/top.h"
#include "util/util.h"
#include <linux/rbtree.h>
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/parse-events.h"
#include "util/cpumap.h"
#include "util/xyarray.h"

Просмотреть файл

@ -22,11 +22,11 @@
#include "util/color.h"
#include "util/debug.h"
#include "util/evlist.h"
#include "util/exec_cmd.h"
#include <subcmd/exec-cmd.h>
#include "util/machine.h"
#include "util/session.h"
#include "util/thread.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/strlist.h"
#include "util/intlist.h"
#include "util/thread_map.h"

Просмотреть файл

@ -9,12 +9,12 @@
#include "builtin.h"
#include "util/env.h"
#include "util/exec_cmd.h"
#include <subcmd/exec-cmd.h>
#include "util/cache.h"
#include "util/quote.h"
#include "util/run-command.h"
#include <subcmd/run-command.h>
#include "util/parse-events.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/bpf-loader.h"
#include "util/debug.h"
#include <api/fs/tracing_path.h>

Просмотреть файл

@ -24,7 +24,7 @@
#include <linux/kernel.h>
#include "../perf.h"
#include "util.h"
#include "exec_cmd.h"
#include <subcmd/exec-cmd.h>
#include "tests.h"
#define ENV "PERF_TEST_ATTR"

Просмотреть файл

@ -11,7 +11,7 @@
#include "tests.h"
#include "debug.h"
#include "color.h"
#include "parse-options.h"
#include <subcmd/parse-options.h>
#include "symbol.h"
struct test __weak arch_tests[] = {

Просмотреть файл

@ -9,13 +9,10 @@ libperf-y += env.o
libperf-y += event.o
libperf-y += evlist.o
libperf-y += evsel.o
libperf-y += exec_cmd.o
libperf-y += find_next_bit.o
libperf-y += help.o
libperf-y += kallsyms.o
libperf-y += levenshtein.o
libperf-y += llvm-utils.o
libperf-y += parse-options.o
libperf-y += parse-events.o
libperf-y += perf_regs.o
libperf-y += path.o
@ -23,7 +20,6 @@ libperf-y += rbtree.o
libperf-y += libstring.o
libperf-y += bitmap.o
libperf-y += hweight.o
libperf-y += run-command.o
libperf-y += quote.o
libperf-y += strbuf.o
libperf-y += string.o
@ -32,11 +28,9 @@ libperf-y += strfilter.o
libperf-y += top.o
libperf-y += usage.o
libperf-y += wrapper.o
libperf-y += sigchain.o
libperf-y += dso.o
libperf-y += symbol.o
libperf-y += color.o
libperf-y += pager.o
libperf-y += header.o
libperf-y += callchain.o
libperf-y += values.o
@ -88,7 +82,6 @@ libperf-y += parse-branch-options.o
libperf-y += parse-regs-options.o
libperf-y += term.o
libperf-y += help-unknown-cmd.o
libperf-y += subcmd-config.o
libperf-$(CONFIG_LIBBPF) += bpf-loader.o
libperf-$(CONFIG_BPF_PROLOGUE) += bpf-prologue.o

Просмотреть файл

@ -45,7 +45,7 @@
#include "event.h"
#include "session.h"
#include "debug.h"
#include "parse-options.h"
#include <subcmd/parse-options.h>
#include "intel-pt.h"
#include "intel-bts.h"

Просмотреть файл

@ -4,7 +4,7 @@
#include <stdbool.h>
#include "util.h"
#include "strbuf.h"
#include "pager.h"
#include <subcmd/pager.h>
#include "../perf.h"
#include "../ui/ui.h"

Просмотреть файл

@ -1,6 +1,6 @@
#include "util.h"
#include "../perf.h"
#include "parse-options.h"
#include <subcmd/parse-options.h>
#include "evsel.h"
#include "cgroup.h"
#include "evlist.h"

Просмотреть файл

@ -10,7 +10,7 @@
*/
#include "util.h"
#include "cache.h"
#include "exec_cmd.h"
#include <subcmd/exec-cmd.h>
#include "util/hist.h" /* perf_hist_config */
#include "util/llvm-utils.h" /* perf_llvm_config */

Просмотреть файл

@ -18,7 +18,7 @@
#include <unistd.h>
#include "parse-events.h"
#include "parse-options.h"
#include <subcmd/parse-options.h>
#include <sys/mman.h>

Просмотреть файл

@ -1,5 +1,5 @@
#include "cache.h"
#include "help.h"
#include <subcmd/help.h>
#include "../builtin.h"
#include "levenshtein.h"

Просмотреть файл

@ -1,7 +1,7 @@
#include "perf.h"
#include "util/util.h"
#include "util/debug.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/parse-branch-options.h"
#define BRANCH_OPT(n, m) \

Просмотреть файл

@ -4,9 +4,9 @@
#include "../perf.h"
#include "evlist.h"
#include "evsel.h"
#include "parse-options.h"
#include <subcmd/parse-options.h>
#include "parse-events.h"
#include "exec_cmd.h"
#include <subcmd/exec-cmd.h>
#include "string.h"
#include "symbol.h"
#include "cache.h"

Просмотреть файл

@ -1,7 +1,7 @@
#include "perf.h"
#include "util/util.h"
#include "util/debug.h"
#include "util/parse-options.h"
#include <subcmd/parse-options.h>
#include "util/parse-regs-options.h"
int

Просмотреть файл

@ -18,7 +18,7 @@
#include "debug.h"
#include "header.h"
#include "parse-options.h"
#include <subcmd/parse-options.h>
#include "parse-events.h"
#include "hist.h"
#include "thread.h"