[vlc-commits] [Git][videolan/vlc][master] 5 commits: extras/tools: boostrap: add a minimum version to Ninja
Steve Lhomme (@robUx4)
gitlab at videolan.org
Tue Jun 16 20:48:32 UTC 2026
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
More information about the vlc-commits
mailing list