Support build with Visual Studio 14. Change-Id: Id0d7c19857e29b66c652c8cc1ab56b64e4fc0fa3
diff --git a/README b/README index 3adc551..979440e 100644 --- a/README +++ b/README
@@ -59,6 +59,7 @@ armv7-none-rvct armv7-win32-vs11 armv7-win32-vs12 + armv7-win32-vs14 armv7s-darwin-gcc mips32-linux-gcc mips64-linux-gcc @@ -85,6 +86,7 @@ x86-win32-vs10 x86-win32-vs11 x86-win32-vs12 + x86-win32-vs14 x86_64-android-gcc x86_64-darwin9-gcc x86_64-darwin10-gcc @@ -102,6 +104,7 @@ x86_64-win64-vs10 x86_64-win64-vs11 x86_64-win64-vs12 + x86_64-win64-vs14 generic-gnu The generic-gnu target, in conjunction with the CROSS environment variable,
diff --git a/build/make/gen_msvs_sln.sh b/build/make/gen_msvs_sln.sh index ffa3706..664b404 100755 --- a/build/make/gen_msvs_sln.sh +++ b/build/make/gen_msvs_sln.sh
@@ -19,13 +19,13 @@ cat <<EOF Usage: ${self_basename} [options] file1 [file2 ...] -This script generates a Visual Studio 2005 solution file from a list of project +This script generates a Visual Studio solution file from a list of project files. Options: --help Print this message --out=outfile Redirect output to a file - --ver=version Version (7,8,9,10,11) of visual studio to generate for + --ver=version Version (7,8,9,10,11,12,14) of visual studio to generate for --target=isa-os-cc Target specifier EOF exit 1 @@ -255,7 +255,7 @@ ;; --ver=*) vs_ver="$optval" case $optval in - [789]|10|11|12) + [789]|10|11|12|14) ;; *) die Unrecognized Visual Studio Version in $opt ;; @@ -300,12 +300,15 @@ 12) sln_vers="12.00" sln_vers_str="Visual Studio 2013" ;; + 14) sln_vers="14.00" + sln_vers_str="Visual Studio 2015" + ;; esac case "${vs_ver:-8}" in [789]) sfx=vcproj ;; - 10|11|12) + 10|11|12|14) sfx=vcxproj ;; esac
diff --git a/build/make/gen_msvs_vcxproj.sh b/build/make/gen_msvs_vcxproj.sh index b653651..182ea28 100755 --- a/build/make/gen_msvs_vcxproj.sh +++ b/build/make/gen_msvs_vcxproj.sh
@@ -34,7 +34,7 @@ --name=project_name Name of the project (required) --proj-guid=GUID GUID to use for the project --module-def=filename File containing export definitions (for DLLs) - --ver=version Version (10,11,12) of visual studio to generate for + --ver=version Version (10,11,12,14) of visual studio to generate for --src-path-bare=dir Path to root of source tree -Ipath/to/include Additional include directories -DFLAG[=value] Preprocessor macros to define @@ -168,7 +168,7 @@ --ver=*) vs_ver="$optval" case "$optval" in - 10|11|12) + 10|11|12|14) ;; *) die Unrecognized Visual Studio Version in $opt ;; @@ -218,7 +218,7 @@ asm_use_custom_step=false uses_asm=${uses_asm:-false} case "${vs_ver:-11}" in - 10|11|12) + 10|11|12|14) asm_use_custom_step=$uses_asm ;; esac @@ -344,6 +344,9 @@ # has to enable AppContainerApplication as well. tag_content PlatformToolset v120 fi + if [ "$vs_ver" = "14" ]; then + tag_content PlatformToolset v140 + fi tag_content CharacterSet Unicode if [ "$config" = "Release" ]; then tag_content WholeProgramOptimization true
diff --git a/configure b/configure index fcab145..cd1b0bf 100755 --- a/configure +++ b/configure
@@ -106,6 +106,7 @@ all_platforms="${all_platforms} armv7-none-rvct" #neon Cortex-A8 all_platforms="${all_platforms} armv7-win32-vs11" all_platforms="${all_platforms} armv7-win32-vs12" +all_platforms="${all_platforms} armv7-win32-vs14" all_platforms="${all_platforms} armv7s-darwin-gcc" all_platforms="${all_platforms} mips32-linux-gcc" all_platforms="${all_platforms} mips64-linux-gcc" @@ -132,6 +133,7 @@ all_platforms="${all_platforms} x86-win32-vs10" all_platforms="${all_platforms} x86-win32-vs11" all_platforms="${all_platforms} x86-win32-vs12" +all_platforms="${all_platforms} x86-win32-vs14" all_platforms="${all_platforms} x86_64-android-gcc" all_platforms="${all_platforms} x86_64-darwin9-gcc" all_platforms="${all_platforms} x86_64-darwin10-gcc" @@ -149,6 +151,7 @@ all_platforms="${all_platforms} x86_64-win64-vs10" all_platforms="${all_platforms} x86_64-win64-vs11" all_platforms="${all_platforms} x86_64-win64-vs12" +all_platforms="${all_platforms} x86_64-win64-vs14" all_platforms="${all_platforms} generic-gnu" # all_targets is a list of all targets that can be configured @@ -639,7 +642,7 @@ VCPROJ_SFX=vcproj gen_vcproj_cmd=${source_path}/build/make/gen_msvs_proj.sh ;; - 10|11|12) + 10|11|12|14) VCPROJ_SFX=vcxproj gen_vcproj_cmd=${source_path}/build/make/gen_msvs_vcxproj.sh enabled werror && gen_vcproj_cmd="${gen_vcproj_cmd} --enable-werror"
diff --git a/vp8/common/generic/systemdependent.c b/vp8/common/generic/systemdependent.c index 4393ced..28dc262 100644 --- a/vp8/common/generic/systemdependent.c +++ b/vp8/common/generic/systemdependent.c
@@ -45,6 +45,10 @@ #endif #elif defined(_WIN32) { +#if _WIN32_WINNT >= 0x0501 + SYSTEM_INFO sysinfo; + GetNativeSystemInfo(&sysinfo); +#else PGNSI pGNSI; SYSTEM_INFO sysinfo; @@ -57,6 +61,7 @@ pGNSI(&sysinfo); else GetSystemInfo(&sysinfo); +#endif core_count = sysinfo.dwNumberOfProcessors; }
diff --git a/vpx_ports/x86.h b/vpx_ports/x86.h index 7d93710..0fef6a5 100644 --- a/vpx_ports/x86.h +++ b/vpx_ports/x86.h
@@ -136,6 +136,13 @@ #define xgetbv() 0U // no AVX for older x64 or unrecognized toolchains. #endif +#if defined(_MSC_VER) +#include <windows.h> +#if WINAPI_FAMILY_PARTITION(WINAPI_FAMILY_APP) +#define getenv(x) NULL +#endif +#endif + #define HAS_MMX 0x01 #define HAS_SSE 0x02 #define HAS_SSE2 0x04