12d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines#!/usr/bin/python 22d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines 32d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesimport os, sys, subprocess 42d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesfrom android_common import * 52d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines 62d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines 72d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hineshere = os.path.abspath(os.path.dirname(sys.argv[0])) 82d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesandroid_run = os.path.join(here, 'android_run.py') 92d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines 102d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesoutput = None 112d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesoutput_type = 'executable' 122d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines 132d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesargs = sys.argv[1:] 142d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hineswhile args: 152d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines arg = args.pop(0) 162d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines if arg == '-shared': 172d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines output_type = 'shared' 182d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines elif arg == '-c': 192d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines output_type = 'object' 202d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines elif arg == '-o': 212d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines output = args.pop(0) 222d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines 232d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesif output == None: 242d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines print "No output file name!" 252d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines sys.exit(1) 262d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines 272d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesret = subprocess.call(sys.argv[1:]) 282d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesif ret != 0: 292d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines sys.exit(ret) 302d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines 312d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesif output_type in ['executable', 'shared']: 322d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines push_to_device(output) 332d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines 342d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesif output_type == 'executable': 352d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines os.rename(output, output + '.real') 362d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines os.symlink(android_run, output) 37