diff options
author | Kostadin Damyanov <maxmight@gmail.com> | 2015-08-09 12:45:21 +0300 |
---|---|---|
committer | Kostadin Damyanov <maxmight@gmail.com> | 2015-08-09 12:45:21 +0300 |
commit | cdf1ac7d58f3dc026cd316a66450771762d74432 (patch) | |
tree | 635ab608220b2940674098253efddbca7a69377a /platform/android/detect.py | |
parent | f5bfd497aab7e24a6f4dc0315e9e9333504067a0 (diff) | |
parent | c2e2f2e0aebf6342e6f18ae5d67b6a825590675a (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'platform/android/detect.py')
-rw-r--r-- | platform/android/detect.py | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/platform/android/detect.py b/platform/android/detect.py index 5ef405f7b6..76575a1ec6 100644 --- a/platform/android/detect.py +++ b/platform/android/detect.py @@ -54,13 +54,53 @@ def create(env): def configure(env): + # Workaround for MinGW. See: + # http://www.scons.org/wiki/LongCmdLinesOnWin32 + import os + if (os.name=="nt"): + + import subprocess + + def mySubProcess(cmdline,env): + #print "SPAWNED : " + cmdline + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + proc = subprocess.Popen(cmdline, stdin=subprocess.PIPE, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, startupinfo=startupinfo, shell = False, env = env) + data, err = proc.communicate() + rv = proc.wait() + if rv: + print "=====" + print err + print "=====" + return rv + + def mySpawn(sh, escape, cmd, args, env): + + newargs = ' '.join(args[1:]) + cmdline = cmd + " " + newargs + + rv=0 + if len(cmdline) > 32000 and cmd.endswith("ar") : + cmdline = cmd + " " + args[1] + " " + args[2] + " " + for i in range(3,len(args)) : + rv = mySubProcess( cmdline + args[i], env ) + if rv : + break + else: + rv = mySubProcess( cmdline, env ) + + return rv + + env['SPAWN'] = mySpawn + if env['x86']=='yes': env['NDK_TARGET']='x86-4.8' if env['PLATFORM'] == 'win32': import methods env.Tool('gcc') - env['SPAWN'] = methods.win32_spawn + #env['SPAWN'] = methods.win32_spawn env['SHLIBSUFFIX'] = '.so' # env.android_source_modules.append("../libs/apk_expansion") |