From ca2eeb5a3b5371020df9f7b5626c5a5578ebb3ce Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Wed, 6 Jul 2022 14:14:50 -0700 Subject: [PATCH 1/3] meson: remove dep_glx It's just an array holding two external dependencies, and we usually use dep_* to mean "here's a dependency object that subprojects can use". --- meson.build | 1 - src/GLX/meson.build | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 1df867a..17fbf0f 100644 --- a/meson.build +++ b/meson.build @@ -105,7 +105,6 @@ elif not get_option('glx').disabled() and dep_x11.found() dep_glproto = dependency('glproto', required : get_option('glx')) with_glx = true endif -dep_glx = [dep_xext, dep_glproto] if cc.compiles('typeof(int *);', name : 'typeof') add_project_arguments('-DHAVE_TYPEOF', language : ['c']) diff --git a/src/GLX/meson.build b/src/GLX/meson.build index 98f4d13..3a64ec2 100644 --- a/src/GLX/meson.build +++ b/src/GLX/meson.build @@ -41,7 +41,8 @@ libGLX = shared_library( include_directories : [inc_include], link_args : '-Wl,-Bsymbolic', dependencies : [ - dep_dl, dep_x11, dep_glx, idep_gldispatch, idep_trace, + dep_dl, dep_x11, dep_xext, dep_glproto, + idep_gldispatch, idep_trace, idep_glvnd_pthread, idep_utils_misc, idep_app_error_check, idep_winsys_dispatch, ], From 8ee0213413f6b973f04a99e228e4eb8f4e960c47 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Tue, 5 Jul 2022 15:53:56 -0700 Subject: [PATCH 2/3] meson: use meson.override_dependency when possible Which allows libglvnd to be consumed as a meson subproject. --- src/EGL/meson.build | 9 +++++++++ src/GL/meson.build | 9 +++++++++ src/GLESv1/meson.build | 9 +++++++++ src/GLESv2/meson.build | 9 +++++++++ src/GLX/meson.build | 6 +++++- src/OpenGL/meson.build | 9 +++++++++ 6 files changed, 50 insertions(+), 1 deletion(-) diff --git a/src/EGL/meson.build b/src/EGL/meson.build index 7396bd1..9d109b1 100644 --- a/src/EGL/meson.build +++ b/src/EGL/meson.build @@ -62,6 +62,15 @@ pkg.generate( version : '1.5', ) +dep_egl = declare_dependency( + link_with : libEGL, + include_directories : inc_include, +) + +if meson.version().version_compare('>= 0.54') + meson.override_dependency('egl', dep_egl) +endif + test( 'EGL symbols check', prog_py, diff --git a/src/GL/meson.build b/src/GL/meson.build index 54975a7..eb0209d 100644 --- a/src/GL/meson.build +++ b/src/GL/meson.build @@ -42,6 +42,15 @@ pkg.generate( version : '1.2', ) +dep_gl = declare_dependency( + link_with : libGL, + include_directories : inc_include, +) + +if meson.version().version_compare('>= 0.54') + meson.override_dependency('gl', dep_gl) +endif + test( 'GL symbols check', prog_py, diff --git a/src/GLESv1/meson.build b/src/GLESv1/meson.build index 4c1c83c..7b5e868 100644 --- a/src/GLESv1/meson.build +++ b/src/GLESv1/meson.build @@ -39,6 +39,15 @@ pkg.generate( version : '1.0', ) +dep_glesv1 = declare_dependency( + link_with : libGLESv1, + include_directories : inc_include, +) + +if meson.version().version_compare('>= 0.54') + meson.override_dependency('glesv1_cm', dep_glesv1) +endif + test( 'GLESv1 symbols check', prog_py, diff --git a/src/GLESv2/meson.build b/src/GLESv2/meson.build index dfad160..634db0d 100644 --- a/src/GLESv2/meson.build +++ b/src/GLESv2/meson.build @@ -40,6 +40,15 @@ pkg.generate( version : '3.2', ) +dep_glesv2 = declare_dependency( + link_with : libGLESv2, + include_directories : inc_include, +) + +if meson.version().version_compare('>= 0.54') + meson.override_dependency('glesv2', dep_glesv2) +endif + test( 'GLESv2 symbols check', prog_py, diff --git a/src/GLX/meson.build b/src/GLX/meson.build index 3a64ec2..933a5ca 100644 --- a/src/GLX/meson.build +++ b/src/GLX/meson.build @@ -55,9 +55,13 @@ inc_glx = include_directories('.') idep_glx = declare_dependency( link_with : libGLX, - include_directories : inc_glx, + include_directories : [inc_include, inc_glx], ) +if meson.version().version_compare('>= 0.54') + meson.override_dependency('glx', idep_glx) +endif + pkg.generate( libGLX, filebase : 'glx', diff --git a/src/OpenGL/meson.build b/src/OpenGL/meson.build index d916a0f..6a083dd 100644 --- a/src/OpenGL/meson.build +++ b/src/OpenGL/meson.build @@ -44,6 +44,15 @@ pkg.generate( version : '4.5', ) +dep_opengl = declare_dependency( + link_with : libOpenGL, + include_directories : inc_include, +) + +if meson.version().version_compare('>= 0.54') + meson.override_dependency('opengl', dep_opengl) +endif + test( 'OpenGL symbols check', prog_py, From a1a4123c7e48ef49228e09d2e7c67d0ccc99c8cf Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Tue, 5 Jul 2022 15:55:04 -0700 Subject: [PATCH 3/3] meson: rename idep_glx -> dep_glx Since we use idep as a convention to mean "internal dep" --- src/GL/meson.build | 2 +- src/GLX/meson.build | 4 ++-- tests/meson.build | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/GL/meson.build b/src/GL/meson.build index eb0209d..41a2a79 100644 --- a/src/GL/meson.build +++ b/src/GL/meson.build @@ -28,7 +28,7 @@ libGL = shared_library( include_directories : [inc_include], link_args : '-Wl,-Bsymbolic', dependencies : [ - dep_dl, idep_gldispatch, idep_glapi_gl, idep_glx, idep_utils_misc, dep_x11_headers + dep_dl, idep_gldispatch, idep_glapi_gl, dep_glx, idep_utils_misc, dep_x11_headers ], version : '1.7.0', gnu_symbol_visibility : 'hidden', diff --git a/src/GLX/meson.build b/src/GLX/meson.build index 933a5ca..d0e93bb 100644 --- a/src/GLX/meson.build +++ b/src/GLX/meson.build @@ -53,13 +53,13 @@ libGLX = shared_library( inc_glx = include_directories('.') -idep_glx = declare_dependency( +dep_glx = declare_dependency( link_with : libGLX, include_directories : [inc_include, inc_glx], ) if meson.version().version_compare('>= 0.54') - meson.override_dependency('glx', idep_glx) + meson.override_dependency('glx', dep_glx) endif pkg.generate( diff --git a/tests/meson.build b/tests/meson.build index d6d8abc..f49c2ad 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -75,7 +75,7 @@ if with_glx ['testglxcreatecontext.c', 'test_utils.c'], include_directories : [inc_include], link_with : libOpenGL, - dependencies : [idep_glx, dep_x11], + dependencies : [dep_glx, dep_x11], ), env : env_glx, suite : ['glx'], @@ -89,7 +89,7 @@ if with_glx link_with : [libOpenGL], dependencies : [ dep_dl, dep_x11, idep_glvnd_pthread, idep_trace, idep_utils_misc, - idep_glx, + dep_glx, ], ) @@ -128,7 +128,7 @@ if with_glx 'glxgetprocaddress', ['testglxgetprocaddress.c'], include_directories : [inc_include], - dependencies : [dep_x11, idep_glx, idep_gldispatch], + dependencies : [dep_x11, dep_glx, idep_gldispatch], ) test( @@ -153,7 +153,7 @@ if with_glx 'testglxgetprocaddress_genentry', ['testglxgetprocaddress_genentry.c'], include_directories : [inc_include], - dependencies : [dep_x11, idep_glx], + dependencies : [dep_x11, dep_glx], ), env : env_glx, suite : ['glx'], @@ -167,7 +167,7 @@ if with_glx ['testglxgetclientstr.c'], include_directories : [inc_include], link_with : libOpenGL, - dependencies : [dep_x11, idep_glx, idep_trace, idep_utils_misc], + dependencies : [dep_x11, dep_glx, idep_trace, idep_utils_misc], ), env : env_glx, suite : ['glx'], @@ -181,7 +181,7 @@ if with_glx ['testglxqueryversion.c'], include_directories : [inc_include], link_with : libOpenGL, - dependencies : [dep_x11, idep_glx], + dependencies : [dep_x11, dep_glx], ), env : env_glx, suite : ['glx'],