* [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
* [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
* 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
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).