On 31 January 2018 at 17:11, Dylan Baker <dy...@pnwbakers.com> wrote: > Quoting Emil Velikov (2018-01-31 03:42:00) >> 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 > > If we need to ensure that the versions of libdrm == libdrm_* then > Requires.private is the wrong field to use. What do you think the correct > thing > to do here is? > The perfect solution is to go back in time ;-) That aside, I'd stick with what Dave/Ilia is suggesting.
-Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev