X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=.gitlab-ci%2Fmeson-build.sh;h=c6affea46da5f061b7738c40feb3f6bf36bbdc2c;hb=ac2916a48d2d3ae9bc602f4489e55456ac5b7e5c;hp=2bf51de1cd69214ab1aab09ab75d63e11934f294;hpb=11aa32a447ed2f48cf6b5fdbd94d153c8564daa5;p=mesa.git diff --git a/.gitlab-ci/meson-build.sh b/.gitlab-ci/meson-build.sh index 2bf51de1cd6..c6affea46da 100755 --- a/.gitlab-ci/meson-build.sh +++ b/.gitlab-ci/meson-build.sh @@ -3,21 +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} \ - -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} \ @@ -25,10 +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 ..