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

Unified Diff: tools/gyp_flag_compare.py

Issue 2155623003: [Not for commit] Experiment for windows build flag comparison. Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Skip non-existing rsp files Created 4 years, 3 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 | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/gyp_flag_compare.py
diff --git a/tools/gyp_flag_compare.py b/tools/gyp_flag_compare.py
index 86fa5c409840188f63fd76d41b5c2afea403c7c7..0b33a459ea874d0d0f6c0f7372abd11e15a27c9f 100755
--- a/tools/gyp_flag_compare.py
+++ b/tools/gyp_flag_compare.py
@@ -98,6 +98,9 @@ def GetFlags(lines, build_dir):
assert len(rsp_file) <= 1
if rsp_file:
rsp_file = os.path.join(build_dir, rsp_file[0][1:])
+ if not os.path.exists(rsp_file):
+ print 'Warning: Skipping %s' % rsp_file
+ continue
with open(rsp_file, "r") as open_rsp_file:
command_line = shlex.split(open_rsp_file, posix=False)
@@ -185,10 +188,10 @@ def CompareLists(gyp, gn, name, dont_care_gyp=None, dont_care_gn=None):
return output
-def Run(command_line):
+def Run(command_line, **kwargs):
"""Run |command_line| as a subprocess and return stdout. Raises on error."""
try:
- return subprocess.check_output(command_line, shell=True)
+ return subprocess.check_output(command_line, shell=True,**kwargs)
except subprocess.CalledProcessError as e:
# Rescue the output we got until the exception happened.
print '#### Stdout: ####################################################'
@@ -197,6 +200,10 @@ def Run(command_line):
raise
+def compile(build_type, src_dir):
+ args = "python -u E:/b/build/scripts/tools/runit.py --show-path python E:/b/build/scripts/slave/compile.py --build-args=-d --build-args=keeprsp --gsutil-py-path E:/b/build/scripts/slave/.recipe_deps/depot_tools/gsutil.py --ninja-path E:/b/build/scripts/slave/.recipe_deps/depot_tools/ninja.exe --target %s --src-dir %s --goma-cache-dir E:/b/build/slave/goma_cache --compiler goma --goma-service-account-json-file C:/creds/service_accounts/service-account-goma-client.json --goma-dir E:/b/build/slave/cache/cipd/goma --goma-fail-fast --goma-disable-local-fallback -- all".replace('/', '\\')
+ return Run(args % (build_type, src_dir))
+
def main():
if len(sys.argv) < 4:
print ('usage: %s gn_outdir gyp_outdir gn_target '
@@ -206,20 +213,27 @@ def main():
if len(sys.argv) == 4:
sys.argv.append(sys.argv[3])
gn_out_dir = sys.argv[1]
- print >> sys.stderr, 'Expecting gn outdir in %s...' % gn_out_dir
- gn = Run('ninja -C %s -t commands %s' % (gn_out_dir, sys.argv[3]))
+ gyp_out_dir = sys.argv[2]
+
+ build_type = os.path.basename(gyp_out_dir)
+ src_dir = os.path.dirname(os.path.dirname(gyp_out_dir))
+ print >> sys.stderr, 'Expecting gyp outdir in %s...' % gyp_out_dir
if sys.platform == 'win32':
# On Windows flags are stored in .rsp files which are created during build.
- print >> sys.stderr, 'Building in %s...' % gn_out_dir
- Run('ninja -C %s -d keeprsp %s' % (gn_out_dir, sys.argv[3]))
+ print >> sys.stderr, 'Building in %s...' % gyp_out_dir
+ # Run('ninja -C %s -d keeprsp %s' % (gyp_out_dir, " ".join(sys.argv[4:])))
+ compile(build_type, src_dir)
- gyp_out_dir = sys.argv[2]
- print >> sys.stderr, 'Expecting gyp outdir in %s...' % gyp_out_dir
gyp = Run('ninja -C %s -t commands %s' % (gyp_out_dir, " ".join(sys.argv[4:])))
+
+ build_type = 'gn'
+ print >> sys.stderr, 'Expecting gn outdir in %s...' % gn_out_dir
if sys.platform == 'win32':
# On Windows flags are stored in .rsp files which are created during build.
- print >> sys.stderr, 'Building in %s...' % gyp_out_dir
- Run('ninja -C %s -d keeprsp %s' % (gyp_out_dir, " ".join(sys.argv[4:])))
+ print >> sys.stderr, 'Building in %s...' % gn_out_dir
+ # Run('ninja -C %s -d keeprsp %s' % (gn_out_dir, sys.argv[3]))
+ compile(build_type, src_dir)
+ gn = Run('ninja -C %s -t commands %s' % (gn_out_dir, sys.argv[3]))
all_gyp_flags = GetFlags(gyp.splitlines(),
os.path.join(os.getcwd(), gyp_out_dir))
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698