From 5b45f98255b74589015d5cb0d8ca31d7169c9f34 Mon Sep 17 00:00:00 2001 From: Julien Olivain 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 [Bernd: rebased for version 9.0.0] Signed-off-by: Bernd Kuhls [Romain: fix egl only builds in util] Signed-off-by: Romain Naour --- 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