aboutsummaryrefslogtreecommitdiff
path: root/tools/shared.py
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-04-08 12:27:26 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-04-08 12:27:26 -0700
commit99dd381e078c7dc50e252c79c9631291955fb6d8 (patch)
treeb364807f6c0d5d1e9694ae394411856d5768c2f0 /tools/shared.py
parent39e8885634d8087751703942918b5b8b6e13ed27 (diff)
clean up linker a.out|exe stubs
Diffstat (limited to 'tools/shared.py')
-rw-r--r--tools/shared.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/tools/shared.py b/tools/shared.py
index e11dc95a..73e2a9a7 100644
--- a/tools/shared.py
+++ b/tools/shared.py
@@ -473,7 +473,10 @@ set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)''' % { 'winfix': '' if not WINDOWS e
@staticmethod
def link(files, target):
try_delete(target)
+ stub = 'a.out' if not WINDOWS else 'a.exe'
+ need_cleanup = not os.path.exists(stub)
output = Popen([LLVM_LD, '-disable-opt'] + files + ['-b', target], stdout=PIPE).communicate()[0]
+ if need_cleanup: try_delete(stub) # clean up stub left by the linker
assert os.path.exists(target) and (output is None or 'Could not open input file' not in output), 'Linking error: ' + output
# Emscripten optimizations that we run on the .ll file