On Tuesday, 2018-01-30 13:31:09 -0800, Dylan Baker 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.
I'm an idiot, meson supports `'foo' + 'bar'`; I'll send a v2 in a minute. > > > > 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? I must say I'm confused as well: specific drivers should depend on the version of libdrm_$drv they need, and the generic code all drivers use depends on the version of libdrm it needs; this should cover all the cases. Quoting the comment in the code (I think you wrote it Emil?): > The idea is that libdrm is distributed as one cohesive package, even > though it is composed of multiple libraries. This means that libdrm_$drv 2.4.99 comes with libdrm 2.4.99, so there is no need to check both versions as they will always be identical, right? Are there distributions that provide separate libdrm_$drv and libdrm packages? _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev