113 lines
3.4 KiB
Diff
113 lines
3.4 KiB
Diff
From 5b45f98255b74589015d5cb0d8ca31d7169c9f34 Mon Sep 17 00:00:00 2001
|
|
From: Julien Olivain <ju.o@free.fr>
|
|
Date: Fri, 16 Sep 2022 22:30:59 +0200
|
|
Subject: [PATCH] demos: makes opengl an optional component
|
|
|
|
This patch is a port of [1] for the new meson build system.
|
|
|
|
matrix-code from es2gears has been moved to util in version 9.0.0 [2]
|
|
so now es2gears is linked with mesa3d-demo libutil (idep_util).
|
|
But at the same time the dependency on glu (dep_glu) has been added
|
|
to libutil [3]. dep_glu requires opengl (FULL_GL) to build.
|
|
|
|
In order to keep the es2gears for egl only builds we have to
|
|
split the libutil files list to build readtex.c and showbuffer.c
|
|
only if opengl is available.
|
|
|
|
Add back dep_glu since it's used in util's meson.
|
|
|
|
Fixes:
|
|
https://gitlab.com/buildroot.org/buildroot/-/jobs/4936948236
|
|
https://gitlab.com/buildroot.org/buildroot/-/jobs/4936948042
|
|
|
|
[1].
|
|
https://git.busybox.net/buildroot/tree/package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch?h=2022.08
|
|
[2] https://gitlab.freedesktop.org/mesa/demos/-/commit/c33e2f731c2eab86bbad7b6a028f8a90ea40a00c
|
|
[3] https://gitlab.freedesktop.org/mesa/demos/-/commit/ef24aae22978d4d357340074ca9a1c04d9cf81e6
|
|
|
|
Signed-off-by: Julien Olivain <ju.o@free.fr>
|
|
[Bernd: rebased for version 9.0.0]
|
|
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
|
|
[Romain: fix egl only builds in util]
|
|
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
|
---
|
|
meson.build | 5 ++++-
|
|
meson_options.txt | 1 +
|
|
src/egl/meson.build | 5 ++++-
|
|
src/util/meson.build | 12 +++++++++---
|
|
4 files changed, 18 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/meson.build b/meson.build
|
|
index 3e39b5a2..f27e1a18 100644
|
|
--- a/meson.build
|
|
+++ b/meson.build
|
|
@@ -39,7 +39,10 @@ add_project_arguments(
|
|
dep_m = cc.find_library('m', required : false)
|
|
dep_winmm = cc.find_library('winmm', required : false)
|
|
|
|
-dep_gl = dependency('gl')
|
|
+dep_gl = dependency('gl', required : get_option('gl'))
|
|
+if not dep_gl.found()
|
|
+ add_project_arguments('-DEGL_NO_X11=1', language: 'c')
|
|
+endif
|
|
|
|
dep_epoll = dependency('epoll-shim', required : false)
|
|
dep_gles1 = dependency('glesv1_cm', required : get_option('gles1'))
|
|
diff --git a/meson_options.txt b/meson_options.txt
|
|
index 832b916a..c954a710 100644
|
|
--- a/meson_options.txt
|
|
+++ b/meson_options.txt
|
|
@@ -1,5 +1,6 @@
|
|
option('with-glut', type : 'string')
|
|
option('egl', type : 'feature')
|
|
+option('gl', type : 'feature')
|
|
option('gles1', type : 'feature')
|
|
option('gles2', type : 'feature')
|
|
option('glut', type : 'feature')
|
|
diff --git a/src/egl/meson.build b/src/egl/meson.build
|
|
index d1846921..42bf8ecd 100644
|
|
--- a/src/egl/meson.build
|
|
+++ b/src/egl/meson.build
|
|
@@ -19,7 +19,10 @@
|
|
# SOFTWARE.
|
|
|
|
subdir('eglut')
|
|
-subdir('opengl')
|
|
+
|
|
+if dep_gl.found()
|
|
+ subdir('opengl')
|
|
+endif
|
|
|
|
if dep_gles1.found()
|
|
subdir('opengles1')
|
|
diff --git a/src/util/meson.build b/src/util/meson.build
|
|
index b4fe614f..4420f28a 100644
|
|
--- a/src/util/meson.build
|
|
+++ b/src/util/meson.build
|
|
@@ -22,13 +22,19 @@ inc_util = include_directories('.')
|
|
|
|
files_libutil = files(
|
|
'glinfo_common.c',
|
|
- 'readtex.c',
|
|
- 'showbuffer.c',
|
|
'trackball.c',
|
|
'matrix.c',
|
|
)
|
|
|
|
-_deps = [dep_glu, dep_m]
|
|
+_deps = [dep_m]
|
|
+if dep_gl.found()
|
|
+ files_libutil += files(
|
|
+ 'readtex.c',
|
|
+ 'showbuffer.c',
|
|
+ )
|
|
+ _deps += dep_glu
|
|
+endif
|
|
+
|
|
if dep_glut.found()
|
|
files_libutil += files('shaderutil.c')
|
|
_deps += dep_glut
|
|
--
|
|
2.41.0
|
|
|