[vlc-commits] [Git][videolan/vlc][3.0.x] 6 commits: contrib: qt: do not use external LDFLAGS on Windows

Steve Lhomme (@robUx4) gitlab at videolan.org
Tue Nov 19 08:37:41 UTC 2024



Steve Lhomme pushed to branch 3.0.x at VideoLAN / VLC


Commits:
b3a04fcd by Steve Lhomme at 2024-11-19T07:44:17+00:00
contrib: qt: do not use external LDFLAGS on Windows

When cross-compiling it may try to link native tools with windows libraries.

- - - - -
4acf8274 by Steve Lhomme at 2024-11-19T07:44:17+00:00
contrib: qt: don't force the WINVER/_WIN32_WINNT version

We set the value ourselves.

contrib: qt: fix forcing the WINVER/_WIN32_WINNT version without NTDDI_VERSION

That leads to inconsistencies when detecting available API's.

- - - - -
22722d96 by Steve Lhomme at 2024-11-19T07:44:17+00:00
contrib: qt: don't redefine TOUCHINPUT in mingw-w64

It's defined since mingw-w64 v4.
It won't be defined if an WINVER smaller than 0x0601 (Win7) is used.

- - - - -
d4188b85 by Steve Lhomme at 2024-11-19T07:44:17+00:00
skins2: remove outdated WINVER value

We don't need to force it to Win2K.

(cherry picked from commit b460a4474fa8a8ce1fc14372c4b76d5d25251edd)

- - - - -
ab35f87d by Steve Lhomme at 2024-11-19T07:44:17+00:00
CI: add Windows ARM64 build target

It's the same target as for VLC 4.

- It's using UCRT (rather than MSVCRT).
- It is built with LLVM 15.
- It is targeting Windows 10 1809 = Redstone 5.

- - - - -
536f90c4 by Steve Lhomme at 2024-11-19T07:44:17+00:00
CI: add Windows ARM64 nightly build

Since it's built with LLVM we can generate PDBs.

- - - - -


3 changed files:

- contrib/src/qt/rules.mak
- extras/ci/gitlab-ci.yml
- modules/gui/skins2/win32/win32_graphics.cpp


Changes:

=====================================
contrib/src/qt/rules.mak
=====================================
@@ -42,6 +42,10 @@ qt: qt-$(QT_VERSION).tar.xz .sum-qt
 	$(APPLY) $(SRC)/qt/0018-Remove-qtypetraits.h-s-contents-altogether.patch
 	$(APPLY) $(SRC)/qt/0019-QFileSystemEngine-only-define-FILE_ID_INFO-for-build.patch
 	$(APPLY) $(SRC)/qt/systray-no-sound.patch
+	# fix forcing the WINVER/_WIN32_WINNT version without NTDDI_VERSION
+	sed -i.orig -e "s/DEFINES += WINVER/DEFINES += NTDDI_VERSION=0x06000000 WINVER/" "$(UNPACK_DIR)/src/network/kernel/kernel.pri"
+	# TOUCHINPUT is properly defined in mingw since v4
+	sed -i.orig -e "s/defined(Q_CC_MINGW) || !defined(TOUCHEVENTF_MOVE)/!defined(TOUCHEVENTF_MOVE)/" "$(UNPACK_DIR)/src/plugins/platforms/windows/qtwindows_additional.h"
 	$(MOVE)
 
 ifdef HAVE_MACOSX
@@ -50,7 +54,8 @@ endif
 ifdef HAVE_WIN32
 # filter out the contrib includes as Qt doesn't ike pthread-GC2 headers
 QT_VARS := CFLAGS="$(shell echo $$CFLAGS | sed 's@ -I$$(PREFIX)/include@@g')" \
-         CXXFLAGS="$(shell echo $$CXXFLAGS | sed 's@ -I$$(PREFIX)/include@@g')"
+         CXXFLAGS="$(shell echo $$CXXFLAGS | sed 's@ -I$$(PREFIX)/include@@g')" \
+         LDFLAGS="-L$(PREFIX)/lib $(EXTRA_LDFLAGS)"
 ifdef HAVE_CLANG
 QT_SPEC := win32-clang-g++
 else


=====================================
extras/ci/gitlab-ci.yml
=====================================
@@ -16,6 +16,7 @@ variables:
     VLC_WIN32_IMAGE: registry.videolan.org/vlc-debian-win32-3.0:20211008142723
     VLC_WIN64_IMAGE: registry.videolan.org/vlc-debian-win64-3.0:20211008140026
     VLC_UWP_LLVM_IMAGE: registry.videolan.org/vlc-debian-llvm-uwp:20200706065223
+    VLC_WIN_LLVM_UCRT_IMAGE: registry.videolan.org/vlc-debian-llvm-ucrt:20241111035123
     VLC_DEBIAN_IMAGE: registry.videolan.org/vlc-debian-unstable:20200229201904
     VLC_ANDROID_IMAGE: registry.videolan.org/vlc-debian-android-3.0:20230621085943
     VLC_SNAP_IMAGE: registry.videolan.org/vlc-ubuntu-bionic:20190627090437
@@ -38,6 +39,11 @@ variables:
         HOST_ARCH: x86_64
         TRIPLET: $HOST_ARCH-w64-mingw32
 
+.variables-win64-arm: &variables-win64-arm
+        SHORTARCH: arm64
+        HOST_ARCH: aarch64
+        TRIPLET: $HOST_ARCH-w64-mingw32
+
 .variables-macos-x86_64: &variables-macos-x86_64
         VLC_PATH: /Users/videolanci/sandbox/bin
         VLC_FORCE_KERNELVERSION: 18
@@ -118,6 +124,17 @@ win64:
         name: $VLC_WIN64_IMAGE
     variables: *variables-win64
 
+win64-arm-llvm:
+    extends: .win-common
+    image:
+        name: $VLC_WIN_LLVM_UCRT_IMAGE
+    variables:
+        <<: *variables-win64-arm
+        UWP_EXTRA_BUILD_FLAGS: -u -x -S 0x0A000006
+        # Clang <= 15 produces incorrect unwind info for code with
+        # branch protection enabled on Windows.
+        CONFIGFLAGS: --disable-branch-protection
+
 uwp64-libvlc-llvm:
     extends: .win-common
     image:
@@ -153,6 +170,20 @@ nightly-win64:
         name: $VLC_WIN64_IMAGE
     variables: *variables-win64
 
+nightly-win64-arm-llvm:
+    extends: .nightly-win-common
+    image:
+        name: $VLC_WIN_LLVM_UCRT_IMAGE
+    variables:
+        <<: *variables-win64-arm
+        VLCARCH: winarm64-ucrt
+        TRIPLET: $HOST_ARCH-ucrt-w64-mingw32
+        LIBVLC_EXTRA_BUILD_FLAGS: -D /
+        UWP_EXTRA_BUILD_FLAGS: -u -x -S 0x0A000006
+        # Clang <= 15 produces incorrect unwind info for code with
+        # branch protection enabled on Windows.
+        CONFIGFLAGS: --disable-branch-protection
+
 .release-win-common:
     # We don't use any of the .win-common template so just use .docker-template
     extends: .docker-template


=====================================
modules/gui/skins2/win32/win32_graphics.cpp
=====================================
@@ -24,8 +24,6 @@
 
 #ifdef WIN32_SKINS
 
-#define WINVER 0x500
-
 #include "win32_factory.hpp"
 #include "win32_graphics.hpp"
 #include "win32_window.hpp"



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/ece51a9e635370136019b27b85b3a190a660bcae...536f90c4f503d43807f8de62f8e758be90323553

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/ece51a9e635370136019b27b85b3a190a660bcae...536f90c4f503d43807f8de62f8e758be90323553
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