From: "Vladislav Valtchev (VMware)" <vladislav.valtchev@gmail.com>
To: rostedt@goodmis.org
Cc: linux-trace-devel@vger.kernel.org, y.karadz@gmail.com,
"Vladislav Valtchev (VMware)" <vladislav.valtchev@gmail.com>
Subject: [PATCH v2 13/24] trace-cmd: Move python-related files in python/
Date: Tue, 6 Feb 2018 10:48:55 +0200 [thread overview]
Message-ID: <20180206084906.9854-14-vladislav.valtchev@gmail.com> (raw)
In-Reply-To: <20180206084906.9854-1-vladislav.valtchev@gmail.com>
This patch moves all the files related with trace-cmd's python support to a
dedicated directory, as part of a bigger restructuring plan of trace-cmd's code
base. The build system has been updated to support this new directory structure
by adding a separate Makefile in python/ and by making the parent Makefile to
invoke it.
Signed-off-by: Vladislav Valtchev (VMware) <vladislav.valtchev@gmail.com>
---
Makefile | 42 +++++++++----------------------
python/Makefile | 40 +++++++++++++++++++++++++++++
ctracecmd.i => python/ctracecmd.i | 0
ctracecmdgui.i => python/ctracecmdgui.i | 0
event-viewer.py => python/event-viewer.py | 0
tracecmd.py => python/tracecmd.py | 0
tracecmdgui.py => python/tracecmdgui.py | 0
7 files changed, 52 insertions(+), 30 deletions(-)
create mode 100644 python/Makefile
rename ctracecmd.i => python/ctracecmd.i (100%)
rename ctracecmdgui.i => python/ctracecmdgui.i (100%)
rename event-viewer.py => python/event-viewer.py (100%)
rename tracecmd.py => python/tracecmd.py (100%)
rename tracecmdgui.py => python/tracecmdgui.py (100%)
diff --git a/Makefile b/Makefile
index 2dfb8fd..b1f4c2c 100644
--- a/Makefile
+++ b/Makefile
@@ -113,13 +113,12 @@ PYTHON_VERS ?= python
ifeq ($(shell sh -c "pkg-config --cflags $(PYTHON_VERS) > /dev/null 2>&1 && which swig && echo y"), y)
PYTHON_PLUGINS := plugin_python.so
BUILD_PYTHON := $(PYTHON) $(PYTHON_PLUGINS)
- PYTHON_SO_INSTALL := ctracecmd.install
- PYTHON_PY_PROGS := event-viewer.install
- PYTHON_PY_LIBS := tracecmd.install tracecmdgui.install
+ BUILD_PYTHON_WORKS := 1
endif
endif # NO_PYTHON
export PYTHON_PLUGINS
+export BUILD_PYTHON_WORKS
# $(call test-build, snippet, ret) -> ret if snippet compiles
# -> empty otherwise
@@ -176,6 +175,7 @@ LIBTRACECMD_SHARED = $(LIBTRACECMD_DIR)/libtracecmd.so
export LIBS
export LIBTRACEEVENT_DIR LIBTRACECMD_DIR
+export LIBTRACECMD_STATIC LIBTRACECMD_SHARED
CONFIG_INCLUDES =
CONFIG_LIBS =
@@ -248,10 +248,6 @@ $(obj)/%.o: $(src)/%.c
%.o: $(src)/%.c
$(Q)$(call do_compile)
-TRACE_VIEW_OBJS =
-TRACE_VIEW_OBJS += $(obj)/kernel-shark/trace-view.o
-TRACE_VIEW_OBJS += $(obj)/kernel-shark/trace-view-store.o
-
TRACE_CMD_OBJS = trace-cmd.o trace-record.o trace-read.o trace-split.o trace-listen.o \
trace-stack.o trace-hist.o trace-mem.o trace-snapshot.o trace-stat.o \
trace-profile.o trace-stream.o trace-record.o trace-restore.o \
@@ -372,19 +368,8 @@ cscope: force
install_plugins: force
$(Q)$(MAKE) -C $(src)/plugins $@
-$(PYTHON_SO_INSTALL): %.install : %.so force
- $(Q)$(call do_install_data,$<,$(python_dir_SQ))
-
-$(PYTHON_PY_PROGS): %.install : %.py force
- $(Q)$(call do_install,$<,$(python_dir_SQ))
-
-$(PYTHON_PY_LIBS): %.install : %.py force
- $(Q)$(call do_install_data,$<,$(python_dir_SQ))
-
-$(PYTHON_PY_PLUGINS): %.install : %.py force
- $(Q)$(call do_install_data,$<,$(plugin_dir_SQ))
-
-install_python: $(PYTHON_SO_INSTALL) $(PYTHON_PY_PROGS) $(PYTHON_PY_LIBS) $(PYTHON_PY_PLUGINS)
+install_python: force
+ $(Q)$(MAKE) -C $(src)/python $@
install_bash_completion: force
$(Q)$(call do_install_data,trace-cmd.bash,$(BASH_COMPLETE_DIR))
@@ -417,19 +402,20 @@ install_doc:
$(MAKE) -C $(src)/Documentation install
clean:
- $(RM) *.o *~ $(TARGETS) *.a *.so ctracecmd_wrap.c .*.d
+ $(RM) *.o *~ $(TARGETS) *.a *.so .*.d
$(RM) tags TAGS cscope*
$(MAKE) -C $(src)/lib/traceevent clean
$(MAKE) -C $(src)/lib/trace-cmd clean
$(MAKE) -C $(src)/kernel-shark clean
$(MAKE) -C $(src)/plugins clean
+ $(MAKE) -C $(src)/python clean
##### PYTHON STUFF #####
report_noswig: force
$(Q)echo
- $(Q)echo " NO_PYTHON forced: swig not installed, not compling python plugins"
+ $(Q)echo " NO_PYTHON forced: swig not installed, not compiling python plugins"
$(Q)echo
PYTHON_INCLUDES = `pkg-config --cflags $(PYTHON_VERS)`
@@ -441,15 +427,11 @@ export PYTHON_INCLUDES
export PYTHON_LDFLAGS
export PYGTK_CFLAGS
-ctracecmd.so: $(TCMD_LIB_OBJS) ctracecmd.i
- swig -Wall -python -noproxy -I$(src)/include/traceevent -I$(src)/include/trace-cmd ctracecmd.i
- $(CC) -fpic -c $(CPPFLAGS) $(CFLAGS) $(PYTHON_INCLUDES) ctracecmd_wrap.c
- $(CC) --shared $(LIBTRACECMD_STATIC) $(LDFLAGS) ctracecmd_wrap.o -o ctracecmd.so
+ctracecmd.so: force $(LIBTRACECMD_STATIC)
+ $(Q)$(MAKE) -C $(src)/python $@
-ctracecmdgui.so: trace-view $(LIBTRACECMD_STATIC)
- swig -Wall -python -noproxy -I$(src)/kernel-shark/include ctracecmdgui.i
- $(CC) -fpic -c $(CPPFLAGS) $(CFLAGS) $(INCLUDES) $(PYTHON_INCLUDES) $(PYGTK_CFLAGS) ctracecmdgui_wrap.c
- $(CC) --shared $(TRACE_VIEW_OBJS) $(LIBTRACECMD_STATIC) $(LDFLAGS) $(LIBS) $(CONFIG_LIBS) ctracecmdgui_wrap.o -o ctracecmdgui.so
+ctracecmdgui.so: force $(LIBTRACECMD_STATIC) trace-view
+ $(Q)$(MAKE) -C $(src)/python $@
PHONY += python
python: $(PYTHON)
diff --git a/python/Makefile b/python/Makefile
new file mode 100644
index 0000000..b07c0d8
--- /dev/null
+++ b/python/Makefile
@@ -0,0 +1,40 @@
+include $(src)/scripts/utils.mk
+
+TRACE_VIEW_OBJS =
+TRACE_VIEW_OBJS += $(obj)/kernel-shark/trace-view.o
+TRACE_VIEW_OBJS += $(obj)/kernel-shark/trace-view-store.o
+
+ifdef BUILD_PYTHON_WORKS
+PYTHON_SO_INSTALL := ctracecmd.install
+PYTHON_PY_PROGS := event-viewer.install
+PYTHON_PY_LIBS := tracecmd.install tracecmdgui.install
+endif
+
+ctracecmd.so: ctracecmd.i $(LIBTRACECMD_STATIC)
+ swig -Wall -python -noproxy -I$(src)/include/traceevent -I$(src)/include/trace-cmd ctracecmd.i
+ $(CC) -fpic -c $(CPPFLAGS) $(CFLAGS) $(PYTHON_INCLUDES) ctracecmd_wrap.c
+ $(CC) --shared $(LIBTRACECMD_STATIC) $(LDFLAGS) ctracecmd_wrap.o -o ctracecmd.so
+
+ctracecmdgui.so: ctracecmdgui.i $(LIBTRACECMD_STATIC) $(TRACE_VIEW_OBJS)
+ swig -Wall -python -noproxy -I$(src)/kernel-shark/include ctracecmdgui.i
+ $(CC) -fpic -c $(CPPFLAGS) $(CFLAGS) $(INCLUDES) $(PYTHON_INCLUDES) $(PYGTK_CFLAGS) ctracecmdgui_wrap.c
+ $(CC) --shared $(TRACE_VIEW_OBJS) $(LIBTRACECMD_STATIC) $(LDFLAGS) $(LIBS) $(CONFIG_LIBS) ctracecmdgui_wrap.o -o ctracecmdgui.so
+
+
+$(PYTHON_SO_INSTALL): %.install : %.so force
+ $(Q)$(call do_install_data,$<,$(python_dir_SQ))
+
+$(PYTHON_PY_PROGS): %.install : %.py force
+ $(Q)$(call do_install,$<,$(python_dir_SQ))
+
+$(PYTHON_PY_LIBS): %.install : %.py force
+ $(Q)$(call do_install_data,$<,$(python_dir_SQ))
+
+install_python: $(PYTHON_SO_INSTALL) $(PYTHON_PY_PROGS) $(PYTHON_PY_LIBS)
+
+
+clean:
+ $(RM) *.a *.so *.o .*.d ctracecmd_wrap.* ctracecmdgui_wrap.*
+
+force:
+.PHONY: clean force
diff --git a/ctracecmd.i b/python/ctracecmd.i
similarity index 100%
rename from ctracecmd.i
rename to python/ctracecmd.i
diff --git a/ctracecmdgui.i b/python/ctracecmdgui.i
similarity index 100%
rename from ctracecmdgui.i
rename to python/ctracecmdgui.i
diff --git a/event-viewer.py b/python/event-viewer.py
similarity index 100%
rename from event-viewer.py
rename to python/event-viewer.py
diff --git a/tracecmd.py b/python/tracecmd.py
similarity index 100%
rename from tracecmd.py
rename to python/tracecmd.py
diff --git a/tracecmdgui.py b/python/tracecmdgui.py
similarity index 100%
rename from tracecmdgui.py
rename to python/tracecmdgui.py
--
2.14.1
next prev parent reply other threads:[~2018-02-06 8:49 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-06 8:48 [PATCH v2 00/24] trace-cmd: restructure the project's source tree Vladislav Valtchev (VMware)
2018-02-06 8:48 ` [PATCH v2 01/24] trace-cmd: Rename libparsevent to libtraceevent Vladislav Valtchev (VMware)
2018-02-06 8:48 ` [PATCH v2 02/24] trace-cmd: Move libtraceevent headers in include/traceevent Vladislav Valtchev (VMware)
2018-02-06 8:48 ` [PATCH v2 03/24] trace-cmd: Move trace-cmd headers in include/trace-cmd Vladislav Valtchev (VMware)
2018-02-06 8:48 ` [PATCH v2 04/24] trace-cmd: Move event-utils.h in lib/traceevent/include Vladislav Valtchev (VMware)
2018-02-06 8:48 ` [PATCH v2 05/24] trace-cmd: Extract part of Makefile in scripts/utils.mk Vladislav Valtchev (VMware)
2018-02-06 8:48 ` [PATCH v2 06/24] trace-cmd: Move libtraceevent *.c files in lib/traceevent Vladislav Valtchev (VMware)
2018-02-06 8:48 ` [PATCH v2 07/24] trace-cmd: Move trace-hash-local.h in lib/trace-cmd/include Vladislav Valtchev (VMware)
2018-02-06 8:48 ` [PATCH v2 08/24] trace-cmd: Move libtracecmd *.c files in lib/trace-cmd Vladislav Valtchev (VMware)
2018-02-06 8:48 ` [PATCH v2 09/24] trace-cmd: Move GUI headers in kernel-shark/include Vladislav Valtchev (VMware)
2018-02-06 8:48 ` [PATCH v2 10/24] trace-cmd: Move GUI *.c files in kernel-shark/ Vladislav Valtchev (VMware)
2018-02-06 8:48 ` [PATCH v2 11/24] trace-cmd: Move plugin_* files in plugins/ Vladislav Valtchev (VMware)
2018-02-06 8:48 ` [PATCH v2 12/24] trace-cmd: Fix the broken target ctracecmdgui.so Vladislav Valtchev (VMware)
2018-02-06 8:48 ` Vladislav Valtchev (VMware) [this message]
2018-02-07 19:22 ` [PATCH v2 13/24] trace-cmd: Move python-related files in python/ Steven Rostedt
2018-02-07 19:36 ` Steven Rostedt
2018-02-08 7:17 ` Vladislav K. Valtchev
2018-02-07 20:11 ` Steven Rostedt
2018-02-08 7:29 ` Vladislav K. Valtchev
2018-02-06 8:48 ` [PATCH v2 14/24] trace-cmd: Move tracecmd headers in tracecmd/include Vladislav Valtchev (VMware)
2018-02-06 8:48 ` [PATCH v2 15/24] trace-cmd: Move version.h in include/ Vladislav Valtchev (VMware)
2018-02-06 8:48 ` [PATCH v2 16/24] trace-cmd: Move trace-cmd app files in tracecmd/ Vladislav Valtchev (VMware)
2018-02-06 8:48 ` [PATCH v2 17/24] trace-cmd: Fix the logic behind SWIG_DEFINED in the Makefile Vladislav Valtchev (VMware)
2018-02-06 8:49 ` [PATCH v2 18/24] trace-cmd: Make the build to tell when python-dev is missing Vladislav Valtchev (VMware)
2018-02-06 8:49 ` [PATCH v2 19/24] trace-cmd: Make libtraceevent builable out-of-tree Vladislav Valtchev (VMware)
2018-02-06 8:49 ` [PATCH v2 20/24] trace-cmd: Make the plugins buildable out-of-tree Vladislav Valtchev (VMware)
2018-02-06 8:49 ` [PATCH v2 21/24] trace-cmd: Make libtracecmd " Vladislav Valtchev (VMware)
2018-02-06 8:49 ` [PATCH v2 22/24] trace-cmd: Make the trace-cmd target " Vladislav Valtchev (VMware)
2018-02-06 8:49 ` [PATCH v2 23/24] trace-cmd: Make the python targets " Vladislav Valtchev (VMware)
2018-02-06 8:49 ` [PATCH v2 24/24] trace-cmd: Make the GUI " Vladislav Valtchev (VMware)
2018-02-07 0:27 ` [PATCH v2 00/24] trace-cmd: restructure the project's source tree Steven Rostedt
2018-02-07 13:15 ` Vladislav Valtchev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180206084906.9854-14-vladislav.valtchev@gmail.com \
--to=vladislav.valtchev@gmail.com \
--cc=linux-trace-devel@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=y.karadz@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.