[Mesa-dev] [PATCH v2] travis: make Meson find the proper llvm-config
Dylan Baker
dylan at pnwbakers.com
Thu Mar 1 17:16:53 UTC 2018
Quoting Emil Velikov (2018-02-28 16:01:56)
> On 28 February 2018 at 21:18, Andres Gomez <agomez at 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.engestrom at imgtec.com>
> > Cc: Dylan Baker <dylan at pnwbakers.com>
> > Cc: Emil Velikov <emil.velikov at collabora.com>
> > Cc: Juan A. Suarez Romero <jasuarez at igalia.com>
> > Cc: Gert Wollny <gw.fossdev at gmail.com>
> > Cc: Jon Turney <jon.turney at dronecode.org.uk>
> > Signed-off-by: Andres Gomez <agomez at igalia.com>
> > Reviewed-and-Tested-by: Eric Engestrom <eric.engestrom at imgtec.com>
> > Reviewed-by: Dylan Baker <dylan at pnwbakers.com>
> > Reviewed-by: Juan A. Suarez <jasuarez at 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.velikov at 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.
Dylan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180301/ecdc948b/attachment-0001.sig>
More information about the mesa-dev
mailing list