Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Unified Diff: pylib/gyp/__init__.py

Issue 12638013: Add options for host/target OS/arch. (Closed) Base URL: http://gyp.googlecode.com/svn/trunk
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pylib/gyp/common.py » ('j') | pylib/gyp/common.py » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pylib/gyp/__init__.py
diff --git a/pylib/gyp/__init__.py b/pylib/gyp/__init__.py
index 3769c526522e98b52b7139c0fb22e5881a22a69a..9ed19a8c48275df14102df89e8c89452927cbfd5 100755
--- a/pylib/gyp/__init__.py
+++ b/pylib/gyp/__init__.py
@@ -69,6 +69,10 @@ def Load(build_files, format, default_variables={},
# named WITH_CAPITAL_LETTERS to provide a distinct "best practice" namespace,
# avoiding collisions with user and automatic variables.
default_variables['GENERATOR'] = format
+ default_variables['HOST_OS'] = options.host_os
+ default_variables['TARGET_OS'] = options.target_os
Torne 2013/03/11 16:16:50 Currently there is a variable OS that's set by som
+ default_variables['HOST_ARCH'] = options.host_arch
+ default_variables['TARGET_ARCH'] = options.target_arch
Nico 2013/07/05 21:50:50 On Mac (and iOS), targets can have multiple target
# Format can be a custom python file, or by default the name of a module
# within gyp.generator.
@@ -333,6 +337,18 @@ def gyp_main(args):
parser.add_option('--no-circular-check', dest='circular_check',
action='store_false', default=True, regenerate=False,
help="don't check for circular relationships between files")
+ parser.add_option('--host-os', dest='host_os', action='store', default=None,
+ metavar='OS', env_name='GYP_HOST_OS',
+ help='override detected host OS')
+ parser.add_option('--target-os', dest='target_os', action='store',
+ default=None, metavar='OS', env_name='GYP_TARGET_OS',
+ help='crosscompile for a different target OS')
+ parser.add_option('--host-arch', dest='host_arch', action='store',
+ default=None, metavar='ARCH', env_name='GYP_HOST_ARCH',
+ help='override detected host architecture')
+ parser.add_option('--target-arch', dest='target_arch', action='store',
+ default=None, metavar='ARCH', env_name='GYP_TARGET_ARCH',
+ help='crosscompile for a different target architecture')
# We read a few things from ~/.gyp, so set up a var for that.
home_vars = ['HOME']
@@ -381,6 +397,30 @@ def gyp_main(args):
p = os.environ.get('GYP_PARALLEL')
options.parallel = bool(p and p != '0')
+ if not options.host_os:
+ if options.use_environment:
+ options.host_os = os.environ.get('GYP_HOST_OS')
+ if not options.host_os:
+ options.host_os = gyp.common.GetFlavor({})
+
+ if not options.target_os:
+ if options.use_environment:
+ options.target_os = os.environ.get('GYP_TARGET_OS')
+ if not options.target_os:
+ options.target_os = options.host_os
+
+ if not options.host_arch:
+ if options.use_environment:
+ options.host_arch = os.environ.get('GYP_HOST_ARCH')
+ if not options.host_arch:
+ options.host_arch = gyp.common.DetectHostArchitecture()
+
+ if not options.target_arch:
+ if options.use_environment:
+ options.target_arch = arch.environ.get('GYP_TARGET_ARCH')
+ if not options.target_arch:
+ options.target_arch = options.host_arch
+
for mode in options.debug:
gyp.debug[mode] = 1
« no previous file with comments | « no previous file | pylib/gyp/common.py » ('j') | pylib/gyp/common.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698