X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=.gitlab-ci%2Fmeson-build.sh;h=b618f45a2c2442e0f946db4eb292641db2d278cf;hb=c496d442844183968f7c4903c8ed549aa990d15f;hp=ed188e34d983474c1c879c10c1f79149ab2f1614;hpb=b738d4494c4a4612dd5af2bb6019d7765c1619a7;p=mesa.git diff --git a/.gitlab-ci/meson-build.sh b/.gitlab-ci/meson-build.sh index ed188e34d98..b618f45a2c2 100755 --- a/.gitlab-ci/meson-build.sh +++ b/.gitlab-ci/meson-build.sh @@ -3,20 +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 \ - -D buildtype=debug \ + --wrap-mode=nofallback \ + ${CROSS+--cross "$CROSS_FILE"} \ + -D prefix=`pwd`/install \ + -D libdir=lib \ + -D buildtype=${BUILDTYPE:-debug} \ -D build-tests=true \ -D libunwind=${UNWIND} \ ${DRI_LOADERS} \ @@ -30,4 +60,5 @@ cd _build meson configure ninja -j4 LC_ALL=C.UTF-8 ninja test -DESTDIR=$PWD/../install ninja install +ninja install +cd ..