On 1 March 2018 at 18:15, Dylan Baker <dy...@pnwbakers.com> wrote: > Quoting Emil Velikov (2018-03-01 09:27:44) >> On 1 March 2018 at 17:16, Dylan Baker <dy...@pnwbakers.com> wrote: >> > Quoting Emil Velikov (2018-02-28 16:01:56) >> >> On 28 February 2018 at 21:18, Andres Gomez <ago...@igalia.com> wrote: >> >> > Travis CI has moved to LLVM 5.0, and meson is detecting automatically >> >> > the available version in /usr/local/bin based on the PATH env variable >> >> > order preference. >> >> > >> >> > As for 0.44.x, Meson cannot receive the path to the llvm-config binary >> >> > as a configuration parameter. See >> >> > https://github.com/mesonbuild/meson/issues/2887 and >> >> > https://github.com/dcbaker/meson/commit/7c8b6ee3fa42f43c9ac7dcacc61a77eca3f1bcef >> >> > >> >> > We want to use the custom (APT) installed version. Therefore, let's >> >> > make Meson find our wanted version sooner than the one at >> >> > /usr/local/bin >> >> > >> >> > Once this is corrected, we would still need a patch similar to: >> >> > https://lists.freedesktop.org/archives/mesa-dev/2017-December/180217.html >> >> > >> >> > v2: Create the link only to the specificly wanted LLVM version (Gert). >> >> > >> >> > Cc: Eric Engestrom <eric.engest...@imgtec.com> >> >> > Cc: Dylan Baker <dy...@pnwbakers.com> >> >> > Cc: Emil Velikov <emil.veli...@collabora.com> >> >> > Cc: Juan A. Suarez Romero <jasua...@igalia.com> >> >> > Cc: Gert Wollny <gw.foss...@gmail.com> >> >> > Cc: Jon Turney <jon.tur...@dronecode.org.uk> >> >> > Signed-off-by: Andres Gomez <ago...@igalia.com> >> >> > Reviewed-and-Tested-by: Eric Engestrom <eric.engest...@imgtec.com> >> >> > Reviewed-by: Dylan Baker <dy...@pnwbakers.com> >> >> > Reviewed-by: Juan A. Suarez <jasua...@igalia.com> >> >> > --- >> >> > .travis.yml | 30 ++++++++++++++++++++++++++---- >> >> > 1 file changed, 26 insertions(+), 4 deletions(-) >> >> > >> >> > diff --git a/.travis.yml b/.travis.yml >> >> > index 0ec08e5bff7..823111ca539 100644 >> >> > --- a/.travis.yml >> >> > +++ b/.travis.yml >> >> > @@ -34,6 +34,8 @@ matrix: >> >> > - LABEL="meson Vulkan" >> >> > - BUILD=meson >> >> > - MESON_OPTIONS="-Ddri-drivers= -Dgallium-drivers=" >> >> > + - LLVM_VERSION=4.0 >> >> > + - LLVM_CONFIG="llvm-config-${LLVM_VERSION}" >> >> > addons: >> >> > apt: >> >> > sources: >> >> > @@ -573,8 +575,28 @@ script: >> >> > scons $SCONS_TARGET && eval $SCONS_CHECK_COMMAND; >> >> > fi >> >> > >> >> > - - if test "x$BUILD" = xmeson; then >> >> > - export CFLAGS="$CFLAGS -isystem`pwd`"; >> >> > - meson _build $MESON_OPTIONS; >> >> > - ninja -C _build; >> >> > + - | >> >> > + if test "x$BUILD" = xmeson; then >> >> > + >> >> > + # Travis CI has moved to LLVM 5.0, and meson is detecting >> >> > + # automatically the available version in /usr/local/bin based on >> >> > + # the PATH env variable order preference. >> >> > + # >> >> > + # As for 0.44.x, Meson cannot receive the path to the >> >> > + # llvm-config binary as a configuration parameter. See >> >> > + # https://github.com/mesonbuild/meson/issues/2887 and >> >> > + # >> >> > https://github.com/dcbaker/meson/commit/7c8b6ee3fa42f43c9ac7dcacc61a77eca3f1bcef >> >> > + # >> >> > + # We want to use the custom (APT) installed version. Therefore, >> >> > + # let's make Meson find our wanted version sooner than the one >> >> > + # at /usr/local/bin >> >> > + # >> >> > + # Once this is corrected, we would still need a patch similar >> >> > + # to: >> >> > + # >> >> > https://lists.freedesktop.org/archives/mesa-dev/2017-December/180217.html >> >> > + test -f /usr/bin/$LLVM_CONFIG && ln -s /usr/bin/$LLVM_CONFIG >> >> > $HOME/prefix/bin/llvm-config >> >> > + >> >> Patch looks good, >> >> Reviewed-by: Emil Velikov <emil.veli...@collabora.com> >> >> >> >> Aside: >> >> I'm not quite sure we need Eric's llvm-version toggle. >> >> >> >> Haven't looked exactly what meson does now, but it seems like it >> >> probes for specifics binaries/locations. >> >> So having something like /opt/bin/llvm-config-host-4.0 won't cut it - >> >> a sort of pattern fairly common when using OE/Yocto. >> >> >> >> Let's keep that for another time, >> >> Emil >> > >> > Since I wrote that logic in meson, >> > >> > It tries (in order), llvm-config, llvm-config-7svn, ... Until it >> > finds one that satisfies the version requirements passed. Which means if >> > there >> > is no `llvm-config` it will pick llvm-config-5.0 before llvm-config-4.0. >> > I've >> > proposed adding a meson level option to force a specific llvm-config to be >> > used >> > but it's been ignored thus far. >> > >> I would skim through OE/Yocto/others and point it out to the meson people. >> Here's one example from LibreELEC [1] which seems fairly common. >> >> -Emil >> >> [1] >> https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/lang/llvm/package.mk > > That's a little different because they're potentially doing a cross compile. > Meson already allows you to specify an llvm-config in a cross file, just not > for > native builds. I think everyone agrees it's a good idea, but no one can agree > on > what color to pain the bike shed. > That makes sense, thanks. One approach would be to be pick the 'most common' instance. Then again, bikeshedding is rarely fun.
HTH Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev