summaryrefslogtreecommitdiff
path: root/test/sanitizer_common/android_commands/android_compile.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/sanitizer_common/android_commands/android_compile.py')
-rwxr-xr-xtest/sanitizer_common/android_commands/android_compile.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/sanitizer_common/android_commands/android_compile.py b/test/sanitizer_common/android_commands/android_compile.py
new file mode 100755
index 000000000..4b880886b
--- /dev/null
+++ b/test/sanitizer_common/android_commands/android_compile.py
@@ -0,0 +1,36 @@
+#!/usr/bin/python
+
+import os, sys, subprocess
+from android_common import *
+
+
+here = os.path.abspath(os.path.dirname(sys.argv[0]))
+android_run = os.path.join(here, 'android_run.py')
+
+output = None
+output_type = 'executable'
+
+args = sys.argv[1:]
+while args:
+ arg = args.pop(0)
+ if arg == '-shared':
+ output_type = 'shared'
+ elif arg == '-c':
+ output_type = 'object'
+ elif arg == '-o':
+ output = args.pop(0)
+
+if output == None:
+ print "No output file name!"
+ sys.exit(1)
+
+ret = subprocess.call(sys.argv[1:])
+if ret != 0:
+ sys.exit(ret)
+
+if output_type in ['executable', 'shared']:
+ push_to_device(output)
+
+if output_type == 'executable':
+ os.rename(output, output + '.real')
+ os.symlink(android_run, output)