ref: 3067c34c5ae5ea94fc4b059a26c385408912e9ce
parent: 23591322cfe8f9e88d150ff737e0773293012f32
author: Ghislain MARY <[email protected]>
date: Tue Jul 28 12:37:09 EDT 2015
Support build with Visual Studio 14. Change-Id: Id0d7c19857e29b66c652c8cc1ab56b64e4fc0fa3
--- 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,
--- 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
--- 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
@@ -343,6 +343,9 @@
# enough to build code for arm with MSVC 2013, one strictly
# 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
--- 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"
--- 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;
}
--- 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