| 
									
										
										
										
											2023-11-03 09:50:17 +02:00
										 |  |  | diff --git a/build/make/configure.sh b/build/make/configure.sh
 | 
					
						
							|  |  |  | index 110f16e..c161d0e 100644
 | 
					
						
							|  |  |  | --- a/build/make/configure.sh
 | 
					
						
							|  |  |  | +++ b/build/make/configure.sh
 | 
					
						
							|  |  |  | @@ -1038,7 +1038,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 | 
					
						
							|  |  |  | @@ -1272,6 +1272,9 @@ EOF
 | 
					
						
							|  |  |  |          android) | 
					
						
							|  |  |  |            soft_enable realtime_only | 
					
						
							|  |  |  |            ;; | 
					
						
							|  |  |  | +        uwp)
 | 
					
						
							|  |  |  | +          enabled gcc && add_cflags -fno-common
 | 
					
						
							|  |  |  | +          ;;
 | 
					
						
							|  |  |  |          win*) | 
					
						
							|  |  |  |            enabled gcc && add_cflags -fno-common | 
					
						
							|  |  |  |            ;; | 
					
						
							|  |  |  | @@ -1390,6 +1393,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 | 
					
						
							|  |  |  | @@ -1519,6 +1532,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_vcxproj.sh b/build/make/gen_msvs_vcxproj.sh
 | 
					
						
							|  |  |  | index 58bb66b..b4cad6c 100644
 | 
					
						
							|  |  |  | --- a/build/make/gen_msvs_vcxproj.sh
 | 
					
						
							|  |  |  | +++ b/build/make/gen_msvs_vcxproj.sh
 | 
					
						
							|  |  |  | @@ -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 | 
					
						
							|  |  |  | @@ -394,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
 | 
					
						
							| 
									
										
										
										
											2024-07-03 06:12:19 +00:00
										 |  |  | index b212e07..1a9fa98 100755
 | 
					
						
							| 
									
										
										
										
											2023-11-03 09:50:17 +02:00
										 |  |  | --- a/configure
 | 
					
						
							|  |  |  | +++ b/configure
 | 
					
						
							| 
									
										
										
										
											2024-07-03 06:12:19 +00:00
										 |  |  | @@ -104,6 +104,8 @@ all_platforms="${all_platforms} arm64-darwin21-gcc"
 | 
					
						
							| 
									
										
										
										
											2023-11-03 09:50:17 +02:00
										 |  |  |  all_platforms="${all_platforms} arm64-darwin22-gcc" | 
					
						
							| 
									
										
										
										
											2024-07-03 06:12:19 +00:00
										 |  |  |  all_platforms="${all_platforms} arm64-darwin23-gcc" | 
					
						
							| 
									
										
										
										
											2023-11-03 09:50:17 +02:00
										 |  |  |  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" | 
					
						
							| 
									
										
										
										
											2024-07-03 06:12:19 +00:00
										 |  |  | @@ -115,6 +117,8 @@ all_platforms="${all_platforms} armv7-darwin-gcc"    #neon Cortex-A8
 | 
					
						
							| 
									
										
										
										
											2023-11-03 09:50:17 +02:00
										 |  |  |  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" | 
					
						
							| 
									
										
										
										
											2024-07-03 06:12:19 +00:00
										 |  |  | @@ -146,6 +150,8 @@ all_platforms="${all_platforms} x86-linux-gcc"
 | 
					
						
							| 
									
										
										
										
											2023-11-03 09:50:17 +02:00
										 |  |  |  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" | 
					
						
							| 
									
										
										
										
											2024-07-03 06:12:19 +00:00
										 |  |  | @@ -171,6 +177,8 @@ all_platforms="${all_platforms} x86_64-iphonesimulator-gcc"
 | 
					
						
							| 
									
										
										
										
											2023-11-03 09:50:17 +02:00
										 |  |  |  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" | 
					
						
							| 
									
										
										
										
											2024-07-03 06:12:19 +00:00
										 |  |  | @@ -503,11 +511,10 @@ process_targets() {
 | 
					
						
							| 
									
										
										
										
											2023-11-03 09:50:17 +02:00
										 |  |  |      ! 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}" | 
					
						
							| 
									
										
										
										
											2024-07-03 06:12:19 +00:00
										 |  |  | @@ -596,6 +603,10 @@ process_detect() {
 | 
					
						
							| 
									
										
										
										
											2023-11-03 09:50:17 +02:00
										 |  |  |   | 
					
						
							|  |  |  |              # 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 |