[vlc-commits] [Git][videolan/vlc][master] 13 commits: configure: detect Qt native tools in the contrib native path

Steve Lhomme (@robUx4) gitlab at videolan.org
Wed Apr 3 11:21:51 UTC 2024



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
6460ab7f by Steve Lhomme at 2024-04-03T10:17:47+00:00
configure: detect Qt native tools in the contrib native path

In addition to the regular PATH.

- - - - -
b60f7b70 by Steve Lhomme at 2024-04-03T10:17:47+00:00
configure: detect QtQml.WorkerScript is present

It is not always present with QtQml.

- - - - -
04ec2787 by Steve Lhomme at 2024-04-03T10:17:47+00:00
contrib: qt: build Qt tools separately as tools for cross-compilation

So they are built for the native platform even when using prebuilt packages.

- - - - -
d4691167 by Steve Lhomme at 2024-04-03T10:17:47+00:00
contrib: spirv-tools: only build when qt is selected

- - - - -
94d9c5c2 by Steve Lhomme at 2024-04-03T10:17:47+00:00
contrib: fxc2: only build when qt is selected for windows

- - - - -
71e69d3f by Steve Lhomme at 2024-04-03T10:17:47+00:00
contrib: qt: remove unneeded copies

Either they are in the path or the configure script will look for them in contribs.

- - - - -
52b62044 by Steve Lhomme at 2024-04-03T10:17:47+00:00
contrib: qtdeclarative: factorize the enable/disabled features

- - - - -
0fec1bc3 by Steve Lhomme at 2024-04-03T10:17:47+00:00
contrib: qt: use precompiled headers

Except for the files we patch with WINVER.

- - - - -
eed7b138 by Steve Lhomme at 2024-04-03T10:17:47+00:00
qt: mark generated sources with BUILT_SOURCES

- - - - -
89997717 by Steve Lhomme at 2024-04-03T10:17:47+00:00
CI: use latest vlc-debian-unstable with qml6-module-qtqml-workerscript

- - - - -
220f64aa by Steve Lhomme at 2024-04-03T10:17:47+00:00
CI: fix gcovr with qt6-vlc_qrc.cpp

- - - - -
e830c2de by Steve Lhomme at 2024-04-03T10:17:47+00:00
contrib: qtvlcdep: only build when qt is selected

- - - - -
41bbcde5 by Steve Lhomme at 2024-04-03T10:17:47+00:00
win32: build.sh: show the list of packages after the prebuilt is done

So we know the tools that need to be built from there.

- - - - -


11 changed files:

- configure.ac
- contrib/src/fxc2/rules.mak
- + contrib/src/qt/0001-disable-precompiled-headers-when-forcing-WINVER-inte.patch
- contrib/src/qt/rules.mak
- contrib/src/qtdeclarative/rules.mak
- contrib/src/qtshadertools/rules.mak
- contrib/src/qtvlcdeps/rules.mak
- contrib/src/spirv-tools/rules.mak
- extras/ci/gitlab-ci.yml
- extras/package/win32/build.sh
- modules/gui/qt/Makefile.am


Changes:

=====================================
configure.ac
=====================================
@@ -4000,7 +4000,11 @@ have_qt_core_private="no"
 AS_IF([test "${enable_qt}" != "no"], [
   dnl Note that Qt < 6.2.5 does not provide pc files!
   QT_MINIMUM_VERSION=6.2
-  PKG_CHECK_MODULES([QT], m4_foreach([pkg], [Qt6Core Qt6Widgets Qt6Gui Qt6Qml Qt6QmlModels Qt6Quick Qt6QuickControls2 Qt6QuickLayouts Qt6QuickTemplates2 Qt6ShaderTools Qt6Svg Qt6Network], [pkg >= ${QT_MINIMUM_VERSION}]), [
+  PKG_CHECK_MODULES([QT], m4_foreach([pkg], [
+      Qt6Core Qt6Widgets Qt6Gui Qt6Qml Qt6QmlModels Qt6QmlWorkerScript
+      Qt6Quick Qt6QuickControls2 Qt6QuickLayouts Qt6QuickTemplates2 Qt6ShaderTools
+      Qt6Svg Qt6Network
+    ], [pkg >= ${QT_MINIMUM_VERSION}]), [
 
       QT_PREFIX_PATH="$(eval $PKG_CONFIG --variable=prefix Qt6Core)"
       QT_PLUGINS_PATH="${QT_PREFIX_PATH}/plugins"
@@ -4021,13 +4025,56 @@ AS_IF([test "${enable_qt}" != "no"], [
       QT_QML_LIBEXEC_DIRECTORY="$(eval $PKG_CONFIG --variable=libexecdir Qt6Qml)"
       QT_SHADERTOOLS_BIN_DIRECTORY="$(eval $PKG_CONFIG --variable=bindir Qt6ShaderTools)"
 
+      dnl check native in contribs and keep the full path if found there
+      AC_MSG_CHECKING([if contribs provide qmake])
+      AS_IF([test -x "${CONTRIB_DIR}/qmake${BUILDEXEEXT}"], [
+        QMAKE="${CONTRIB_DIR}/qmake${BUILDEXEEXT}"
+        AC_MSG_RESULT([yes])
+      ],[
+        AC_MSG_RESULT([no])
+      ])
       AC_PATH_PROGS(QMAKE, [qmake], qmake, ["${QT_BIN_DIRECTORY}"])
+      AC_MSG_CHECKING([if contribs provide moc])
+      AS_IF([test -x "${CONTRIB_DIR}/../libexec/moc${BUILDEXEEXT}"], [
+        MOC="${CONTRIB_DIR}/../libexec/moc${BUILDEXEEXT}"
+        AC_MSG_RESULT([yes])
+      ],[
+        AC_MSG_RESULT([no])
+      ])
       AC_PATH_PROGS(MOC, [moc], moc, ["${QT_LIBEXEC_DIRECTORY}"])
+      AC_MSG_CHECKING([if contribs provide rcc])
+      AS_IF([test -x "${CONTRIB_DIR}/../libexec/rcc${BUILDEXEEXT}"], [
+        RCC="${CONTRIB_DIR}/../libexec/rcc${BUILDEXEEXT}"
+        AC_MSG_RESULT([yes])
+      ],[
+        AC_MSG_RESULT([no])
+      ])
       AC_PATH_PROGS(RCC, [rcc], rcc, ["${QT_LIBEXEC_DIRECTORY}"])
+      AC_MSG_CHECKING([if contribs provide uic])
+      AS_IF([test -x "${CONTRIB_DIR}/../libexec/uic${BUILDEXEEXT}"], [
+        UIC="${CONTRIB_DIR}/../libexec/uic${BUILDEXEEXT}"
+        AC_MSG_RESULT([yes])
+      ],[
+        AC_MSG_RESULT([no])
+      ])
       AC_PATH_PROGS(UIC, [uic], uic, ["${QT_LIBEXEC_DIRECTORY}"])
+      AC_MSG_CHECKING([if contribs provide qsb])
+      AS_IF([test -x "${CONTRIB_DIR}/../bin/qsb${BUILDEXEEXT}"], [
+        QSB="${CONTRIB_DIR}/../bin/qsb${BUILDEXEEXT}"
+        AC_MSG_RESULT([yes])
+      ],[
+        AC_MSG_RESULT([no])
+      ])
       AC_PATH_PROGS(QSB, [qsb], qsb, ["${QT_SHADERTOOLS_BIN_DIRECTORY}"])
 
-      AC_PATH_PROGS(QMLCACHEGEN, [qmlcachegen], no, ["${QT_QML_LIBEXEC_DIRECTORY}"])
+      AC_MSG_CHECKING([if contribs provide qmlcachegen])
+      AS_IF([test -x "${CONTRIB_DIR}/../libexec/qmlcachegen${BUILDEXEEXT}"], [
+        QMLCACHEGEN="${CONTRIB_DIR}/../libexec/qmlcachegen${BUILDEXEEXT}"
+        AC_MSG_RESULT([yes])
+      ],[
+        AC_MSG_RESULT([no])
+      ])
+      AC_PATH_PROGS(QMLCACHEGEN, [qmlcachegen], qmlcachegen, ["${QT_QML_LIBEXEC_DIRECTORY}"])
       AS_IF([test "${QMLCACHEGEN}" = "no"], [
           AC_MSG_WARN([qmlcachegen not found])
       ])
@@ -4037,6 +4084,7 @@ AS_IF([test "${enable_qt}" != "no"], [
             --qmake "${QMAKE}" \
             --modules \
             QtQml.Models="" \
+            QtQml.WorkerScript="" \
             QtQuick.Layouts="" \
             QtQuick.Window="" \
             QtQuick.Controls="" \
@@ -4045,7 +4093,7 @@ AS_IF([test "${enable_qt}" != "no"], [
           AC_MSG_WARN([qt runtime dependencies are missing, disabling qt interface])
           enable_qt="no"
       ])
-    
+
       PKG_CHECK_MODULES([QT_QUICK_TEST], [Qt6QuickTest >= ${QT_MINIMUM_VERSION}], [
           AS_IF([test "$PYTHON3" != "no" && ${PYTHON3} ${srcdir}/buildsystem/check_qml_module.py --qmake "${QMAKE}" --modules QtTest=""], [
               have_qt_quick_test="yes"


=====================================
contrib/src/fxc2/rules.mak
=====================================
@@ -2,6 +2,13 @@ FXC2_HASH := 654c29d62a02714ea0bacfb118c3e05127f846e0
 FXC2_VERSION := git-$(FXC2_HASH)
 FXC2_GITURL := $(GITHUB)/mozilla/fxc2.git
 
+ifeq ($(findstring qt,$(PKGS)),)
+# match with Qt targets
+ifdef HAVE_WIN32
+PKGS_TOOLS += fxc2
+endif
+endif
+
 ifeq ($(call need_pkg,"fxc2"),)
 PKGS_FOUND += fxc2
 endif


=====================================
contrib/src/qt/0001-disable-precompiled-headers-when-forcing-WINVER-inte.patch
=====================================
@@ -0,0 +1,40 @@
+From d4f3ba3b1e5fdcbdca7ffe7f3903e5f47e312855 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4_qt at ycbcr.xyz>
+Date: Tue, 2 Apr 2024 13:16:23 +0200
+Subject: [PATCH] disable precompiled headers when forcing WINVER internally
+
+Change-Id: I663194224b5b69540183d92ffe45425575b0752c
+---
+ src/plugins/platforms/direct2d/CMakeLists.txt | 2 ++
+ src/plugins/platforms/windows/CMakeLists.txt  | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/src/plugins/platforms/direct2d/CMakeLists.txt b/src/plugins/platforms/direct2d/CMakeLists.txt
+index e21b230cd7..fc764e9c74 100644
+--- a/src/plugins/platforms/direct2d/CMakeLists.txt
++++ b/src/plugins/platforms/direct2d/CMakeLists.txt
+@@ -136,6 +136,8 @@ qt_internal_extend_target(QWindowsDirect2DIntegrationPlugin CONDITION QT_FEATURE
+ qt_internal_extend_target(QWindowsDirect2DIntegrationPlugin CONDITION QT_FEATURE_clipboard AND QT_FEATURE_draganddrop
+     SOURCES
+         ../windows/qwindowsdrag.cpp ../windows/qwindowsdrag.h
++    NO_PCH_SOURCES
++        ../windows/qwindowsdrag.cpp
+ )
+ 
+ qt_internal_extend_target(QWindowsDirect2DIntegrationPlugin CONDITION QT_FEATURE_tabletevent
+diff --git a/src/plugins/platforms/windows/CMakeLists.txt b/src/plugins/platforms/windows/CMakeLists.txt
+index ca1bbcb758..213fdcbff5 100644
+--- a/src/plugins/platforms/windows/CMakeLists.txt
++++ b/src/plugins/platforms/windows/CMakeLists.txt
+@@ -125,6 +125,8 @@ qt_internal_extend_target(QWindowsIntegrationPlugin CONDITION QT_FEATURE_clipboa
+ qt_internal_extend_target(QWindowsIntegrationPlugin CONDITION QT_FEATURE_clipboard AND QT_FEATURE_draganddrop
+     SOURCES
+         qwindowsdrag.cpp qwindowsdrag.h
++    NO_PCH_SOURCES
++        qwindowsdrag.cpp
+ )
+ 
+ qt_internal_extend_target(QWindowsIntegrationPlugin CONDITION QT_FEATURE_tabletevent
+-- 
+2.37.3.windows.1
+


=====================================
contrib/src/qt/rules.mak
=====================================
@@ -12,8 +12,12 @@ endif
 ifdef HAVE_WIN32
 PKGS += qt
 endif
+ifneq ($(findstring qt,$(PKGS)),)
+PKGS_TOOLS += qt-tools
+endif
+PKGS_ALL += qt-tools
 
-DEPS_qt += freetype2 $(DEPS_freetype2) harfbuzz $(DEPS_harfbuzz) jpeg $(DEPS_jpeg) png $(DEPS_png) zlib $(DEPS_zlib) vulkan-headers $(DEPS_vulkan-headers)
+DEPS_qt = qt-tools freetype2 $(DEPS_freetype2) harfbuzz $(DEPS_harfbuzz) jpeg $(DEPS_jpeg) png $(DEPS_png) zlib $(DEPS_zlib) vulkan-headers $(DEPS_vulkan-headers)
 ifdef HAVE_WIN32
 DEPS_qt += d3d12 $(DEPS_d3d12) dcomp $(DEPS_dcomp)
 endif
@@ -21,12 +25,21 @@ endif
 ifeq ($(call need_pkg,"Qt6Core >= 6.6 Qt6Gui >= 6.6 Qt6Widgets >= 6.6 Qt6Network >= 6.6"),)
 PKGS_FOUND += qt
 endif
+ifndef HAVE_CROSS_COMPILE
+PKGS_FOUND += qt-tools
+endif
+ifeq ($(shell qt-cmake --version 2>/dev/null | head -1 | sed s/'.* '// | cut -d '.' -f -2),3.22)
+PKGS_FOUND += qt-tools
+endif
 
 $(TARBALLS)/qtbase-everywhere-src-$(QTBASE_VERSION_FULL).tar.xz:
 	$(call download_pkg,$(QTBASE_URL), qt)
 
 .sum-qt: qtbase-everywhere-src-$(QTBASE_VERSION_FULL).tar.xz
 
+.sum-qt-tools: .sum-qt
+	touch $@
+
 qt: qtbase-everywhere-src-$(QTBASE_VERSION_FULL).tar.xz .sum-qt
 	$(UNPACK)
 	$(APPLY) $(SRC)/qt/0001-CMake-Place-resources-into-static-libraries-not-obje.patch
@@ -37,6 +50,7 @@ qt: qtbase-everywhere-src-$(QTBASE_VERSION_FULL).tar.xz .sum-qt
 	$(APPLY) $(SRC)/qt/0006-Do-not-include-D3D12MemAlloc.h-in-header-file.patch
 	$(APPLY) $(SRC)/qt/0007-Try-DCompositionCreateDevice3-first-if-available.patch
 	$(APPLY) $(SRC)/qt/0008-Try-to-satisfy-Windows-7-compatibility.patch
+	$(APPLY) $(SRC)/qt/0001-disable-precompiled-headers-when-forcing-WINVER-inte.patch
 	$(MOVE)
 
 QTBASE_CONFIG := -release
@@ -71,25 +85,15 @@ QTBASE_NATIVE_CONFIG := -DQT_BUILD_EXAMPLES=FALSE -DQT_BUILD_TESTS=FALSE -DFEATU
 	-DFEATURE_texthtmlparser=OFF -DFEATURE_cssparser=OFF -DFEATURE_textodfwriter=OFF -DFEATURE_textmarkdownreader=OFF \
 	-DFEATURE_textmarkdownwriter=OFF -DINPUT_libb2=no -DFEATURE_harfbuzz=OFF -DFEATURE_freetype=OFF
 
-.qt: qt toolchain.cmake
-ifdef HAVE_CROSS_COMPILE
-	# Native
+.qt-tools: BUILD_DIR=$</vlc_native
+.qt-tools: qt
 	$(CMAKECLEAN)
 	$(BUILDVARS) $(CMAKE_NATIVE) $(QTBASE_NATIVE_CONFIG)
 	+$(CMAKEBUILD)
 	$(CMAKEINSTALL)
+	touch $@
 
-	# Note that libexec is treated as bin on Windows by Qt
-	
-	# MOC
-	ln -sf $(BUILDPREFIX)/libexec/moc $(PREFIX)/bin/moc
-
-	# RCC
-	ln -sf $(BUILDPREFIX)/libexec/rcc $(PREFIX)/bin/rcc
-
-	# UIC
-	ln -sf $(BUILDPREFIX)/libexec/uic $(PREFIX)/bin/uic
-endif
+.qt: qt toolchain.cmake
 	$(CMAKECLEAN)
 	mkdir -p $(BUILD_DIR)
 


=====================================
contrib/src/qtdeclarative/rules.mak
=====================================
@@ -4,21 +4,39 @@ QTDECLARATIVE_VERSION_MAJOR := 6.6
 QTDECLARATIVE_VERSION := $(QTDECLARATIVE_VERSION_MAJOR).2
 QTDECLARATIVE_URL := $(QT)/$(QTDECLARATIVE_VERSION_MAJOR)/$(QTDECLARATIVE_VERSION)/submodules/qtdeclarative-everywhere-src-$(QTDECLARATIVE_VERSION).tar.xz
 
-DEPS_qtdeclarative += qt $(DEPS_qt) qtshadertools $(DEPS_qtshadertools)
+DEPS_qtdeclarative-tools := qt-tools $(DEPS_qt-tools)
+
+DEPS_qtdeclarative = qt $(DEPS_qt) qtshadertools $(DEPS_qtshadertools)
+ifdef HAVE_CROSS_COMPILE
+DEPS_qtdeclarative += qtdeclarative-tools $(DEPS_qtdeclarative-tools) qtshadertools-tools $(DEPS_qtshadertools-tools) spirv-tools $(DEPS_spirv-tools)
+endif
 
 ifdef HAVE_WIN32
 PKGS += qtdeclarative
 endif
+ifneq ($(findstring qt,$(PKGS)),)
+PKGS_TOOLS += qtdeclarative-tools
+endif
+PKGS_ALL += qtdeclarative-tools
 
 ifeq ($(call need_pkg,"Qt6Qml >= 6.6 Qt6Quick >= 6.6 Qt6QuickControls2 >= 6.6 Qt6QuickDialogs2 >= 6.6 Qt6QuickLayouts >= 6.6"),)
 PKGS_FOUND += qtdeclarative
 endif
+ifndef HAVE_CROSS_COMPILE
+PKGS_FOUND += qtdeclarative-tools
+endif
+ifeq ($(shell qml --version 2>/dev/null | head -1 | sed s/'.* '// | cut -d '.' -f -2),$(QTDECLARATIVE_VERSION_MAJOR))
+PKGS_FOUND += qtshadertools-tools
+endif
 
 $(TARBALLS)/qtdeclarative-everywhere-src-$(QTDECLARATIVE_VERSION).tar.xz:
 	$(call download_pkg,$(QTDECLARATIVE_URL),qt)
 
 .sum-qtdeclarative: qtdeclarative-everywhere-src-$(QTDECLARATIVE_VERSION).tar.xz
 
+.sum-qtdeclarative-tools: .sum-qtdeclarative
+	touch $@
+
 qtdeclarative: qtdeclarative-everywhere-src-$(QTDECLARATIVE_VERSION).tar.xz .sum-qtdeclarative
 	$(UNPACK)
 	$(APPLY) $(SRC)/qtdeclarative/0001-Fix-incorrect-library-inclusion.patch
@@ -43,30 +61,24 @@ QT_DECLARATIVE_NATIVE_CONFIG := $(QT_DECLARATIVE_CONFIG) \
 	--no-feature-quick-particles \
 	--no-feature-quick-shadereffect \
 	--no-feature-quick-path \
-	--no-feature-qml-network \
-	-- -DFEATURE_qml_debug=OFF -DFEATURE_qml_profiler=OFF
+	--no-feature-qml-network
 
-.qtdeclarative: qtdeclarative toolchain.cmake
-	mkdir -p $(PREFIX)/libexec
-ifdef HAVE_CROSS_COMPILE
-	# Native
+QT_DECLARATIVE_FEATURES := -DFEATURE_qml_debug=OFF -DFEATURE_qml_profiler=OFF
+
+.qtdeclarative-tools: BUILD_DIR=$</vlc_native
+.qtdeclarative-tools: qtdeclarative
 	$(CMAKECLEAN)
 	mkdir -p $(BUILD_DIR)
-	cd $(BUILD_DIR) && $(BUILDVARS) $(BUILDPREFIX)/bin/qt-configure-module $(BUILD_SRC) $(QT_DECLARATIVE_NATIVE_CONFIG)
+	cd $(BUILD_DIR) && $(BUILDVARS) $(BUILDPREFIX)/bin/qt-configure-module $(BUILD_SRC) $(QT_DECLARATIVE_NATIVE_CONFIG) -- $(QT_DECLARATIVE_FEATURES)
 	+$(CMAKEBUILD)
 	$(CMAKEINSTALL)
+	touch $@
 
-	# Note that libexec is treated as bin on Windows by Qt
-
-	# qmlcachegen
-	ln -sf $(BUILDPREFIX)/libexec/qmlcachegen $(PREFIX)/bin/qmlcachegen
-
-	# qmlimportscanner
-	ln -sf $(BUILDPREFIX)/libexec/qmlimportscanner $(PREFIX)/bin/qmlimportscanner
-endif
+.qtdeclarative: qtdeclarative toolchain.cmake
+	mkdir -p $(PREFIX)/libexec
 	$(CMAKECLEAN)
 	mkdir -p $(BUILD_DIR)
-	+cd $(BUILD_DIR) && $(PREFIX)/bin/qt-configure-module $(BUILD_SRC) $(QT_DECLARATIVE_CONFIG) -- -DFEATURE_qml_debug=OFF -DFEATURE_qml_profiler=OFF
+	+cd $(BUILD_DIR) && $(PREFIX)/bin/qt-configure-module $(BUILD_SRC) $(QT_DECLARATIVE_CONFIG) -- $(QT_DECLARATIVE_FEATURES)
 	+$(CMAKEBUILD)
 	$(CMAKEINSTALL)
 


=====================================
contrib/src/qtshadertools/rules.mak
=====================================
@@ -5,7 +5,12 @@ QTSHADERTOOLS_VERSION_MAJOR := 6.6
 QTSHADERTOOLS_VERSION := $(QTSHADERTOOLS_VERSION_MAJOR).2
 QTSHADERTOOLS_URL := $(QT)/$(QTSHADERTOOLS_VERSION_MAJOR)/$(QTSHADERTOOLS_VERSION)/submodules/qtshadertools-everywhere-src-$(QTSHADERTOOLS_VERSION).tar.xz
 
-DEPS_qtshadertools += qt $(DEPS_qt) spirv-tools $(DEPS_spirv-tools)
+DEPS_qtshadertools-tools := qt-tools $(DEPS_qt-tools)
+
+DEPS_qtshadertools += qt $(DEPS_qt) spirv-tools
+ifdef HAVE_CROSS_COMPILE
+DEPS_qtshadertools += qtshadertools-tools $(DEPS_qtshadertools-tools)
+endif
 ifdef HAVE_WIN32
 DEPS_qtshadertools += fxc2 $(DEPS_fxc2)
 endif
@@ -13,33 +18,44 @@ endif
 ifdef HAVE_WIN32
 PKGS += qtshadertools
 endif
+ifneq ($(findstring qt,$(PKGS)),)
+PKGS_TOOLS += qtshadertools-tools
+endif
+PKGS_ALL += qtshadertools-tools
 
 ifeq ($(call need_pkg,"Qt6ShaderTools >= 6.6"),)
 PKGS_FOUND += qtshadertools
 endif
+ifndef HAVE_CROSS_COMPILE
+PKGS_FOUND += qtshadertools-tools
+endif
+ifeq ($(shell qsb --version 2>/dev/null | head -1 | sed s/'.* '// | cut -d '.' -f -2),$(QTSHADERTOOLS_VERSION_MAJOR))
+PKGS_FOUND += qtshadertools-tools
+endif
 
 $(TARBALLS)/qtshadertools-everywhere-src-$(QTSHADERTOOLS_VERSION).tar.xz:
 	$(call download,$(QTSHADERTOOLS_URL))
 
 .sum-qtshadertools: qtshadertools-everywhere-src-$(QTSHADERTOOLS_VERSION).tar.xz
 
+.sum-qtshadertools-tools: .sum-qtshadertools
+	touch $@
+
 qtshadertools: qtshadertools-everywhere-src-$(QTSHADERTOOLS_VERSION).tar.xz .sum-qtshadertools
 	$(UNPACK)
 	$(APPLY) $(SRC)/qtshadertools/0001-Use-fxc2-through-wine-instead-of-fxc.patch
 	$(MOVE)
 
-.qtshadertools: qtshadertools toolchain.cmake
-ifdef HAVE_CROSS_COMPILE
-	# Native
+.qtshadertools-tools: BUILD_DIR=$</vlc_native
+.qtshadertools-tools: qtshadertools
 	$(CMAKECLEAN)
 	mkdir -p $(BUILD_DIR)
 	cd $(BUILD_DIR) && $(BUILDVARS) $(BUILDPREFIX)/bin/qt-configure-module $(BUILD_SRC)
 	+$(CMAKEBUILD)
 	$(CMAKEINSTALL)
+	touch $@
 
-	# qsb
-	ln -sf $(BUILDPREFIX)/bin/qsb $(PREFIX)/bin/qsb
-endif
+.qtshadertools: qtshadertools toolchain.cmake
 	$(CMAKECLEAN)
 	mkdir -p $(BUILD_DIR)
 	+cd $(BUILD_DIR) && $(PREFIX)/bin/qt-configure-module $(BUILD_SRC)


=====================================
contrib/src/qtvlcdeps/rules.mak
=====================================
@@ -6,7 +6,7 @@ ifdef HAVE_LINUX
 DEPS_qtvlcdeps += qtwayland $(DEPS_qtwayland)
 endif
 
-ifdef HAVE_WIN32
+ifneq ($(findstring qt,$(PKGS)),)
 PKGS += qtvlcdeps
 endif
 


=====================================
contrib/src/spirv-tools/rules.mak
=====================================
@@ -6,7 +6,7 @@ SPIRVTOOLS_URL := $(GITHUB)/KhronosGroup/SPIRV-Tools/archive/refs/tags/v$(SPIRVT
 SPIRVHEADERS_VERSION := 1.3.246.1
 SPIRVHEADERS_URL := $(GITHUB)/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-$(SPIRVHEADERS_VERSION).tar.gz
 
-ifdef HAVE_WIN32
+ifneq ($(findstring qt,$(PKGS)),)
 # match with Qt targets
 PKGS_TOOLS += spirv-tools
 endif


=====================================
extras/ci/gitlab-ci.yml
=====================================
@@ -23,7 +23,7 @@ variables:
     VLC_WIN64_IMAGE: registry.videolan.org/vlc-debian-win64-posix:20240212151604
     VLC_WIN_LLVM_MSVCRT_IMAGE: registry.videolan.org/vlc-debian-llvm-msvcrt:20240212151604
     VLC_WIN_LLVM_UCRT_IMAGE: registry.videolan.org/vlc-debian-llvm-ucrt:20240212151604
-    VLC_DEBIAN_IMAGE: registry.videolan.org/vlc-debian-unstable:20240212151604
+    VLC_DEBIAN_IMAGE: registry.videolan.org/vlc-debian-unstable:20240402131352
     VLC_ANDROID_IMAGE: registry.videolan.org/vlc-debian-android:20231013040434
     VLC_SNAP_IMAGE: registry.videolan.org/vlc-ubuntu-focal:20231013031754
     VLC_RASPBIAN_IMAGE: registry.videolan.org/vlc-ubuntu-raspberry:20231013032350
@@ -363,10 +363,10 @@ debian-meson:
         - |
             # We split in two different commands to handle the case where
             # the coverage will be generated on different jobs later.
-            # Note: qt5-vlc_qrc.cpp needs to be remove from the report since its
+            # Note: qt6-vlc_qrc.cpp needs to be remove from the report since its
             # coverage should not be checked. It leads to gcovr having trouble
             # parsing the coverage otherwise.
-            gcovr -r "${CI_PROJECT_DIR}/" --json "${CI_PROJECT_DIR}/${CI_JOB_NAME}.cov.json" -j$NCPU --gcov-ignore-parse-errors=negative_hits.warn_once_per_file --exclude build-meson/modules/gui/qt/qt5-vlc_qrc.cpp
+            gcovr -r "${CI_PROJECT_DIR}/" --json "${CI_PROJECT_DIR}/${CI_JOB_NAME}.cov.json" -j$NCPU --gcov-ignore-parse-errors=negative_hits.warn_once_per_file --exclude build-meson/modules/gui/qt/qt6-vlc_qrc.cpp
 
         - mkdir html-coverage
         - >


=====================================
extras/package/win32/build.sh
=====================================
@@ -360,7 +360,6 @@ export CXXFLAGS
 ${VLC_ROOT_PATH}/contrib/bootstrap --host=$TRIPLET --prefix=../$CONTRIB_PREFIX $CONTRIBFLAGS
 
 # Rebuild the contribs or use the prebuilt ones
-make list
 if [ "$PREBUILT" = "yes" ]; then
     if [ -n "$VLC_PREBUILT_CONTRIBS_URL" ]; then
         make prebuilt PREBUILT_URL="$VLC_PREBUILT_CONTRIBS_URL" || PREBUILT_FAILED=yes
@@ -370,6 +369,7 @@ if [ "$PREBUILT" = "yes" ]; then
 else
     PREBUILT_FAILED=yes
 fi
+make list
 if [ -n "$PREBUILT_FAILED" ]; then
     make -j$JOBS fetch
     make -j$JOBS -k || make -j1


=====================================
modules/gui/qt/Makefile.am
=====================================
@@ -1116,6 +1116,11 @@ libqt_plugin_la_SHADER := shaders/FadingEdge.frag \
                           shaders/RectFilter.frag \
                           shaders/SubTexture.vert \
                           shaders/PlayerBlurredBackground.frag
+if ENABLE_QT
+BUILT_SOURCES += \
+    $(libqt_plugin_la_SHADER:.frag=.frag.qsb) \
+    $(libqt_plugin_la_SHADER:.vert=.vert.qsb)
+endif
 
 QSB_PARAMS = --glsl="100 es,120,150" --batchable -O
 if HAVE_WIN32
@@ -1136,6 +1141,7 @@ shaders/shaders.cpp: $(srcdir)/shaders/shaders.qrc $(libqt_plugin_la_SHADER:.fra
 	$(AM_V_GEN) $(RCC) --name shaders -o $@ $(builddir)/shaders/$(notdir $(filter %.qrc, $^))
 
 libqt_plugin_la_SOURCES += shaders/shaders.qrc $(libqt_plugin_la_SHADER)
+BUILT_SOURCES += shaders/shaders.qrc
 
 lib_qt_plugin_la_QRC = vlc.qrc
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/e138206a0bea793405d18861b3f93d3c20a52a94...41bbcde5ec71881f99d85c78df6839a3a7438b6b

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/e138206a0bea793405d18861b3f93d3c20a52a94...41bbcde5ec71881f99d85c78df6839a3a7438b6b
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