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