[vlc-commits] [Git][videolan/vlc][master] 3 commits: extras: tools: bootstrap: rework makefile generation

Steve Lhomme (@robUx4) gitlab at videolan.org
Wed Nov 19 08:05:07 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
85655ed9 by Khalid Masum at 2025-11-19T07:31:57+00:00
extras: tools: bootstrap: rework makefile generation

Make sure all the targets are touched to stop unnecessary rebuilding.

- - - - -
50466f4a by Khalid Masum at 2025-11-19T07:31:57+00:00
extras: tools: remove unnecessary xz dependency

tar depends on xz anyway.

- - - - -
afd640e9 by Khalid Masum at 2025-11-19T07:31:57+00:00
extras: tools: bootstrap: Do not add xz when tar is needed

We already do that in tools.mak.
Moreover, it causes two xz targets to be created in the Makefile.

- - - - -


2 changed files:

- extras/tools/bootstrap
- extras/tools/tools.mak


Changes:

=====================================
extras/tools/bootstrap
=====================================
@@ -116,9 +116,9 @@ check_tar() {
 if ! tar PcJ /dev/null >/dev/null 2>&1 && ! tar PcJf /dev/null /dev/null 2>&1
 then
     echo "tar doesn't support xz (J option)"
-    NEEDED="$NEEDED tar xz"
+    NEEDED="$NEEDED tar"
 else
-    FOUND="$FOUND tar xz"
+    FOUND="$FOUND tar"
 fi
 }
 
@@ -248,20 +248,12 @@ esac
 
 BOOTSTRAP_PATH="$( cd "$(dirname "$0")" ; pwd -P )"
 
-cat > Makefile << EOF
-TOOLS = $BOOTSTRAP_PATH
-MAKEFLAGS += -j$CPUS
-CMAKEFLAGS += --parallel=$CPUS
-PREFIX=\$(abspath ./build)
-PATH=\${PREFIX}/bin:$PATH
-EOF
-
 for t in $FOUND; do
-    echo ".$t:" >> Makefile
+    TARGET_FOUND=".$t $TARGET_FOUND"
 done
 
 for t in $NEEDED; do
-    echo .$t: .build$t >> Makefile
+    TARGET_NEEDED=".$t $TARGET_NEEDED"
     case "$t" in
         *$DEPS_ONLY*)
             ;; # Dependency only, not build by default
@@ -274,7 +266,21 @@ done
 
 [ -n "$PACKAGES" ] && mkdir -p build/bin && echo "To-be-built packages: $PACKAGES"
 
-cat >> Makefile << EOF
+cat > Makefile << EOF
+TOOLS = $BOOTSTRAP_PATH
+MAKEFLAGS += -j$CPUS
+CMAKEFLAGS += --parallel=$CPUS
+PREFIX=\$(abspath ./build)
+PATH=\${PREFIX}/bin:$PATH
+
+$TARGET_FOUND:
+	@echo "Available in the system"
+	touch \$@
+
+.SECONDEXPANSION:
+$TARGET_NEEDED: \$\$(subst .,.build,\$\$@)
+	touch \$@
+
 all: $TARGETS
 	@echo "You are ready to build VLC and its contribs"
 


=====================================
extras/tools/tools.mak
=====================================
@@ -99,7 +99,7 @@ DISTCLEAN_PKG += cmake-$(CMAKE_VERSION).tar.gz
 help2man-$(HELP2MAN_VERSION).tar.xz:
 	$(call download_pkg,$(HELP2MAN_URL),help2man)
 
-help2man: help2man-$(HELP2MAN_VERSION).tar.xz .xz .tar
+help2man: help2man-$(HELP2MAN_VERSION).tar.xz .tar
 	$(UNPACK)
 	$(MOVE)
 
@@ -325,7 +325,7 @@ CLEAN_FILE += .buildant
 bison-$(BISON_VERSION).tar.xz:
 	$(call download_pkg,$(BISON_URL),bison)
 
-bison: bison-$(BISON_VERSION).tar.xz .xz .tar
+bison: bison-$(BISON_VERSION).tar.xz .tar
 	$(UNPACK)
 	$(MOVE)
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/65f66c82bf35571e6096a434a0015b0ccc01ec5f...afd640e96ff2d0b8d8472d351d8adc7852828f0b

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/65f66c82bf35571e6096a434a0015b0ccc01ec5f...afd640e96ff2d0b8d8472d351d8adc7852828f0b
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list