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

Unified Diff: build/build_nexe.py

Issue 66303010: Enables goma from GYP. (Closed) Base URL: http://src.chromium.org/native_client/trunk/src/native_client/
Patch Set: Created 7 years 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 | build/common.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/build_nexe.py
===================================================================
--- build/build_nexe.py (revision 12488)
+++ build/build_nexe.py (working copy)
@@ -98,18 +98,33 @@
return out_ts <= src_ts
-def GetGomaPath(osname, arch, toolname):
+def GetGomaPath(gomadir, osname, arch, toolname):
"""Returns full-path of gomacc if goma is available or None."""
# Start goma support from os/arch/toolname that have been tested.
# Set NO_NACL_GOMA=true to force to avoid using goma.
if (osname != 'linux' or arch not in ['x86-32', 'x86-64']
or toolname not in ['newlib', 'glibc']
- or os.environ.get('NO_NACL_GOMA', None)):
+ or os.environ.get('NO_NACL_GOMA'):
return None
try:
gomacc_base = 'gomacc.exe' if os.name == 'nt' else 'gomacc'
- for directory in os.environ.get('PATH', '').split(os.path.pathsep):
+ # Search order of gomacc:
+ # --gomadir command argument -> GOMA_DIR env. -> PATH env.
+ search_path = []
+ # 1. --gomadir in the command argument.
+ if gomadir:
+ search_path.append(gomadir)
+ # 2. Use GOMA_DIR environment variable if exist.
+ goma_dir_env = os.environ.get('GOMA_DIR')
+ if goma_dir_env:
+ search_path.append(gomadir_env)
+ # 3. Append PATH env.
+ path_env = os.environ.get('PATH')
+ if path_env:
+ search_path.extend(path_env.split(os.path.pathsep))
+
+ for directory in search_path:
gomacc = os.path.join(directory, gomacc_base)
if os.path.isfile(gomacc):
port = subprocess.Popen(
@@ -223,7 +238,7 @@
self.strip_all = options.strip_all
self.strip_debug = options.strip_debug
self.finalize_pexe = options.finalize_pexe and arch == 'pnacl'
- self.gomacc = GetGomaPath(self.osname, arch, toolname)
+ self.gomacc = GetGomaPath(options.gomadir, self.osname, arch, toolname)
# Use unoptimized native objects for debug IRT builds for faster compiles.
if (self.is_pnacl_toolchain
@@ -697,6 +712,8 @@
help='Set the path for of the toolchains.')
parser.add_option('--config-name', dest='build_config',
help='GYP build configuration name (Release/Debug)')
+ parser.add_option('--gomadir', dest='gomadir',
+ help='Path of the goma directory.')
options, files = parser.parse_args(argv[1:])
if not argv:
@@ -731,7 +748,7 @@
build.Translate(list(files)[0])
return 0
- if build.gomacc: # use goma build.
+ if build.gomacc: # execute gomacc as many as possible.
returns = Queue.Queue()
def CompileThread(filename, queue):
try:
« no previous file with comments | « no previous file | build/common.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698