201 lines
8.5 KiB
Diff
Executable file
201 lines
8.5 KiB
Diff
Executable file
diff --git a/build/make/configure.sh b/build/make/configure.sh
|
|
index 325017e..5ab54e4 100644
|
|
--- a/build/make/configure.sh
|
|
+++ b/build/make/configure.sh
|
|
@@ -1016,7 +1016,7 @@ EOF
|
|
# A number of ARM-based Windows platforms are constrained by their
|
|
# respective SDKs' limitations. Fortunately, these are all 32-bit ABIs
|
|
# and so can be selected as 'win32'.
|
|
- if [ ${tgt_os} = "win32" ]; then
|
|
+ if [ ${tgt_os} = "win32" ] || [ ${tgt_isa} = "armv7" ]; then
|
|
asm_conversion_cmd="${source_path_mk}/build/make/ads2armasm_ms.pl"
|
|
AS_SFX=.S
|
|
msvs_arch_dir=arm-msvs
|
|
@@ -1250,6 +1250,9 @@ EOF
|
|
android)
|
|
soft_enable realtime_only
|
|
;;
|
|
+ uwp)
|
|
+ enabled gcc && add_cflags -fno-common
|
|
+ ;;
|
|
win*)
|
|
enabled gcc && add_cflags -fno-common
|
|
;;
|
|
@@ -1368,6 +1371,16 @@ EOF
|
|
fi
|
|
AS_SFX=.asm
|
|
case ${tgt_os} in
|
|
+ uwp)
|
|
+ if [ {$tgt_isa} = "x86" ] || [ {$tgt_isa} = "armv7" ]; then
|
|
+ add_asflags -f win32
|
|
+ else
|
|
+ add_asflags -f win64
|
|
+ fi
|
|
+ enabled debug && [ "${AS}" = yasm ] && add_asflags -g cv8
|
|
+ enabled debug && [ "${AS}" = nasm ] && add_asflags -gcv8
|
|
+ EXE_SFX=.exe
|
|
+ ;;
|
|
win32)
|
|
add_asflags -f win32
|
|
enabled debug && [ "${AS}" = yasm ] && add_asflags -g cv8
|
|
@@ -1488,6 +1501,8 @@ EOF
|
|
# Almost every platform uses pthreads.
|
|
if enabled multithread; then
|
|
case ${toolchain} in
|
|
+ *-uwp-vs*)
|
|
+ ;;
|
|
*-win*-vs*)
|
|
;;
|
|
*-android-gcc)
|
|
diff --git a/build/make/gen_msvs_sln.sh b/build/make/gen_msvs_sln.sh
|
|
index d1adfd7..a03ea59 100644
|
|
--- a/build/make/gen_msvs_sln.sh
|
|
+++ b/build/make/gen_msvs_sln.sh
|
|
@@ -219,6 +219,7 @@ for opt in "$@"; do
|
|
14) vs_year=2015 ;;
|
|
15) vs_year=2017 ;;
|
|
16) vs_year=2019 ;;
|
|
+ 17) vs_year=2022 ;;
|
|
*) die Unrecognized Visual Studio Version in $opt ;;
|
|
esac
|
|
;;
|
|
diff --git a/build/make/gen_msvs_vcxproj.sh b/build/make/gen_msvs_vcxproj.sh
|
|
index 6f91ad4..b4cad6c 100644
|
|
--- a/build/make/gen_msvs_vcxproj.sh
|
|
+++ b/build/make/gen_msvs_vcxproj.sh
|
|
@@ -170,7 +170,7 @@ for opt in "$@"; do
|
|
--ver=*)
|
|
vs_ver="$optval"
|
|
case "$optval" in
|
|
- 1[4-6])
|
|
+ 1[4-7])
|
|
;;
|
|
*) die Unrecognized Visual Studio Version in $opt
|
|
;;
|
|
@@ -296,7 +296,22 @@ generate_vcxproj() {
|
|
tag_content ProjectGuid "{${guid}}"
|
|
tag_content RootNamespace ${name}
|
|
tag_content Keyword ManagedCProj
|
|
- if [ $vs_ver -ge 12 ] && [ "${platforms[0]}" = "ARM" ]; then
|
|
+ if [ $vs_ver -ge 16 ]; then
|
|
+ if [[ $target =~ [^-]*-uwp-.* ]]; then
|
|
+ # Universal Windows Applications
|
|
+ tag_content AppContainerApplication true
|
|
+ tag_content ApplicationType "Windows Store"
|
|
+ tag_content ApplicationTypeRevision 10.0
|
|
+ fi
|
|
+ if [[ $target =~ [^-]*-uwp-.* ]] || [ "${platforms[0]}" = "ARM" ] || [ "${platforms[0]}" = "ARM64" ]; then
|
|
+ # Default to the latest Windows 10 SDK
|
|
+ tag_content WindowsTargetPlatformVersion 10.0
|
|
+ else
|
|
+ # Minimum supported version of Windows for the desktop
|
|
+ tag_content WindowsTargetPlatformVersion 8.1
|
|
+ fi
|
|
+ tag_content MinimumVisualStudioVersion 16.0
|
|
+ elif [ $vs_ver -ge 12 ] && [ "${platforms[0]}" = "ARM" ]; then
|
|
tag_content AppContainerApplication true
|
|
# The application type can be one of "Windows Store",
|
|
# "Windows Phone" or "Windows Phone Silverlight". The
|
|
@@ -344,6 +359,9 @@ generate_vcxproj() {
|
|
if [ "$vs_ver" = "16" ]; then
|
|
tag_content PlatformToolset v142
|
|
fi
|
|
+ if [ "$vs_ver" = "17" ]; then
|
|
+ tag_content PlatformToolset v143
|
|
+ fi
|
|
tag_content CharacterSet Unicode
|
|
if [ "$config" = "Release" ]; then
|
|
tag_content WholeProgramOptimization true
|
|
@@ -391,7 +409,7 @@ generate_vcxproj() {
|
|
Condition="'\$(Configuration)|\$(Platform)'=='$config|$plat'"
|
|
if [ "$name" == "vpx" ]; then
|
|
hostplat=$plat
|
|
- if [ "$hostplat" == "ARM" ]; then
|
|
+ if [ "$hostplat" == "ARM" ] && [ $vs_ver -le 15 ]; then
|
|
hostplat=Win32
|
|
fi
|
|
fi
|
|
diff --git a/configure b/configure
|
|
index da631a4..2804678 100644
|
|
--- a/configure
|
|
+++ b/configure
|
|
@@ -101,16 +101,24 @@ all_platforms="${all_platforms} arm64-android-gcc"
|
|
all_platforms="${all_platforms} arm64-darwin-gcc"
|
|
all_platforms="${all_platforms} arm64-darwin20-gcc"
|
|
all_platforms="${all_platforms} arm64-linux-gcc"
|
|
+all_platforms="${all_platforms} arm64-uwp-vs16"
|
|
+all_platforms="${all_platforms} arm64-uwp-vs17"
|
|
all_platforms="${all_platforms} arm64-win64-gcc"
|
|
all_platforms="${all_platforms} arm64-win64-vs15"
|
|
+all_platforms="${all_platforms} arm64-win64-vs16"
|
|
+all_platforms="${all_platforms} arm64-win64-vs17"
|
|
all_platforms="${all_platforms} armv7-android-gcc" #neon Cortex-A8
|
|
all_platforms="${all_platforms} armv7-darwin-gcc" #neon Cortex-A8
|
|
all_platforms="${all_platforms} armv7-linux-rvct" #neon Cortex-A8
|
|
all_platforms="${all_platforms} armv7-linux-gcc" #neon Cortex-A8
|
|
all_platforms="${all_platforms} armv7-none-rvct" #neon Cortex-A8
|
|
+all_platforms="${all_platforms} armv7-uwp-vs16"
|
|
+all_platforms="${all_platforms} armv7-uwp-vs17"
|
|
all_platforms="${all_platforms} armv7-win32-gcc"
|
|
all_platforms="${all_platforms} armv7-win32-vs14"
|
|
all_platforms="${all_platforms} armv7-win32-vs15"
|
|
+all_platforms="${all_platforms} armv7-win32-vs16"
|
|
+all_platforms="${all_platforms} armv7-win32-vs17"
|
|
all_platforms="${all_platforms} armv7s-darwin-gcc"
|
|
all_platforms="${all_platforms} armv8-linux-gcc"
|
|
all_platforms="${all_platforms} mips32-linux-gcc"
|
|
@@ -135,10 +143,13 @@ all_platforms="${all_platforms} x86-linux-gcc"
|
|
all_platforms="${all_platforms} x86-linux-icc"
|
|
all_platforms="${all_platforms} x86-os2-gcc"
|
|
all_platforms="${all_platforms} x86-solaris-gcc"
|
|
+all_platforms="${all_platforms} x86-uwp-vs16"
|
|
+all_platforms="${all_platforms} x86-uwp-vs17"
|
|
all_platforms="${all_platforms} x86-win32-gcc"
|
|
all_platforms="${all_platforms} x86-win32-vs14"
|
|
all_platforms="${all_platforms} x86-win32-vs15"
|
|
all_platforms="${all_platforms} x86-win32-vs16"
|
|
+all_platforms="${all_platforms} x86-win32-vs17"
|
|
all_platforms="${all_platforms} x86_64-android-gcc"
|
|
all_platforms="${all_platforms} x86_64-darwin9-gcc"
|
|
all_platforms="${all_platforms} x86_64-darwin10-gcc"
|
|
@@ -156,10 +167,13 @@ all_platforms="${all_platforms} x86_64-iphonesimulator-gcc"
|
|
all_platforms="${all_platforms} x86_64-linux-gcc"
|
|
all_platforms="${all_platforms} x86_64-linux-icc"
|
|
all_platforms="${all_platforms} x86_64-solaris-gcc"
|
|
+all_platforms="${all_platforms} x86_64-uwp-vs16"
|
|
+all_platforms="${all_platforms} x86_64-uwp-vs17"
|
|
all_platforms="${all_platforms} x86_64-win64-gcc"
|
|
all_platforms="${all_platforms} x86_64-win64-vs14"
|
|
all_platforms="${all_platforms} x86_64-win64-vs15"
|
|
all_platforms="${all_platforms} x86_64-win64-vs16"
|
|
+all_platforms="${all_platforms} x86_64-win64-vs17"
|
|
all_platforms="${all_platforms} generic-gnu"
|
|
|
|
# all_targets is a list of all targets that can be configured
|
|
@@ -476,11 +490,10 @@ process_targets() {
|
|
! enabled multithread && DIST_DIR="${DIST_DIR}-nomt"
|
|
! enabled install_docs && DIST_DIR="${DIST_DIR}-nodocs"
|
|
DIST_DIR="${DIST_DIR}-${tgt_isa}-${tgt_os}"
|
|
- case "${tgt_os}" in
|
|
- win*) enabled static_msvcrt && DIST_DIR="${DIST_DIR}mt" || DIST_DIR="${DIST_DIR}md"
|
|
- DIST_DIR="${DIST_DIR}-${tgt_cc}"
|
|
- ;;
|
|
- esac
|
|
+ if [[ ${tgt_os} =~ win.* ]] || [ "${tgt_os}" = "uwp" ]; then
|
|
+ enabled static_msvcrt && DIST_DIR="${DIST_DIR}mt" || DIST_DIR="${DIST_DIR}md"
|
|
+ DIST_DIR="${DIST_DIR}-${tgt_cc}"
|
|
+ fi
|
|
if [ -f "${source_path}/build/make/version.sh" ]; then
|
|
ver=`"$source_path/build/make/version.sh" --bare "$source_path"`
|
|
DIST_DIR="${DIST_DIR}-${ver}"
|
|
@@ -569,6 +582,10 @@ process_detect() {
|
|
|
|
# Specialize windows and POSIX environments.
|
|
case $toolchain in
|
|
+ *-uwp-*)
|
|
+ # Don't check for any headers in UWP builds.
|
|
+ false
|
|
+ ;;
|
|
*-win*-*)
|
|
# Don't check for any headers in Windows builds.
|
|
false
|