* [PATCH 0/2] kernel-shark: Make some top level "make" changes
@ 2019-06-17 22:31 Steven Rostedt
2019-06-17 22:31 ` [PATCH 1/2] kernel-shark: Have "make clean" run cmake-clean.sh Steven Rostedt
2019-06-17 22:31 ` [PATCH 2/2] kernel-shark: Add make BUILD_TYPE=X gui to change how the gui is made Steven Rostedt
0 siblings, 2 replies; 5+ messages in thread
From: Steven Rostedt @ 2019-06-17 22:31 UTC (permalink / raw)
To: linux-trace-devel; +Cc: Yordan Karadzhov, Troy Engel
This is built on top of the three patches from Yordan that can be
found here:
https://patchwork.kernel.org/project/linux-trace-devel/list/?series=132531
It makes "make clean" remove cmake generated files (my build failed
and I couldn't figure out why. "make clean" should allow builds to
build again when CMake files change).
I also adde a "make BUILD_TYPE=foo" to pass to the cmake command to
change the CMAKE_BUILD_TYPE to allow an easy build by the package
maintainers to change how KernelShark is built.
Steven Rostedt (VMware) (2):
kernel-shark: Have "make clean" run cmake-clean.sh
kernel-shark: Add 'make BUILD_TYPE=X gui' to change how the gui is made
----
Makefile | 6 +++++-
kernel-shark/CMakeLists.txt | 2 +-
kernel-shark/README | 23 +++++++++++++++++------
3 files changed, 23 insertions(+), 8 deletions(-)
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH 1/2] kernel-shark: Have "make clean" run cmake-clean.sh 2019-06-17 22:31 [PATCH 0/2] kernel-shark: Make some top level "make" changes Steven Rostedt @ 2019-06-17 22:31 ` Steven Rostedt 2019-06-18 10:54 ` Yordan Karadzhov (VMware) 2019-06-17 22:31 ` [PATCH 2/2] kernel-shark: Add make BUILD_TYPE=X gui to change how the gui is made Steven Rostedt 1 sibling, 1 reply; 5+ messages in thread From: Steven Rostedt @ 2019-06-17 22:31 UTC (permalink / raw) To: linux-trace-devel; +Cc: Yordan Karadzhov, Troy Engel From: "Steven Rostedt (VMware)" <rostedt@goodmis.org> A make clean should clean up the cmake files as well. Update the kernel-shark/README to reflect some of the changes that have been made, and options done by the "make" command line. Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> --- Makefile | 1 + kernel-shark/README | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 693f33b69b4e..c9679d42fdbd 100644 --- a/Makefile +++ b/Makefile @@ -357,6 +357,7 @@ clean: $(MAKE) -C $(src)/python clean $(MAKE) -C $(src)/tracecmd clean if [ -f $(kshark-dir)/build/Makefile ]; then $(MAKE) -C $(kshark-dir)/build clean; fi + cd $(kshark-dir)/build; ./cmake_clean.sh ##### PYTHON STUFF ##### diff --git a/kernel-shark/README b/kernel-shark/README index 75a0dd08dcac..4fb13698261b 100644 --- a/kernel-shark/README +++ b/kernel-shark/README @@ -31,6 +31,11 @@ Building: the original trace-cmd end traceevent libraries. 2. Do: + make gui + +This will perform the following, in case you want to do it directly +yourself: + cd kernel-shark/build cmake ../ make @@ -39,7 +44,11 @@ the original trace-cmd end traceevent libraries. as a CMake Command-Line option. 2.1.2 By default, installation prefix is "/usr/local". It can be changed using --D_INSTALL_PREFIX= as a CMake Command-Line option. +-D_INSTALL_PREFIX= as a CMake Command-Line option. Which can also be +done by passing in "prefix=" to the make command line. + + make prefix=/my/local/dir gui + 2.1.3 In addition to the standard CMake build types (Debug, Release, RelWithDebInfo, MinSizeRel) KernelShark supports a "Package" build type. @@ -57,10 +66,8 @@ Examples: cmake -DCMAKE_BUILD_TYPE=Package -DCMAKE_C_FLAGS_PACKAGE="-O3 -pedantic" ../ -2.2.1 Use "make clean" if you want to delete all already compiled objects. - -2.2.2 Use the script "cmake_clean.sh" if you want to delete all already -compiled objects and all files generated by CMake. +2.2 Use "make clean" if you want to delete all already compiled objects +and all files generated by CMake. 3. After building the code "kernel-shark/lib" will contain all libraries and "kernel-shark/bin" will contain all executables. -- 2.20.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] kernel-shark: Have "make clean" run cmake-clean.sh 2019-06-17 22:31 ` [PATCH 1/2] kernel-shark: Have "make clean" run cmake-clean.sh Steven Rostedt @ 2019-06-18 10:54 ` Yordan Karadzhov (VMware) 2019-06-18 12:58 ` Steven Rostedt 0 siblings, 1 reply; 5+ messages in thread From: Yordan Karadzhov (VMware) @ 2019-06-18 10:54 UTC (permalink / raw) To: Steven Rostedt, linux-trace-devel; +Cc: Troy Engel On 18.06.19 г. 1:31 ч., Steven Rostedt wrote: > From: "Steven Rostedt (VMware)" <rostedt@goodmis.org> > > A make clean should clean up the cmake files as well. > > Update the kernel-shark/README to reflect some of the changes that > have been made, and options done by the "make" command line. > > Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> > --- > Makefile | 1 + > kernel-shark/README | 17 ++++++++++++----- > 2 files changed, 13 insertions(+), 5 deletions(-) > > diff --git a/Makefile b/Makefile > index 693f33b69b4e..c9679d42fdbd 100644 > --- a/Makefile > +++ b/Makefile > @@ -357,6 +357,7 @@ clean: > $(MAKE) -C $(src)/python clean > $(MAKE) -C $(src)/tracecmd clean > if [ -f $(kshark-dir)/build/Makefile ]; then $(MAKE) -C $(kshark-dir)/build clean; fi > + cd $(kshark-dir)/build; ./cmake_clean.sh > > > ##### PYTHON STUFF ##### > diff --git a/kernel-shark/README b/kernel-shark/README > index 75a0dd08dcac..4fb13698261b 100644 > --- a/kernel-shark/README > +++ b/kernel-shark/README > @@ -31,6 +31,11 @@ Building: > the original trace-cmd end traceevent libraries. > > 2. Do: > + make gui > + > +This will perform the following, in case you want to do it directly > +yourself: > + > cd kernel-shark/build > cmake ../ > make > @@ -39,7 +44,11 @@ the original trace-cmd end traceevent libraries. > as a CMake Command-Line option. > I agree with all functional changes in those patches. However, the README file becomes a bit ambiguous. I would prefer having something like this 2. Building KernelShark: 2.1 Option 1 : build KernelShark as part of trace-cmd make gui All explanations for this build option are following ... 2.2 Option 2 : standalone build of KernelShark (for hackers only) cd kernel-shark/build cmake ../ make All explanations for this build option are following ... ... Note that in Option 1 make clean is equivalent to make clean ./cmake_clean.sh in Option 2. Thanks! Yordan > 2.1.2 By default, installation prefix is "/usr/local". It can be changed using > --D_INSTALL_PREFIX= as a CMake Command-Line option. > +-D_INSTALL_PREFIX= as a CMake Command-Line option. Which can also be > +done by passing in "prefix=" to the make command line. > + > + make prefix=/my/local/dir gui > + > > 2.1.3 In addition to the standard CMake build types (Debug, Release, > RelWithDebInfo, MinSizeRel) KernelShark supports a "Package" build type. > @@ -57,10 +66,8 @@ Examples: > > cmake -DCMAKE_BUILD_TYPE=Package -DCMAKE_C_FLAGS_PACKAGE="-O3 -pedantic" ../ > > -2.2.1 Use "make clean" if you want to delete all already compiled objects. > - > -2.2.2 Use the script "cmake_clean.sh" if you want to delete all already > -compiled objects and all files generated by CMake. > +2.2 Use "make clean" if you want to delete all already compiled objects > +and all files generated by CMake. > > 3. After building the code "kernel-shark/lib" will contain all libraries > and "kernel-shark/bin" will contain all executables. > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] kernel-shark: Have "make clean" run cmake-clean.sh 2019-06-18 10:54 ` Yordan Karadzhov (VMware) @ 2019-06-18 12:58 ` Steven Rostedt 0 siblings, 0 replies; 5+ messages in thread From: Steven Rostedt @ 2019-06-18 12:58 UTC (permalink / raw) To: Yordan Karadzhov (VMware); +Cc: linux-trace-devel, Troy Engel On Tue, 18 Jun 2019 13:54:30 +0300 "Yordan Karadzhov (VMware)" <y.karadz@gmail.com> wrote: > I agree with all functional changes in those patches. However, the > README file becomes a bit ambiguous. Heh, I wrote that at the last minute and was a bit tired. I was hoping for a better write up from someone ;-) > > I would prefer having something like this > > 2. Building KernelShark: > 2.1 Option 1 : build KernelShark as part of trace-cmd > > make gui > All explanations for this build option are following > ... > > 2.2 Option 2 : standalone build of KernelShark (for hackers only) > > cd kernel-shark/build > cmake ../ > make > All explanations for this build option are following ... > ... > > Note that in Option 1 > > make clean > > is equivalent to > > make clean > ./cmake_clean.sh > > in Option 2. Makes sense. Thanks! -- Steve ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] kernel-shark: Add make BUILD_TYPE=X gui to change how the gui is made 2019-06-17 22:31 [PATCH 0/2] kernel-shark: Make some top level "make" changes Steven Rostedt 2019-06-17 22:31 ` [PATCH 1/2] kernel-shark: Have "make clean" run cmake-clean.sh Steven Rostedt @ 2019-06-17 22:31 ` Steven Rostedt 1 sibling, 0 replies; 5+ messages in thread From: Steven Rostedt @ 2019-06-17 22:31 UTC (permalink / raw) To: linux-trace-devel; +Cc: Yordan Karadzhov, Troy Engel From: "Steven Rostedt (VMware)" <rostedt@goodmis.org> Add a option to the Makefile called "BUILD_TYPE" that is passed to the CMake commonds to change how kernelshark is built. The current options are: make BUILD_TYPE=Debug gui - for "-g" option make BUILD_TYPE=Release gui - for "-O3" option make BUILD_TYPE=RelWithDebInfo gui - for "-g -O2" option (default) make BUILD_TYPE=MinSizeRel gui - for "-Os" option By default, BUILD_TYPE is set to RelWithDebInfo. Also change the CMakeLists.txt to use RelWithDebInfo as the default instead of just Debug. Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> --- Makefile | 5 ++++- kernel-shark/CMakeLists.txt | 2 +- kernel-shark/README | 6 +++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index c9679d42fdbd..ad74a969249f 100644 --- a/Makefile +++ b/Makefile @@ -252,8 +252,11 @@ all_cmd: $(CMD_TARGETS) CMAKE_COMMAND = /usr/bin/cmake +# Build with "BUILD_TYPE=Release" to remove cmake debug info +BUILD_TYPE ?= RelWithDebInfo + $(kshark-dir)/build/Makefile: $(kshark-dir)/CMakeLists.txt - $(Q) cd $(kshark-dir)/build && $(CMAKE_COMMAND) -D_INSTALL_PREFIX=$(prefix) .. + $(Q) cd $(kshark-dir)/build && $(CMAKE_COMMAND) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -D_INSTALL_PREFIX=$(prefix) .. gui: force $(CMD_TARGETS) $(kshark-dir)/build/Makefile $(Q)$(MAKE) $(S) -C $(kshark-dir)/build diff --git a/kernel-shark/CMakeLists.txt b/kernel-shark/CMakeLists.txt index d932c396e4a6..58a3c3b84309 100644 --- a/kernel-shark/CMakeLists.txt +++ b/kernel-shark/CMakeLists.txt @@ -37,7 +37,7 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -pthread -fPIC") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11 -pthread -fPIC") if (NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE Debug) + set(CMAKE_BUILD_TYPE RelWithDebInfo) endif (NOT CMAKE_BUILD_TYPE) message("\n Build type: ${CMAKE_BUILD_TYPE}") diff --git a/kernel-shark/README b/kernel-shark/README index 4fb13698261b..15d6fbab36fd 100644 --- a/kernel-shark/README +++ b/kernel-shark/README @@ -59,9 +59,13 @@ CMAKE_XXXX_FLAGS_PACKAGE Command-Line options (see the example below). Note that when built as a "Package" the RPATH-s of the executables are set directly to _INSTALL_PREFIX/lib/kernelshark/ -If no build types is specified, the type will be "Debug". +If no build types is specified, the type will be "RelWithDebInfo". Examples: + make BUILD_TYPE=Release + + or directly with cmake in the kernel-shark/build directory: + cmake -D_DOXYGEN_DOC=1 -D_INSTALL_PREFIX=/usr ../ cmake -DCMAKE_BUILD_TYPE=Package -DCMAKE_C_FLAGS_PACKAGE="-O3 -pedantic" ../ -- 2.20.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-06-18 12:58 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-06-17 22:31 [PATCH 0/2] kernel-shark: Make some top level "make" changes Steven Rostedt 2019-06-17 22:31 ` [PATCH 1/2] kernel-shark: Have "make clean" run cmake-clean.sh Steven Rostedt 2019-06-18 10:54 ` Yordan Karadzhov (VMware) 2019-06-18 12:58 ` Steven Rostedt 2019-06-17 22:31 ` [PATCH 2/2] kernel-shark: Add make BUILD_TYPE=X gui to change how the gui is made Steven Rostedt
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.