From ca615a4f16d3a2e1c5078aee7b83556a4121116a Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Tue, 20 Dec 2022 15:17:13 -0800 Subject: [PATCH] meson: use a feature option for gles1 Reviewed-by: Jesse Natalie Acked-by: Alyssa Rosenzweig Part-of: --- docs/opengles.rst | 4 ++-- meson.build | 22 +++++++--------------- meson_options.txt | 4 +--- 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/docs/opengles.rst b/docs/opengles.rst index b16e752b549..0face23a999 100644 --- a/docs/opengles.rst +++ b/docs/opengles.rst @@ -10,14 +10,14 @@ OpenGL ES depends on a working EGL implementation. Please refer to Build the Libraries ------------------- -#. Run ``meson configure`` with ``-D gles1=true -D gles2=true`` and +#. Run ``meson configure`` with ``-D gles1=enabled -D gles2=true`` and enable the Gallium driver for your hardware. #. Build and install Mesa as usual. Alternatively, if XCB-DRI2 is installed on the system, one can use ``egl_dri2`` EGL driver with OpenGL|ES-enabled DRI drivers -#. Run ``meson configure`` with ``-D gles1=true -D gles2=true``. +#. Run ``meson configure`` with ``-D gles1=enabled -D gles2=true``. #. Build and install Mesa as usual. Both methods will install libGLESv1_CM, libGLESv2, libEGL, and one or diff --git a/meson.build b/meson.build index c91c028f0eb..bdc6bd70a7b 100644 --- a/meson.build +++ b/meson.build @@ -107,14 +107,6 @@ if gbm_backends_path == '' gbm_backends_path = join_paths(get_option('prefix'), get_option('libdir'), 'gbm') endif -with_gles1 = get_option('gles1') -if with_gles1 == 'true' - with_gles1 = 'enabled' - warning('gles1 option "true" deprecated, please use "enabled" instead.') -elif with_gles1 == 'false' - with_gles1 = 'disabled' - warning('gles1 option "false" deprecated, please use "disabled" instead.') -endif with_gles2 = get_option('gles2') if with_gles2 == 'true' with_gles2 = 'enabled' @@ -138,27 +130,27 @@ with_shared_glapi = get_option('shared-glapi') \ .disable_auto_if(host_machine.system() == 'windows') \ .allowed() +with_gles1 = get_option('gles1') \ + .require(with_shared_glapi, error_message : 'OpengGL ES 1.x requires shared-glapi') \ + .require(with_opengl, error_message : 'building OpenGL ES 1.x without OpenGL is not supported.') \ + .allowed() + # shared-glapi is required if at least two OpenGL APIs are being built if not with_shared_glapi - if ((with_gles1 == 'enabled' and with_gles2 == 'enabled') or - (with_gles1 == 'enabled' and with_opengl) or - (with_gles2 == 'enabled' and with_opengl)) + if with_gles2 == 'enabled' and not with_opengl error('shared-glapi required for building two or more of OpenGL, OpenGL ES 1.x, OpenGL ES 2.x') endif - with_gles1 = 'disabled' with_gles2 = 'disabled' endif # We require OpenGL for OpenGL ES if not with_opengl - if (with_gles1 == 'enabled' or with_gles2 == 'enabled') and not with_opengl + if with_gles2 == 'enabled' and not with_opengl error('building OpenGL ES without OpenGL is not supported.') endif - with_gles1 = 'disabled' with_gles2 = 'disabled' endif -with_gles1 = with_gles1 != 'disabled' with_gles2 = with_gles2 != 'disabled' with_any_opengl = with_opengl or with_gles1 or with_gles2 # Only build shared_glapi if at least one OpenGL API is enabled diff --git a/meson_options.txt b/meson_options.txt index 4bfb4595313..e62461d479f 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -246,9 +246,7 @@ option( ) option( 'gles1', - type : 'combo', - value : 'auto', - choices : ['auto', 'true', 'false', 'enabled', 'disabled'], + type : 'feature', description : 'Build support for OpenGL ES 1.x' ) option(