|
|
@ -40,18 +40,18 @@ def has_flag(compiler, flagname): |
|
|
|
""" |
|
|
|
""" |
|
|
|
import tempfile |
|
|
|
import tempfile |
|
|
|
import os |
|
|
|
import os |
|
|
|
with tempfile.NamedTemporaryFile('w', suffix='.cpp') as f: |
|
|
|
with tempfile.NamedTemporaryFile('w', suffix='.cpp', delete=False) as f: |
|
|
|
f.write('int main (int argc, char **argv) { return 0; }') |
|
|
|
f.write('int main (int argc, char **argv) { return 0; }') |
|
|
|
fname = f.name |
|
|
|
fname = f.name |
|
|
|
|
|
|
|
try: |
|
|
|
|
|
|
|
compiler.compile([fname], extra_postargs=[flagname]) |
|
|
|
|
|
|
|
except setuptools.distutils.errors.CompileError: |
|
|
|
|
|
|
|
return False |
|
|
|
|
|
|
|
finally: |
|
|
|
try: |
|
|
|
try: |
|
|
|
compiler.compile([fname], extra_postargs=[flagname]) |
|
|
|
os.remove(fname) |
|
|
|
except setuptools.distutils.errors.CompileError: |
|
|
|
except OSError: |
|
|
|
return False |
|
|
|
pass |
|
|
|
finally: |
|
|
|
|
|
|
|
try: |
|
|
|
|
|
|
|
os.remove(fname) |
|
|
|
|
|
|
|
except OSError: |
|
|
|
|
|
|
|
pass |
|
|
|
|
|
|
|
return True |
|
|
|
return True |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|