| 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 |
| |