buildroot/package/mesa3d-demos/0001-demos-makes-opengl-an-...

102 lines
2.8 KiB
Diff

From 9ec9f7b4d0ef5e799ca4cc5103163e4630d184d8 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.
[1].
https://git.busybox.net/buildroot/tree/package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch?h=2022.08
Signed-off-by: Julien Olivain <ju.o@free.fr>
---
meson.build | 19 ++++++++++++-------
meson_options.txt | 1 +
src/egl/meson.build | 5 ++++-
src/meson.build | 4 +++-
4 files changed, 20 insertions(+), 9 deletions(-)
diff --git a/meson.build b/meson.build
index e1968fab..a15699d6 100644
--- a/meson.build
+++ b/meson.build
@@ -38,7 +38,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_gles1 = dependency('glesv1_cm', required : get_option('gles1'))
dep_gles2 = dependency('glesv2', required : get_option('gles2'))
@@ -75,13 +78,15 @@ endif
dep_threads = dependency('threads')
-dep_glu = dependency('glu', required : dep_x11.found())
-if not dep_glu.found()
- _glu_name = 'GLU'
- if host_machine.system() == 'windows'
- _glu_name = 'glu32'
+if dep_gl.found()
+ dep_glu = dependency('glu', required : dep_x11.found())
+ if not dep_glu.found()
+ _glu_name = 'GLU'
+ if host_machine.system() == 'windows'
+ _glu_name = 'glu32'
+ endif
+ dep_glu = cc.find_library(_glu_name, has_headers: 'GL/glu.h')
endif
- dep_glu = cc.find_library(_glu_name, has_headers: 'GL/glu.h')
endif
# GBM is needed for EGL on KMS
diff --git a/meson_options.txt b/meson_options.txt
index ddadd2e3..f5405698 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('osmesa', 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/meson.build b/src/meson.build
index 39cac78d..7607c6de 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -20,7 +20,9 @@
subdir('glad')
-subdir('util')
+if dep_gl.found()
+ subdir('util')
+endif
if dep_glut.found()
subdir('demos')
--
2.37.3