Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC
Commits: 62cdc93a by Steve Lhomme at 2021-10-07T11:03:47+00:00 package/win32: build.sh: add an option to set the Windows SDK version The NTDDI version contains the windows version and the subversion like the Windows 10 flavor or Service Pack. This is supported by mingw64 and MSDK. https://docs.microsoft.com/en-us/windows/win32/winprog/using-the-windows-headers - - - - - ed386c86 by Steve Lhomme at 2021-10-07T11:03:47+00:00 CI: add win64 targets built with ucrt These are Win10 builds with a maximum API support of Windows 1809 = Redstone 5. We use the LLVM "UWP" image as it's the one with UCRT runtime by default. It's not tied to UWP API's only. Only the C runtime is different compared to the win64 LLVM builds we already have. - - - - - 6df85ff6 by Steve Lhomme at 2021-10-07T11:03:47+00:00 mft: don't force an older WINVER value We already build for a version equal or higher than 0x0601 (Win7) - - - - - b460a447 by Steve Lhomme at 2021-10-07T11:03:47+00:00 skins2: remove outdated WINVER value We don't need to force it to Win2K. - - - - - 4 changed files: - extras/ci/gitlab-ci.yml - extras/package/win32/build.sh - modules/codec/mft.c - modules/gui/skins2/win32/win32_graphics.cpp Changes: ===================================== extras/ci/gitlab-ci.yml ===================================== @@ -166,6 +166,16 @@ win64-llvm: <<: *variables-win64 WINE_SDK_PATH: /usr/include/wine/wine/windows/ +win64-ucrt-llvm: + extends: .win-common + image: + name: $VLC_UWP_LLVM_IMAGE + variables: + <<: *variables-win64 + WINE_SDK_PATH: /usr/include/wine/wine/windows/ + TRIPLET: $HOST_ARCH-ucrt-w64-mingw32 + UWP_EXTRA_BUILD_FLAGS: -u -x -S 0x0A000006 + uwp64-libvlc-llvm: extends: .win-common image: @@ -218,6 +228,16 @@ nightly-win64-llvm: <<: *variables-win64 WINE_SDK_PATH: /usr/include/wine/wine/windows/ +nightly-win64-ucrt-llvm: + extends: .nightly-win-common + image: + name: $VLC_UWP_LLVM_IMAGE + variables: + <<: *variables-win64 + WINE_SDK_PATH: /usr/include/wine/wine/windows/ + TRIPLET: $HOST_ARCH-ucrt-w64-mingw32 + UWP_EXTRA_BUILD_FLAGS: -u -x -S 0x0A000006 + # # Debian # ===================================== extras/package/win32/build.sh ===================================== @@ -31,6 +31,7 @@ OPTIONS: -D <win_path> Create PDB files during the build, map the VLC sources to <win_path> e.g.: -D c:/sources/vlc -x Add extra checks when compiling + -S <sdkver> Use maximum Windows API version (0x0601000 by default) -u Use the Universal C Runtime (instead of msvcrt) -w Restrict to Windows Store APIs -z Build without GUI (libvlc only) @@ -39,7 +40,7 @@ EOF } ARCH="x86_64" -while getopts "hra:pcli:sb:dD:xuwzo:" OPTION +while getopts "hra:pcli:sb:dD:xS:uwzo:" OPTION do case $OPTION in h) @@ -81,6 +82,9 @@ do x) EXTRA_CHECKS="yes" ;; + S) + NTDDI=$OPTARG + ;; u) BUILD_UCRT="yes" ;; @@ -218,7 +222,16 @@ if [ ! -z "$BUILD_UCRT" ]; then if [ ! -z "$WINSTORE" ]; then SHORTARCH="$SHORTARCH-uwp" - CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -DWINAPI_FAMILY=WINAPI_FAMILY_APP -D_UNICODE -DUNICODE" + CPPFLAGS="$CPPFLAGS -DWINAPI_FAMILY=WINAPI_FAMILY_APP -D_UNICODE -DUNICODE" + + if [ -z "$NTDDI" ]; then + WINVER=0x0A00 + else + WINVER=`echo ${NTDDI} |cut -c 1-6` + if [ "$WINVER" != "0x0A00" ]; then + echo "Unsupported SDK/NTDDI version ${NTDDI} for Winstore" + fi + fi # WinstoreCompat: hopefully can go away someday LDFLAGS="$LDFLAGS -lwindowsapp -lwindowsappcompat" @@ -228,8 +241,6 @@ if [ ! -z "$BUILD_UCRT" ]; then EXTRA_CRUNTIME="vcruntime140_app" else SHORTARCH="$SHORTARCH-ucrt" - # The current minimum for VLC is Windows 7 - CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=0x0601 -DWINVER=0x0601" # this library doesn't exist yet, so use ucrt twice as a placeholder # EXTRA_CRUNTIME="vcruntime140" EXTRA_CRUNTIME="ucrt" @@ -258,11 +269,24 @@ 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" + # use the regular msvcrt + CPPFLAGS="$CPPFLAGS -D__MSVCRT_VERSION__=0x700" fi + +if [ -n "$NTDDI" ]; then + WINVER=`echo ${NTDDI} |cut -c 1-6` + CPPFLAGS="$CPPFLAGS -DNTDDI_VERSION=$NTDDI" +fi +if [ -z "$WINVER" ]; then + # The current minimum for VLC is Windows 7 + WINVER=0x0601 +fi +CPPFLAGS="$CPPFLAGS -D_WIN32_WINNT=${WINVER} -DWINVER=${WINVER}" + +# the values are not passed to the makefiles/configures +export CPPFLAGS + CFLAGS="$CPPFLAGS $CFLAGS" CXXFLAGS="$CPPFLAGS $CXXFLAGS" ===================================== modules/codec/mft.c ===================================== @@ -24,9 +24,6 @@ # include "config.h" #endif -#undef WINVER -#define WINVER 0x0601 - /* Needed for many mingw macros. */ #define COBJMACROS ===================================== modules/gui/skins2/win32/win32_graphics.cpp ===================================== @@ -23,8 +23,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/a88b1f3333bc201f6704798f4728f7587a16231a...b460a4474fa8a8ce1fc14372c4b76d5d25251edd -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/a88b1f3333bc201f6704798f4728f7587a16231a...b460a4474fa8a8ce1fc14372c4b76d5d25251edd You're receiving this email because of your account on code.videolan.org.
_______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
