linux-trace-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Yordan Karadzhov (VMware)" <y.karadz@gmail.com>
To: rostedt@goodmis.org
Cc: linux-trace-devel@vger.kernel.org,
	"Yordan Karadzhov (VMware)" <y.karadz@gmail.com>,
	Slavomir Kaslev <kaslevs@vmware.com>
Subject: [RFC PATCH v2 5/5] kernel-shark: Drop Freeglut as a compulsory dependency
Date: Wed,  3 Jul 2019 15:10:23 +0300	[thread overview]
Message-ID: <20190703121023.16655-6-y.karadz@gmail.com> (raw)
In-Reply-To: <20190703121023.16655-1-y.karadz@gmail.com>

Freeglut is not a necessary dependency for programs like the
KernelShark GUI that are using Qt for window and OpenGL context
management. Currently it is been used only by the data plotting
example (dataplot.cpp).

Suggested-by: Slavomir Kaslev <kaslevs@vmware.com>
Signed-off-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com>
---
 kernel-shark/build/deff.h.cmake      |  3 +++
 kernel-shark/examples/CMakeLists.txt | 10 +++++++---
 kernel-shark/src/CMakeLists.txt      |  4 ++--
 kernel-shark/src/KsGLWidget.cpp      |  4 ----
 kernel-shark/src/KsPlotTools.cpp     |  4 ----
 kernel-shark/src/libkshark-plot.c    | 17 ++++++++---------
 kernel-shark/src/libkshark-plot.h    |  2 +-
 7 files changed, 21 insertions(+), 23 deletions(-)

diff --git a/kernel-shark/build/deff.h.cmake b/kernel-shark/build/deff.h.cmake
index efee2a1..e3543ca 100644
--- a/kernel-shark/build/deff.h.cmake
+++ b/kernel-shark/build/deff.h.cmake
@@ -23,6 +23,9 @@
 /** "pkexec" executable. */
 #cmakedefine DO_AS_ROOT "@DO_AS_ROOT@"
 
+/** GLUT has been found. */
+#cmakedefine GLUT_FOUND
+
 #ifdef __cplusplus
 
 	#include <QString>
diff --git a/kernel-shark/examples/CMakeLists.txt b/kernel-shark/examples/CMakeLists.txt
index 824b21c..74898c0 100644
--- a/kernel-shark/examples/CMakeLists.txt
+++ b/kernel-shark/examples/CMakeLists.txt
@@ -16,9 +16,13 @@ message(STATUS "confogio")
 add_executable(confio          configio.c)
 target_link_libraries(confio   kshark)
 
-message(STATUS "dataplot")
-add_executable(dplot          dataplot.cpp)
-target_link_libraries(dplot   kshark-plot)
+if (GLUT_FOUND)
+
+    message(STATUS "dataplot")
+    add_executable(dplot          dataplot.cpp)
+    target_link_libraries(dplot   kshark-plot)
+
+endif (GLUT_FOUND)
 
 message(STATUS "widgetdemo")
 add_executable(widgetdemo          widgetdemo.cpp)
diff --git a/kernel-shark/src/CMakeLists.txt b/kernel-shark/src/CMakeLists.txt
index 36ce884..8c8f988 100644
--- a/kernel-shark/src/CMakeLists.txt
+++ b/kernel-shark/src/CMakeLists.txt
@@ -38,7 +38,7 @@ if (_DEVEL)
 
 endif (_DEVEL)
 
-if (OPENGL_FOUND AND GLUT_FOUND)
+if (OPENGL_FOUND)
 
     message(STATUS "libkshark-plot")
     add_library(kshark-plot  SHARED  libkshark-plot.c
@@ -65,7 +65,7 @@ if (OPENGL_FOUND AND GLUT_FOUND)
 
     endif (_DEVEL)
 
-endif (OPENGL_FOUND AND GLUT_FOUND)
+endif (OPENGL_FOUND)
 
 if (Qt5Widgets_FOUND AND Qt5Network_FOUND)
 
diff --git a/kernel-shark/src/KsGLWidget.cpp b/kernel-shark/src/KsGLWidget.cpp
index ce68052..37819d3 100644
--- a/kernel-shark/src/KsGLWidget.cpp
+++ b/kernel-shark/src/KsGLWidget.cpp
@@ -9,10 +9,6 @@
  *  @brief   OpenGL widget for plotting trace graphs.
  */
 
-// OpenGL
-#include <GL/glut.h>
-#include <GL/gl.h>
-
 // KernelShark
 #include "KsGLWidget.hpp"
 #include "KsUtils.hpp"
diff --git a/kernel-shark/src/KsPlotTools.cpp b/kernel-shark/src/KsPlotTools.cpp
index a8eddcd..152ec47 100644
--- a/kernel-shark/src/KsPlotTools.cpp
+++ b/kernel-shark/src/KsPlotTools.cpp
@@ -16,10 +16,6 @@
 #include <algorithm>
 #include <vector>
 
-// OpenGL
-#include <GL/freeglut.h>
-#include <GL/gl.h>
-
 // KernelShark
 #include "KsPlotTools.hpp"
 
diff --git a/kernel-shark/src/libkshark-plot.c b/kernel-shark/src/libkshark-plot.c
index 1982494..32e2ae9 100644
--- a/kernel-shark/src/libkshark-plot.c
+++ b/kernel-shark/src/libkshark-plot.c
@@ -19,6 +19,7 @@
 
 // KernelShark
 #include "libkshark-plot.h"
+#include "KsCmakeDef.hpp"
 
 /*
  * STB TrueType (single-file public domain library)
@@ -31,6 +32,10 @@
 #define STBTT_STATIC
 #include "stb_truetype.h"
 
+#ifdef GLUT_FOUND
+
+#include <GL/freeglut.h>
+
 /**
  * @brief Create an empty scene for drawing.
  *
@@ -55,17 +60,11 @@ void ksplot_make_scene(int width, int height)
 	/* Open the screen window. */
 	glutCreateWindow("KernelShark Plot");
 
-	/*
-	 * Set the origin of the coordinate system to be the top left corner.
-	 * The "Y" coordinate is inverted.
-	 */
-	gluOrtho2D(0, width, height, 0);
-	glViewport(0, 0, width, height);
-
-	glMatrixMode(GL_PROJECTION);
-	glLoadIdentity();
+	ksplot_resize_opengl(width, height);
 }
 
+#endif // GLUT_FOUND
+
 /**
  * @brief Initialize OpenGL.
  *
diff --git a/kernel-shark/src/libkshark-plot.h b/kernel-shark/src/libkshark-plot.h
index 1895bee..2c44787 100644
--- a/kernel-shark/src/libkshark-plot.h
+++ b/kernel-shark/src/libkshark-plot.h
@@ -16,8 +16,8 @@
 #include <stdbool.h>
 
 // OpenGL
-#include <GL/freeglut.h>
 #include <GL/gl.h>
+#include <GL/glu.h>
 
 /*
  * STB TrueType (single-file public domain library)
-- 
2.20.1


  parent reply	other threads:[~2019-07-03 12:10 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-03 12:10 [RFC PATCH v2 0/5] Add support for text rendering Yordan Karadzhov (VMware)
2019-07-03 12:10 ` [RFC PATCH v2 1/5] kernel-shark: Simplify the drawing of the Triangle Fan Yordan Karadzhov (VMware)
2019-07-03 12:10 ` [RFC PATCH v2 2/5] kernel-shark: Add support for drawing text Yordan Karadzhov (VMware)
2019-07-03 12:10 ` [RFC PATCH v2 3/5] kernel-shark: Add text rendering to the plotting example Yordan Karadzhov (VMware)
2019-07-03 12:10 ` [RFC PATCH v2 4/5] kernel-shark: Add hello_kernel plugin Yordan Karadzhov (VMware)
2019-07-03 12:10 ` Yordan Karadzhov (VMware) [this message]
2019-07-05  9:13   ` [RFC PATCH v2 5/5] kernel-shark: Drop Freeglut as a compulsory dependency Slavomir Kaslev
2019-07-05 10:25 ` [RFC PATCH v2 0/5] Add support for text rendering Slavomir Kaslev

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=20190703121023.16655-6-y.karadz@gmail.com \
    --to=y.karadz@gmail.com \
    --cc=kaslevs@vmware.com \
    --cc=linux-trace-devel@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    /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 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).