Sfoglia il codice sorgente

Merge pull request #6937 from SuperUserNameMan/fix_win_standalone_msvc_and_mingw_incompatibilities

fix bug introduced by #6501
George Marques 9 anni fa
parent
commit
a52cbd65a8
4 ha cambiato i file con 15 aggiunte e 20 eliminazioni
  1. 1 1
      SConstruct
  2. 0 5
      methods.py
  3. 1 1
      modules/openssl/SCsub
  4. 13 13
      platform/windows/detect.py

+ 1 - 1
SConstruct

@@ -61,7 +61,7 @@ platform_arg = ARGUMENTS.get("platform", ARGUMENTS.get("p", False))
 if (os.name=="posix"):
 if (os.name=="posix"):
 	pass
 	pass
 elif (os.name=="nt"):
 elif (os.name=="nt"):
-	if (not methods.msvc_is_detected() or platform_arg=="android"):
+	if ( os.getenv("VCINSTALLDIR")==None or platform_arg=="android"):
 		custom_tools=['mingw']
 		custom_tools=['mingw']
 
 
 env_base=Environment(tools=custom_tools);
 env_base=Environment(tools=custom_tools);

+ 0 - 5
methods.py

@@ -1516,11 +1516,6 @@ def detect_visual_c_compiler_version(tools_env):
 
 
         return vc_chosen_compiler_str
         return vc_chosen_compiler_str
 
 
-def msvc_is_detected() :
-	# looks for VisualStudio env variable 
-	# or for Visual C++ Build Tools (which is a standalone MSVC)
-	return os.getenv("VSINSTALLDIR") or os.getenv("VS100COMNTOOLS") or os.getenv("VS110COMNTOOLS") or os.getenv("VS120COMNTOOLS") or os.getenv("VS140COMNTOOLS");
-
 
 
 def precious_program(env, program, sources, **args):
 def precious_program(env, program, sources, **args):
 	program = env.ProgramOriginal(program, sources, **args)
 	program = env.ProgramOriginal(program, sources, **args)

+ 1 - 1
modules/openssl/SCsub

@@ -671,7 +671,7 @@ if (env["openssl"] != "system"): # builtin
 	# Workaround for compilation error with GCC/Clang when -Werror is too greedy (GH-4517)
 	# Workaround for compilation error with GCC/Clang when -Werror is too greedy (GH-4517)
 	import os
 	import os
 	import methods
 	import methods
-	if not (os.name=="nt" and methods.msvc_is_detected()): # not Windows and not MSVC
+	if not (os.name=="nt" and os.getenv("VCINSTALLDIR")): # not Windows and not MSVC
 		env_openssl.Append(CFLAGS = ["-Wno-error=implicit-function-declaration"])
 		env_openssl.Append(CFLAGS = ["-Wno-error=implicit-function-declaration"])
 
 
 
 

+ 13 - 13
platform/windows/detect.py

@@ -1,16 +1,11 @@
 #
 #
-# 	tested on                   | Windows native    | Linux cross-compilation
-#	----------------------------+-------------------+---------------------------
-#	MSVS C++ 2010 Express       | WORKS             | n/a
+#   tested on                   | Windows native    | Linux cross-compilation
+#   ----------------------------+-------------------+---------------------------
 #   Visual C++ Build Tools 2015 | WORKS             | n/a
 #   Visual C++ Build Tools 2015 | WORKS             | n/a
-#	Mingw-w64                   | WORKS             | WORKS
-#	Mingw-w32                   | WORKS             | WORKS
-#	MinGW                       | WORKS             | untested
-#
-#####
-# Notes about MSVS C++ :
-#
-# 	- MSVC2010-Express compiles to 32bits only.
+#   MSVS C++ 2010 Express       | WORKS             | n/a
+#   Mingw-w64                   | WORKS             | WORKS
+#   Mingw-w32                   | WORKS             | WORKS
+#   MinGW                       | WORKS             | untested
 #
 #
 #####
 #####
 # Note about Visual C++ Build Tools :
 # Note about Visual C++ Build Tools :
@@ -19,6 +14,11 @@
 #		http://landinghub.visualstudio.com/visual-cpp-build-tools
 #		http://landinghub.visualstudio.com/visual-cpp-build-tools
 #
 #
 #####
 #####
+# Notes about MSVS C++ :
+#
+# 	- MSVC2010-Express compiles to 32bits only.
+#
+#####
 # Notes about Mingw-w64 and Mingw-w32 under Windows :
 # Notes about Mingw-w64 and Mingw-w32 under Windows :
 #
 #
 #	- both can be installed using the official installer :
 #	- both can be installed using the official installer :
@@ -109,7 +109,7 @@ def can_build():
 
 
 	if (os.name=="nt"):
 	if (os.name=="nt"):
 		#building natively on windows!
 		#building natively on windows!
-		if ( methods.msvc_is_detected() ):
+		if ( os.getenv("VCINSTALLDIR") ):
 			return True
 			return True
 		else:
 		else:
 			print("\nMSVC not detected, attempting Mingw.")
 			print("\nMSVC not detected, attempting Mingw.")
@@ -204,7 +204,7 @@ def configure(env):
 
 
 	env.Append(CPPPATH=['#platform/windows'])
 	env.Append(CPPPATH=['#platform/windows'])
 	env['is_mingw']=False
 	env['is_mingw']=False
-	if (os.name=="nt" and methods.msvc_is_detected() ):
+	if (os.name=="nt" and os.getenv("VCINSTALLDIR") ):
 		#build using visual studio
 		#build using visual studio
 		env['ENV']['TMP'] = os.environ['TMP']
 		env['ENV']['TMP'] = os.environ['TMP']
 		env.Append(CPPPATH=['#platform/windows/include'])
 		env.Append(CPPPATH=['#platform/windows/include'])