Check that VC can compile.

pull/15/head
Jussi Pakkanen 12 years ago
parent 21c6166af9
commit 5d81924914
  1. 20
      environment.py

@ -183,6 +183,23 @@ class VisualStudioCCompiler(CCompiler):
def get_compile_only_flags(self):
return ['/c']
def sanity_check(self, work_dir):
source_name = os.path.join(work_dir, 'sanitycheckc.c')
binary_name = os.path.join(work_dir, 'sanitycheckc')
ofile = open(source_name, 'w')
ofile.write('int main(int argc, char **argv) { return 0; }\n')
ofile.close()
pc = subprocess.Popen(self.exelist + [source_name, '/Fe' + binary_name],
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL)
pc.wait()
if pc.returncode != 0:
raise EnvironmentException('Compiler %s can not compile programs.' % self.name_string())
pe = subprocess.Popen(binary_name)
pe.wait()
if pe.returncode != 0:
raise EnvironmentException('Executables created by C++ compiler %s are not runnable.' % self.name_string())
class GnuCCompiler(CCompiler):
std_warn_flags = ['-Wall', '-Winvalid-pch']
std_opt_flags = ['-O2']
@ -408,7 +425,8 @@ class Environment():
arg = '/?'
else:
arg = '--version'
p = subprocess.Popen([compiler] + [arg], stdout=subprocess.PIPE)
p = subprocess.Popen([compiler] + [arg], stdout=subprocess.PIPE,
stderr=subprocess.DEVNULL)
except OSError:
continue
out = p.communicate()[0]

Loading…
Cancel
Save