Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits: 2904248d by Steve Lhomme at 2026-06-16T20:16:06+00:00 extras/tools: boostrap: add a minimum version to Ninja Otherwise check_ninja() was using a parameter than doesn't exit. Ninja 1.13.0 is the first official version that supports jobserver [^1]. For now we still require a kitware version with jobserver support. [^1]: https://github.com/ninja-build/ninja/releases/tag/v1.13.0 - - - - - 8e94b1a9 by Steve Lhomme at 2026-06-16T20:16:06+00:00 extras/tools: boostrap: put the regular check first So that others may call it. No functional changes. - - - - - 13111792 by Steve Lhomme at 2026-06-16T20:16:06+00:00 extras/tools: boostrap: check ninja has the minimum version when combined with GNU make 4.4+ Starting with version 1.13.0 ninja can support jobserver with GNU make 4.4+. If we have a matching version we don't need to use the kitware version of ninja. - - - - - 3affb189 by Steve Lhomme at 2026-06-16T20:16:06+00:00 extras/tools: boostrap: fix indentation - - - - - 294353e9 by Steve Lhomme at 2026-06-16T20:16:06+00:00 CI: do not force build meson in vlc-debian-unstable It's already found in the Docker image and we use a minimum version to check we have a valid/supported version. - - - - - 2 changed files: - extras/ci/gitlab-ci.yml - extras/tools/bootstrap Changes: ===================================== extras/ci/gitlab-ci.yml ===================================== @@ -357,8 +357,6 @@ debian-meson: echo -e "\e[0Ksection_start:$(date +%s):build_tools_section\r\e[0KTools build" # Build tools ( cd extras/tools && ./bootstrap && make -j$NCPU --output-sync=recurse ) - # Build meson from extras/tool explicitly - ( cd extras/tools && make -j$NCPU .buildmeson ) export PATH="$(pwd)/extras/tools/build/bin:$PATH" echo -e "\e[0Ksection_end:$(date +%s):build_tools_section\r\e[0K" - | ===================================== extras/tools/bootstrap ===================================== @@ -24,6 +24,7 @@ MIN_LIBTOOL=2.4 MIN_M4=1.4.16 MIN_MESON=1.10.0 MIN_NASM=2.15 +MIN_NINJA=1.13.0 export LC_ALL= FOUND= @@ -112,6 +113,22 @@ do shift done +check() { +if ! $1 --version >/dev/null 2>&1 && ! $1 -version >/dev/null 2>&1 +then + echo "$1 not found" + NEEDED="$NEEDED $1" +else + # found, need to check version ? + if [ -z "$2" ];then + FOUND="$FOUND $1" + else + gotver=`$1 --version | head -1 | grep -o '[0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?' | head -1` + check_version $1 $gotver $2 + fi +fi +} + check_tar() { if ! tar PcJ /dev/null >/dev/null 2>&1 && ! tar PcJf /dev/null /dev/null 2>&1 then @@ -152,43 +169,39 @@ fi } check_ninja() { -if ! ninja --version >/dev/null 2>&1 +# with GNU make 4.4 we should use ninja 1.13.x and above +# otherwise we must use the patched version from kitware + +isgnu=$(make -v | head -1 | cut -d ' ' -f 1) +if [ "$isgnu" = "GNU" ]; +then + gotver=$(make -v | head -1 | cut -d ' ' -f 3) + gotmajor=$(echo $gotver|cut -d. -f1) + gotminor=$(echo $gotver|cut -d. -f2) +fi +if [ 4 -lt $gotmajor ] || + [ 4 -eq $gotmajor ] && [ 4 -le $gotminor ]; then - echo "ninja not found" - NEEDED="$NEEDED ninja" + # GNU Make 4.4+ + check ninja $1 else - jobserver=`ninja --version | head -1 | grep .jobserver` - if [ -z "$jobserver" ]; then - echo "ninja missing jobserver support" + if ! ninja --version >/dev/null 2>&1 + then + echo "ninja not found" NEEDED="$NEEDED ninja" else - # found, need to check version ? - if [ -z "$1" ];then - FOUND="$FOUND ninja" + jobserver=$(ninja --version | head -1 | grep .jobserver) + if [ -z "$jobserver" ]; then + echo "ninja missing jobserver support" + NEEDED="$NEEDED ninja" else - gotver=`ninja --version | head -1 | sed s/'.* '//` - check_version ninja $gotver $1 + # check the known working jobserver kitware version + check ninja 1.11.1 fi fi fi } -check() { -if ! $1 --version >/dev/null 2>&1 && ! $1 -version >/dev/null 2>&1 -then - echo "$1 not found" - NEEDED="$NEEDED $1" -else - # found, need to check version ? - if [ -z "$2" ];then - FOUND="$FOUND $1" - else - gotver=`$1 --version | head -1 | grep -o '[0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?' | head -1` - check_version $1 $gotver $2 - fi -fi -} - check_config() { # always install it for now as we need the arm64_32 patch NEEDED="$NEEDED configguess" @@ -222,7 +235,7 @@ check_nasm $MIN_NASM check gettext check help2man check meson $MIN_MESON -check_ninja +check_ninja $MIN_NINJA check gperf DEPS_ONLY="help2man" View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6805e4584e6bafa77dd22f26049ea0cd49a7c17a...294353e9cd0308ecb8aca9edd4503eb28baee008 -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6805e4584e6bafa77dd22f26049ea0cd49a7c17a...294353e9cd0308ecb8aca9edd4503eb28baee008 You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help
_______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
