On 30 January 2018 at 21:31, Dylan Baker <dy...@pnwbakers.com> wrote: > Quoting Emil Velikov (2018-01-30 10:43:06) >> On 29 January 2018 at 18:57, Dylan Baker <dy...@pnwbakers.com> wrote: >> > Quoting Eric Engestrom (2018-01-29 10:15:50) >> >> The big comment is taken from the equivalent block in configure.ac >> >> >> >> Signed-off-by: Eric Engestrom <eric.engest...@imgtec.com> >> >> --- >> >> meson.build | 30 >> >> +++++++++++++++++++++-------- >> >> src/gallium/targets/d3dadapter9/meson.build | 2 +- >> >> src/mesa/drivers/dri/meson.build | 2 +- >> >> 3 files changed, 24 insertions(+), 10 deletions(-) >> >> >> >> diff --git a/meson.build b/meson.build >> >> index 0a00798c2a5093ec803b..6d7a8e976ff6ad002d9a 100644 >> >> --- a/meson.build >> >> +++ b/meson.build >> >> @@ -41,6 +41,20 @@ pre_args = [ >> >> >> >> '-DPACKAGE_BUGREPORT="https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa"', >> >> ] >> >> >> >> +# The idea is that libdrm is distributed as one cohesive package, even >> >> +# though it is composed of multiple libraries. However some drivers >> >> +# may have different version requirements than others. This list >> >> +# codifies which drivers need which version of libdrm. Any libdrm >> >> +# version dependencies in non-driver-specific code should be reflected >> >> +# in the first entry. >> >> +libdrm_version = '2.4.75' >> >> +libdrm_amdgpu_version = '2.4.89' >> >> +libdrm_etnaviv_version = '2.4.82' >> >> +libdrm_freedreno_version = '2.4.82' >> >> +libdrm_intel_version = '2.4.75' >> >> +libdrm_nouveau_version = '2.4.66' >> >> +libdrm_radeon_version = '2.4.71' >> > >> > Is there any reason we can't just make these (for example): >> > libdrm_radeon_version = '>= 2.4.71' >> > >> > Since that avoids all of the format calls? >> > >> Is there particular reason why meson doesn't allow plain >> concatenation, and one must go through the format dance? >> Off the top of my head, I think that most higher level programming >> languages (including python) have it, making for clearer and more >> obvious code. >> >> That aside: >> A huge +1 from me on the idea, although the libdrm_foo checks should >> become libdrm && libdrm_foo. >> See commit 2b4eaabff01a3a8ea0c4742ac481492092c1ab4f. >> >> Thanks >> Emil > > I'm confused by that commit. pkg-config is supposed to handle this, > libdrm_intel > (for example) has `Requires : libdrm` in it, so when you generate libs you get > `-ldrm_intel -ldrm`. Why do we need to check libdrm as well? If it's just that > we need to make sure that the version matches we should fix the pkg-config > files > in libdrm to set `Requires : libdrm >= version`. Or am I missing something? > Only libdrm_intel has Requires: libdrm. Everyone else has the 'correct' Requires.Private Thus adding a version check won't be enough.
Personally the commit feels like a workaround but Dave and Ilia wanted it, so we went ahead. -Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev