* [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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).