OLD | NEW |
---|---|
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """The android specific platform implementation module.""" | 5 """The android specific platform implementation module.""" |
6 | 6 |
7 import os | 7 import os |
8 import subprocess | 8 import subprocess |
9 | 9 |
10 import cr | 10 import cr |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
52 return super(AndroidPlatform, self).priority + 1 | 52 return super(AndroidPlatform, self).priority + 1 |
53 | 53 |
54 def Prepare(self, context): | 54 def Prepare(self, context): |
55 """Override Prepare from cr.Platform.""" | 55 """Override Prepare from cr.Platform.""" |
56 super(AndroidPlatform, self).Prepare(context) | 56 super(AndroidPlatform, self).Prepare(context) |
57 try: | 57 try: |
58 # capture the result of env setup if we have not already done so | 58 # capture the result of env setup if we have not already done so |
59 if not self._env_ready: | 59 if not self._env_ready: |
60 # See what the env would be without env setup | 60 # See what the env would be without env setup |
61 before = context.exported | 61 before = context.exported |
62 # Run env setup and capture/parse it's output | 62 before['GYP_DEFINES'] = before.get( |
63 envsetup = 'source {CR_ENVSETUP} --target-arch={CR_ENVSETUP_ARCH}' | 63 'GYP_DEFINES', '') + ' target_arch={CR_ENVSETUP_ARCH}' |
iancottrell
2014/02/19 09:58:21
This feels like the wrong place to do this.
Is the
Nico
2014/02/19 14:04:06
Yes: envsetup is android-specific, and I'm changin
iancottrell
2014/02/19 14:18:24
I mean that setting the arch for gyp does not need
| |
64 # Run env setup and capture/parse its output | |
65 envsetup = 'source {CR_ENVSETUP}' | |
64 output = cr.Host.CaptureShell(context, envsetup + ' > /dev/null && env') | 66 output = cr.Host.CaptureShell(context, envsetup + ' > /dev/null && env') |
65 env_setup = cr.Config('envsetup', literal=True, export=True) | 67 env_setup = cr.Config('envsetup', literal=True, export=True) |
66 for line in output.split('\n'): | 68 for line in output.split('\n'): |
67 (key, op, value) = line.partition('=') | 69 (key, op, value) = line.partition('=') |
68 if op: | 70 if op: |
69 key = key.strip() | 71 key = key.strip() |
70 if key not in _IGNORE_ENV: | 72 if key not in _IGNORE_ENV: |
71 env_setup[key] = env_setup.ParseValue(value.strip()) | 73 env_setup[key] = env_setup.ParseValue(value.strip()) |
72 if key == 'PATH': | 74 if key == 'PATH': |
73 self._env_paths = value.strip().split(os.path.pathsep) | 75 self._env_paths = value.strip().split(os.path.pathsep) |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
124 print 'Abandoning the creation of and android output directory.' | 126 print 'Abandoning the creation of and android output directory.' |
125 exit(1) | 127 exit(1) |
126 target_os.append('android') | 128 target_os.append('android') |
127 context.gclient['target_os'] = target_os | 129 context.gclient['target_os'] = target_os |
128 context.WriteGClient() | 130 context.WriteGClient() |
129 print 'Client updated.' | 131 print 'Client updated.' |
130 print 'You may need to sync before an output directory can be made.' | 132 print 'You may need to sync before an output directory can be made.' |
131 if cr.Host.YesNo('Would you like to sync this client now?'): | 133 if cr.Host.YesNo('Would you like to sync this client now?'): |
132 cr.SyncCommand.Sync(context, ["--nohooks"]) | 134 cr.SyncCommand.Sync(context, ["--nohooks"]) |
133 | 135 |
OLD | NEW |