Add the ability to specify a target_os for gclient solutions
This ability is useful for versions of Chromium (i.e. Android) which want to
cross-compile to another platform that has a fixed set of custom dependencies.
Review URL: http://codereview.chromium.org/10127004
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@134280 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/gclient.py b/gclient.py
index 0ebd1e9..14da995 100644
--- a/gclient.py
+++ b/gclient.py
@@ -47,6 +47,14 @@
{ "pattern": "\\.(gif|jpe?g|pr0n|png)$",
"action": ["python", "image_indexer.py", "--all"]},
]
+
+Specifying a target OS
+ An optional key named "target_os" may be added to a gclient file to specify
+ one or more additional operating systems that should be considered when
+ processing the deps_os dict of a DEPS file.
+
+ Example:
+ target_os = [ "android" ]
"""
__version__ = "0.6.4"
@@ -843,6 +851,10 @@
except SyntaxError, e:
gclient_utils.SyntaxErrorToError('.gclient', e)
+ # Append any target OS that is not already being enforced to the tuple.
+ target_os = config_dict.get('target_os', [])
+ self._enforced_os = tuple(set(self._enforced_os).union(target_os))
+
deps_to_add = []
for s in config_dict.get('solutions', []):
try: