X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=.gitlab-ci%2Fmeson-build.sh;h=c6affea46da5f061b7738c40feb3f6bf36bbdc2c;hb=ac2916a48d2d3ae9bc602f4489e55456ac5b7e5c;hp=cd0b62e4767bde26db369c5c44fdf818799be1f9;hpb=6ec1259423fdbf491813f8b5db9af2fe022e8a86;p=mesa.git diff --git a/.gitlab-ci/meson-build.sh b/.gitlab-ci/meson-build.sh index cd0b62e4767..c6affea46da 100755 --- a/.gitlab-ci/meson-build.sh +++ b/.gitlab-ci/meson-build.sh @@ -3,19 +3,22 @@ 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_FILE=/cross_file-"$CROSS".txt - # 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: @@ -39,6 +42,7 @@ fi rm -rf _build meson _build --native-file=native.file \ + --wrap-mode=nofallback \ ${CROSS+--cross "$CROSS_FILE"} \ -D prefix=`pwd`/install \ -D libdir=lib \ @@ -50,36 +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 ninja install cd .. - -if test -n "$MESON_SHADERDB"; then - ./.gitlab-ci/run-shader-db.sh; -fi - -# Delete 2MB of includes from artifacts. -rm -rf install/include - -# Strip the drivers in the artifacts to cut 80% of the artifacts size. -if [ -n "$CROSS" ]; then - STRIP=`sed -n -E "s/strip\s*=\s*'(.*)'/\1/p" "$CROSS_FILE"` - if [ -z "$STRIP" ]; then - echo "Failed to find strip command in cross file" - exit 1 - fi -else - STRIP="strip" -fi -find install -name \*.so -exec $STRIP {} \; - -# Test runs don't pull down the git tree, so put the dEQP helper -# script and associated bits there. -mkdir -p artifacts/ -cp -Rp .gitlab-ci/deqp* artifacts/ -# cp -Rp src/freedreno/ci/expected* artifacts/