[vlc-commits] [Git][videolan/vlc][3.0.x] 7 commits: package/win32: build.sh: force Win XP SP1 compatibility

Steve Lhomme (@robUx4) gitlab at videolan.org
Fri Apr 14 06:42:58 UTC 2023



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


Commits:
b16365ae by Steve Lhomme at 2023-04-13T06:46:13+02:00
package/win32: build.sh: force Win XP SP1 compatibility

Recent mingw64 with gcc12 (Debian) defaults to Windows 10. We need to force
the toolchain to use only WinXP API's (apart from local overrides).

This reverts d3ee976c416212924fb2f97bae2bd6c946bbddb5 but forces the proper
minimum version for 3.0.

- - - - -
dfee8741 by Steve Lhomme at 2023-04-13T07:41:04+02:00
contrib: d3d11: include pthreads IDL

They are likely more up to date and always there when we build.
Ultimately we should just use the ones in there.

- - - - -
b4b1f083 by Steve Lhomme at 2023-04-13T07:41:04+02:00
contrib: qt: fix windows build with gcc 12

Redefining the system FILE_ID_INFO gives an error. We only need to define it
when it's not available (builds before win8)

- - - - -
141e6091 by Steve Lhomme at 2023-04-13T07:42:39+02:00
contrib: aribb25: backport upstream patches

Don't build a test program in the library!

Edited the first patch to remove the .gitignore patching.

(cherry picked from commit 301b3f15f9ffe5ac2f07460ff2341b4869aa4728)

Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>

- - - - -
3dc1d3c4 by Steve Lhomme at 2023-04-13T07:42:46+02:00
contrib: aribb25: don't build the sample app

No idea why the test code is built with -Werror when the code is not clean.

(cherry picked from commit c81a99f2c9a31b034ea1b3803e133dec9b3d107a)

Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>

- - - - -
c2fe3091 by Hugo Beauzée-Luyssen at 2023-04-13T07:42:52+02:00
contribs: ebml: Fix build with GCC11

Already applied upstream

(cherry picked from commit 6834f9a2b61b025fb21ee94da905d2e06f815633)

Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>

- - - - -
b6b5b788 by Steve Lhomme at 2023-04-13T07:42:58+02:00
contrib: ebml: update to 1.4.3

(cherry picked from commit f7eb37ed0b9bdc114ac3a7f0e1378e449f78f733)

Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>

- - - - -


10 changed files:

- + contrib/src/aribb25/0001-add-an-option-not-to-build-the-b25-sample-code.patch
- + contrib/src/aribb25/0001-fix-build-script.patch
- + contrib/src/aribb25/0002-fix-libs-include.patch
- contrib/src/aribb25/rules.mak
- contrib/src/d3d11/rules.mak
- contrib/src/ebml/SHA512SUMS
- contrib/src/ebml/rules.mak
- + contrib/src/qt/0019-QFileSystemEngine-only-define-FILE_ID_INFO-for-build.patch
- contrib/src/qt/rules.mak
- extras/package/win32/build.sh


Changes:

=====================================
contrib/src/aribb25/0001-add-an-option-not-to-build-the-b25-sample-code.patch
=====================================
@@ -0,0 +1,44 @@
+From 3d18150434e374d1e7f3b2ff9973ff24c993dc36 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Wed, 3 Jun 2020 11:34:26 +0200
+Subject: [PATCH] add an option not to build the b25 sample code
+
+Given it's built with -Werror it may fail in many cases.
+---
+ Makefile.am  | 2 ++
+ configure.ac | 5 +++++
+ 2 files changed, 7 insertions(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index 0cf8e51..dd9ddc8 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -17,7 +17,9 @@ pkginclude_HEADERS = src/arib_std_b25_error_code.h src/b_cas_card_error_code.h \
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = src/aribb25.pc
+ 
++if BUILD_B25
+ bin_PROGRAMS = b25
++endif
+ b25_SOURCES = src/td.c
+ b25_CFLAGS = $(AM_CFLAGS) -Wall -Werror $(pcsclite_CFLAGS)
+ b25_LDADD = libaribb25.la $(pcsclite_LIBS) $(PCSC_LIBS)
+diff --git a/configure.ac b/configure.ac
+index baa856e..292a748 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -82,6 +82,11 @@ AS_IF([test "$SYS" = mingw32],[
+   ], [AC_MSG_ERROR([${pcsclite_PKG_ERRORS}.])])
+ ])
+ 
++AC_ARG_ENABLE([b25],
++  AS_HELP_STRING([--disable-b25], [don't build the b25 sample app]))
++AM_CONDITIONAL([BUILD_B25], [test "${enable_b25}" != "no"])
++
++
+ AC_CONFIG_HEADERS([src/config.h])
+ AC_CONFIG_FILES([Makefile src/aribb25.pc])
+ AC_OUTPUT
+-- 
+2.26.0.windows.1
+


=====================================
contrib/src/aribb25/0001-fix-build-script.patch
=====================================
@@ -0,0 +1,70 @@
+From 1fb7ec239b4ef7bf05f824af9b3ddef7f5601685 Mon Sep 17 00:00:00 2001
+From: midchildan <midchildan+git at gmail.com>
+Date: Sun, 4 Feb 2018 23:00:27 +0900
+Subject: [PATCH 1/2] fix build script
+
+Signed-off-by: Yuudai Yamashigi <yyamashigi at videolan.org>
+---
+ Makefile.am  | 7 ++++++-
+ configure.ac | 1 +
+ src/td.c     | 3 ++-
+ 4 files changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index b95a569..ee4d508 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -3,7 +3,7 @@ ACLOCAL_AMFLAGS = -I m4
+ lib_LTLIBRARIES = libaribb25.la
+ libaribb25_la_SOURCES = src/arib_std_b25.c src/b_cas_card.c src/multi2.c \
+         src/portable.h src/ts_section_parser.c src/arib_std_b25_error_code.h \
+-        src/b_cas_card_error_code.h src/multi2_error_code.h src/td.c \
++        src/b_cas_card_error_code.h src/multi2_error_code.h \
+         src/ts_section_parser_error_code.h src/arib_std_b25.h src/b_cas_card.h \
+         src/multi2.h src/ts_common_types.h src/ts_section_parser.h src/aribb25api.h
+ libaribb25_la_LIBADD = $(AM_LIBS) $(pcsclite_CFLAGS) $(PCSC_LIBS)
+@@ -17,4 +17,9 @@ pkginclude_HEADERS = src/arib_std_b25_error_code.h src/b_cas_card_error_code.h \
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = src/aribb25.pc
+
++bin_PROGRAMS = b25
++b25_SOURCES = src/td.c
++b25_CFLAGS = $(AM_CFLAGS) -Wall -Werror $(pcsclite_CFLAGS)
++b25_LDADD = libaribb25.la $(pcsclite_LIBS) $(PCSC_LIBS)
++
+ dist_doc_DATA = README.jp.txt README.md LICENCE
+diff --git a/configure.ac b/configure.ac
+index ec1d35f..baa856e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -82,5 +82,6 @@ AS_IF([test "$SYS" = mingw32],[
+   ], [AC_MSG_ERROR([${pcsclite_PKG_ERRORS}.])])
+ ])
+
++AC_CONFIG_HEADERS([src/config.h])
+ AC_CONFIG_FILES([Makefile src/aribb25.pc])
+ AC_OUTPUT
+diff --git a/src/td.c b/src/td.c
+index c27201f..288aa5a 100644
+--- a/src/td.c
++++ b/src/td.c
+@@ -37,6 +37,7 @@ PERFORMANCE OF THIS SOFTWARE.
+
+ #include "arib_std_b25.h"
+ #include "b_cas_card.h"
++#include "config.h"
+
+ typedef struct {
+ 	int32_t round;
+@@ -85,7 +86,7 @@ int main(int argc, char **argv)
+
+ static void show_usage()
+ {
+-	fprintf(stderr, "b25 - ARIB STD-B25 test program ver. 0.2.5 (2012, 2/13)\n");
++	fprintf(stderr, "%s\n", PACKAGE_STRING);
+ 	fprintf(stderr, "usage: b25 [options] src.m2t dst.m2t [more pair ..]\n");
+ 	fprintf(stderr, "options:\n");
+ 	fprintf(stderr, "  -r round (integer, default=4)\n");
+--
+2.26.0.windows.1
+


=====================================
contrib/src/aribb25/0002-fix-libs-include.patch
=====================================
@@ -0,0 +1,25 @@
+From c14938692b313b5ba953543fd94fd1cad0eeef18 Mon Sep 17 00:00:00 2001
+From: Yuudai Yamashigi <yyamashigi at videolan.org>
+Date: Tue, 6 Feb 2018 23:37:48 +0100
+Subject: [PATCH 2/2] fix libs include
+
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index ee4d508..0cf8e51 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -6,7 +6,7 @@ libaribb25_la_SOURCES = src/arib_std_b25.c src/b_cas_card.c src/multi2.c \
+         src/b_cas_card_error_code.h src/multi2_error_code.h \
+         src/ts_section_parser_error_code.h src/arib_std_b25.h src/b_cas_card.h \
+         src/multi2.h src/ts_common_types.h src/ts_section_parser.h src/aribb25api.h
+-libaribb25_la_LIBADD = $(AM_LIBS) $(pcsclite_CFLAGS) $(PCSC_LIBS)
++libaribb25_la_LIBADD = $(AM_LIBS) $(pcsclite_LIBS) $(PCSC_LIBS)
+ libaribb25_la_CFLAGS = $(AM_CFLAGS) -Wall -Werror -fvisibility=hidden $(pcsclite_CFLAGS)
+ 
+ pkginclude_HEADERS = src/arib_std_b25_error_code.h src/b_cas_card_error_code.h \
+-- 
+2.26.0.windows.1
+


=====================================
contrib/src/aribb25/rules.mak
=====================================
@@ -20,9 +20,13 @@ $(TARBALLS)/aribb25-$(ARIBB25_VERSION).tar.gz:
 
 aribb25: aribb25-$(ARIBB25_VERSION).tar.gz .sum-aribb25
 	$(UNPACK)
+	$(APPLY) $(SRC)/aribb25/0001-fix-build-script.patch
+	$(APPLY) $(SRC)/aribb25/0002-fix-libs-include.patch
+	$(APPLY) $(SRC)/aribb25/0001-add-an-option-not-to-build-the-b25-sample-code.patch
 	$(MOVE)
 
 .aribb25: aribb25
-	cd $< && $(HOSTVARS) ./configure $(HOSTCONF)
+	$(RECONF)
+	cd $< && $(HOSTVARS) ./configure $(HOSTCONF) --disable-b25
 	cd $< && $(MAKE) && $(MAKE) install
 	touch $@


=====================================
contrib/src/d3d11/rules.mak
=====================================
@@ -6,6 +6,7 @@ else
 #ugly way to get the default location of standard idl files
 IDL_INCLUDES = -I/`echo $(MSYSTEM) | tr A-Z a-z`/$(BUILD)/include
 endif
+IDL_INCLUDES += -Ipthreads/mingw-w64-headers/include
 
 D3D11_COMMIT_ID := a0cd5afeb60be3be0860e9a203314c10485bb9b8
 D3D11_1_COMMIT_ID := aa6ab47929a9cac6897f38e630ce0bb88458e288
@@ -40,6 +41,7 @@ DST_DXGI16_H = $(PREFIX)/include/dxgi1_6.h
 ifdef HAVE_WIN32
 PKGS += d3d11
 endif
+DEPS_d3d11 = pthreads $(DEPS_pthreads)
 
 $(TARBALLS)/d3d11.idl:
 	$(call download_pkg,$(D3D11_IDL_URL),d3d11)


=====================================
contrib/src/ebml/SHA512SUMS
=====================================
@@ -1 +1 @@
-b9535b60ba2716053819d48e345f161ad797a74678fdf60797d652da9dfa7cab905669dac744f30a81083341462bac6f2a0e69fa7d80ee59cf7414bffbd667d5  libebml-1.4.2.tar.xz
+6a7a544f3f5a273eaab8c71aa692492cbfb671b3d73f03ab76438843a9a7a9379f9cffdae0e1452cf064e43c10ad82424645504a23d7f3336eabcd38f2621d0a  libebml-1.4.3.tar.xz


=====================================
contrib/src/ebml/rules.mak
=====================================
@@ -1,6 +1,6 @@
 # ebml
 
-EBML_VERSION := 1.4.2
+EBML_VERSION := 1.4.3
 EBML_URL := http://dl.matroska.org/downloads/libebml/libebml-$(EBML_VERSION).tar.xz
 
 ifeq ($(call need_pkg,"libebml >= 1.3.8"),)


=====================================
contrib/src/qt/0019-QFileSystemEngine-only-define-FILE_ID_INFO-for-build.patch
=====================================
@@ -0,0 +1,36 @@
+From fc4a82f9ba5dd31405b0615ed967c215277cf15e Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4_qt at ycbcr.xyz>
+Date: Thu, 13 Apr 2023 06:13:36 +0200
+Subject: [PATCH 19/19] QFileSystemEngine: only define FILE_ID_INFO for builds
+ before Win8
+
+Otherwise it redefines a known structure and gives error with gcc 12.
+
+A similar change was done in 4879bc91d421714508fb54d095d9b0104d62d842 but
+it was assuming the minimum build was Vista (not our case).
+
+Change-Id: I6befe6e348f36e01415cdc2817be98b07be23efb
+---
+ src/corelib/io/qfilesystemengine_win.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/corelib/io/qfilesystemengine_win.cpp b/src/corelib/io/qfilesystemengine_win.cpp
+index 257bd4a50e..cf5092fec1 100644
+--- a/src/corelib/io/qfilesystemengine_win.cpp
++++ b/src/corelib/io/qfilesystemengine_win.cpp
+@@ -625,10 +625,12 @@ typedef struct _FILE_ID_128 {
+ } FILE_ID_128, *PFILE_ID_128;
+ #    endif // !(Q_CC_MINGW && FILE_SUPPORTS_INTEGRITY_STREAMS)
+ 
++#    if _WIN32_WINNT < 0x0602 //  Windows 8 onwards
+ typedef struct _FILE_ID_INFO {
+     ULONGLONG VolumeSerialNumber;
+     FILE_ID_128 FileId;
+ } FILE_ID_INFO, *PFILE_ID_INFO;
++#    endif
+ #  endif // if defined (Q_CC_MINGW) || (defined(Q_CC_MSVC) && (_MSC_VER < 1700 || WINVER <= 0x0601))
+ 
+ // File ID for Windows up to version 7.
+-- 
+2.37.3.windows.1
+


=====================================
contrib/src/qt/rules.mak
=====================================
@@ -40,6 +40,7 @@ qt: qt-$(QT_VERSION).tar.xz .sum-qt
 	$(APPLY) $(SRC)/qt/0016-Replace-custom-type-traits-with-std-one-s.patch
 	$(APPLY) $(SRC)/qt/0017-Rename-QtPrivate-is_-un-signed-to-QtPrivate-Is-Un-si.patch
 	$(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
 	$(MOVE)
 


=====================================
extras/package/win32/build.sh
=====================================
@@ -245,9 +245,9 @@ if [ ! -z "$BUILD_UCRT" ]; then
     # the values are not passed to the makefiles/configures
     export LDFLAGS
     export CPPFLAGS
-# else
-#     # The current minimum for VLC is Windows 7 and to use the regular msvcrt
-#     CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0601 -DWINVER=0x0601 -D__MSVCRT_VERSION__=0x700"
+else
+    # The current minimum for VLC 3.0 is Windows XP SP1 and to use the regular msvcrt
+    CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0502 -DWINVER=0x502 -D__MSVCRT_VERSION__=0x700"
 fi
 CFLAGS="$CPPFLAGS $CFLAGS"
 CXXFLAGS="$CPPFLAGS $CXXFLAGS"



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/5478dc024914c707b97fa8326c70fc00673725b1...b6b5b788bca0592f66c3929ff470e6d94d453805

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/5478dc024914c707b97fa8326c70fc00673725b1...b6b5b788bca0592f66c3929ff470e6d94d453805
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