X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=.gitlab-ci%2Fmeson-build.sh;h=c6affea46da5f061b7738c40feb3f6bf36bbdc2c;hb=e9add0c501c3765cae43ef60ec58404c2340991b;hp=d0df91fa3949988ba85c54629fa0de8335c46b93;hpb=1c82fa0a92538e7673a6ea4bb6088c39059b3390;p=mesa.git diff --git a/.gitlab-ci/meson-build.sh b/.gitlab-ci/meson-build.sh index d0df91fa394..c6affea46da 100755 --- a/.gitlab-ci/meson-build.sh +++ b/.gitlab-ci/meson-build.sh @@ -3,22 +3,50 @@ set -e set -o xtrace +CROSS_FILE=/cross_file-"$CROSS".txt + # We need to control the version of llvm-config we're using, so we'll -# generate a native file to do so. This requires meson >=0.49 +# tweak the cross file or generate a native file to do so. if test -n "$LLVM_VERSION"; then LLVM_CONFIG="llvm-config-${LLVM_VERSION}" echo -e "[binaries]\nllvm-config = '`which $LLVM_CONFIG`'" > native.file + if [ -n "$CROSS" ]; then + sed -i -e '/\[binaries\]/a\' -e "llvm-config = '`which $LLVM_CONFIG`'" $CROSS_FILE + fi $LLVM_CONFIG --version else rm -f native.file touch native.file fi +# cross-xfail-$CROSS, if it exists, contains a list of tests that are expected +# to fail for the $CROSS configuration, one per line. you can then mark those +# tests in their meson.build with: +# +# test(..., +# should_fail: meson.get_cross_property('xfail', '').contains(t), +# ) +# +# where t is the name of the test, and the '' is the string to search when +# not cross-compiling (which is empty, because for amd64 everything is +# expected to pass). +if [ -n "$CROSS" ]; then + CROSS_XFAIL=.gitlab-ci/cross-xfail-"$CROSS" + if [ -s "$CROSS_XFAIL" ]; then + sed -i \ + -e '/\[properties\]/a\' \ + -e "xfail = '$(tr '\n' , < $CROSS_XFAIL)'" \ + "$CROSS_FILE" + fi +fi + rm -rf _build meson _build --native-file=native.file \ - ${CROSS+--cross /cross_file-$CROSS.txt} \ + --wrap-mode=nofallback \ + ${CROSS+--cross "$CROSS_FILE"} \ + -D prefix=`pwd`/install \ -D libdir=lib \ - -D buildtype=debug \ + -D buildtype=${BUILDTYPE:-debug} \ -D build-tests=true \ -D libunwind=${UNWIND} \ ${DRI_LOADERS} \ @@ -26,15 +54,10 @@ meson _build --native-file=native.file \ ${GALLIUM_ST} \ -D gallium-drivers=${GALLIUM_DRIVERS:-[]} \ -D vulkan-drivers=${VULKAN_DRIVERS:-[]} \ - -D I-love-half-baked-turnips=true \ ${EXTRA_OPTION} cd _build meson configure -ninja -j4 +ninja LC_ALL=C.UTF-8 ninja test -DESTDIR=$PWD/../install ninja install +ninja install cd .. - -if test -n "$MESON_SHADERDB"; then - ./.gitlab-ci/run-shader-db.sh; -fi