Chromium Code Reviews| Index: pydir/build-pnacl-ir.py |
| diff --git a/pydir/build-pnacl-ir.py b/pydir/build-pnacl-ir.py |
| index 5c4c9e816b2c61cbd078517c31f2133d637658ea..358aa46c01088e50655951b300482452d002b51f 100755 |
| --- a/pydir/build-pnacl-ir.py |
| +++ b/pydir/build-pnacl-ir.py |
| @@ -2,6 +2,7 @@ |
| import argparse |
| import os |
| +import shutil |
| import tempfile |
| from utils import shellcmd |
| from utils import FindBaseNaCl |
| @@ -21,18 +22,25 @@ if __name__ == '__main__': |
| nacl_root + '/toolchain/linux_x86/pnacl_newlib/bin' + os.pathsep + |
| os.pathsep + os.environ['PATH']) |
| - tempdir = tempfile.mkdtemp() |
| + try: |
| + tempdir = tempfile.mkdtemp() |
| - for cname in args.cfile: |
| - basename = os.path.splitext(cname)[0] |
| - llname = os.path.join(tempdir, basename + '.ll') |
| - pnaclname = basename + '.pnacl.ll' |
| - pnaclname = os.path.join(args.dir, pnaclname) |
| + for cname in args.cfile: |
| + basename = os.path.splitext(cname)[0] |
| + llname = os.path.join(tempdir, basename + '.ll') |
| + pnaclname = basename + '.pnacl.ll' |
| + pnaclname = os.path.join(args.dir, pnaclname) |
| - shellcmd('pnacl-clang -O2 -c {0} -o {1}'.format(cname, llname)) |
| - shellcmd('pnacl-opt ' + |
| - '-pnacl-abi-simplify-preopt -pnacl-abi-simplify-postopt' + |
| - ('' if args.disable_verify else |
| - ' -verify-pnaclabi-module -verify-pnaclabi-functions') + |
| - ' -pnaclabi-allow-debug-metadata' |
| - ' {0} -S -o {1}'.format(llname, pnaclname)) |
| + shellcmd('pnacl-clang -O2 -c {0} -o {1}'.format(cname, llname)) |
| + shellcmd('pnacl-opt ' + |
| + '-pnacl-abi-simplify-preopt -pnacl-abi-simplify-postopt' + |
| + ('' if args.disable_verify else |
| + ' -verify-pnaclabi-module -verify-pnaclabi-functions') + |
| + ' -pnaclabi-allow-debug-metadata' |
| + ' {0} -S -o {1}'.format(llname, pnaclname)) |
| + finally: |
| + try: |
| + shutil.rmtree(tempdir) |
| + except OSError as exc: |
| + if exc.errno != errno.ENOENT: # ENOENT - no such file or directory |
|
jvoung (off chromium)
2014/09/15 21:36:17
I think this file should import errno, to get errn
Jim Stichnoth
2014/09/15 21:52:10
Python didn't complain for some reason, but done i
|
| + raise # re-raise exception |