| Index: tools/gn/bin/gyp_flag_compare.py
|
| diff --git a/tools/gn/bin/gyp_flag_compare.py b/tools/gn/bin/gyp_flag_compare.py
|
| index ead046bcfe0186eb35194c285c9d58fd0b32dfa2..753232e4c3738ec8ea29d247f6e261f0ca1e38b1 100755
|
| --- a/tools/gn/bin/gyp_flag_compare.py
|
| +++ b/tools/gn/bin/gyp_flag_compare.py
|
| @@ -86,20 +86,28 @@ def GetFlags(lines):
|
| return flags_by_output
|
|
|
|
|
| -def CompareLists(gyp, gn, name, dont_care=None):
|
| - """Return a report of any differences between two lists, ignoring anything
|
| - in |dont_care|."""
|
| - if not dont_care:
|
| - dont_care = []
|
| +def CompareLists(gyp, gn, name, dont_care_gyp=None, dont_care_gn=None):
|
| + """Return a report of any differences between gyp and gn lists, ignoring
|
| + anything in |dont_care_{gyp|gn}| respectively."""
|
| + if not dont_care_gyp:
|
| + dont_care_gyp = []
|
| + if not dont_care_gn:
|
| + dont_care_gn = []
|
| output = ''
|
| if gyp[name] != gn[name]:
|
| output += ' %s differ:\n' % name
|
| - gyp_set = set(gyp[name]) - set(dont_care)
|
| - gn_set = set(gn[name]) - set(dont_care)
|
| - output += ' In gyp, but not in GN:\n %s' % '\n '.join(
|
| - sorted(gyp_set - gn_set)) + '\n'
|
| - output += ' In GN, but not in gyp:\n %s' % '\n '.join(
|
| - sorted(gn_set - gyp_set)) + '\n\n'
|
| + gyp_set = set(gyp[name])
|
| + gn_set = set(gn[name])
|
| + missing_in_gyp = gyp_set - gn_set
|
| + missing_in_gn = gn_set - gyp_set
|
| + missing_in_gyp -= set(dont_care_gyp)
|
| + missing_in_gn -= set(dont_care_gn)
|
| + if missing_in_gyp:
|
| + output += ' In gyp, but not in GN:\n %s' % '\n '.join(
|
| + sorted(missing_in_gyp)) + '\n'
|
| + if missing_in_gn:
|
| + output += ' In GN, but not in gyp:\n %s' % '\n '.join(
|
| + sorted(missing_in_gn)) + '\n\n'
|
| return output
|
|
|
|
|
| @@ -120,7 +128,7 @@ def main():
|
| print >>sys.stderr, 'Regenerating...'
|
| # Currently only Release, non-component.
|
| Run('gn gen out/gn_flags --args="is_debug=false is_component_build=false"')
|
| - del os.environ['GYP_DEFINES']
|
| + os.environ.pop('GYP_DEFINES', None)
|
| Run('python build/gyp_chromium -Goutput_dir=out_gyp_flags -Gconfig=Release')
|
| gn = Run('ninja -C out/gn_flags -t commands %s' % sys.argv[2])
|
| gyp = Run('ninja -C out_gyp_flags/Release -t commands %s' % sys.argv[1])
|
| @@ -142,15 +150,14 @@ def main():
|
| gyp_flags = all_gyp_flags[filename]
|
| gn_flags = all_gn_flags[filename]
|
| differences = CompareLists(gyp_flags, gn_flags, 'dash_f')
|
| - differences += CompareLists(gyp_flags, gn_flags, 'defines', dont_care=[
|
| - '-DENABLE_PRE_SYNC_BACKUP',
|
| - '-DENABLE_WEBRTC=1',
|
| - '-DUSE_LIBJPEG_TURBO=1',
|
| - '-DUSE_PANGO=1',
|
| - '-DUSE_SYMBOLIZE',
|
| - ])
|
| + differences += CompareLists(gyp_flags, gn_flags, 'defines')
|
| differences += CompareLists(gyp_flags, gn_flags, 'include_dirs')
|
| - differences += CompareLists(gyp_flags, gn_flags, 'warnings')
|
| + differences += CompareLists(gyp_flags, gn_flags, 'warnings', dont_care_gn=[
|
| + # More conservative warnings in GN we consider to be OK.
|
| + '-Wendif-labels',
|
| + '-Wextra',
|
| + '-Wsign-compare',
|
| + ])
|
| differences += CompareLists(gyp_flags, gn_flags, 'other')
|
| if differences:
|
| files_with_given_differences.setdefault(differences, []).append(filename)
|
|
|