Commit 356c1344 authored by Sylvain Defresne's avatar Sylvain Defresne Committed by Commit Bot

[ios] Allow to use custom build of gn with setup-gn.py

When working in the Xcode project generator part of gn, it is
useful to run setup-gn.py to check that the changes do not
break the Chrome on iOS developers' workflow.

Add a parameter to the script since by default gn comes from
depot_tools as a script that uses //buildtools/mac/gn which
is maintained by cipd (and readonly).

Bug: 619921
Change-Id: Iecd221893966e435cb538463fa48b94a8a6aa774
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2270204
Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
Auto-Submit: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: default avatarMike Dougherty <michaeldo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#783014}
parent 9e619333
...@@ -304,6 +304,9 @@ def Main(args): ...@@ -304,6 +304,9 @@ def Main(args):
parser.add_argument( parser.add_argument(
'--import', action='append', dest='import_rules', default=[], '--import', action='append', dest='import_rules', default=[],
help='path to file defining default gn variables') help='path to file defining default gn variables')
parser.add_argument(
'--gn-path', default=None,
help='path to gn binary (default: look up in $PATH)')
args = parser.parse_args(args) args = parser.parse_args(args)
# Load configuration (first global and then any user overrides). # Load configuration (first global and then any user overrides).
...@@ -328,11 +331,14 @@ def Main(args): ...@@ -328,11 +331,14 @@ def Main(args):
settings.getstring('build', 'arch')) settings.getstring('build', 'arch'))
sys.exit(1) sys.exit(1)
# Find gn binary in PATH. # Find path to gn binary either from command-line or in PATH.
gn_path = FindGn() if args.gn_path:
if gn_path is None: gn_path = args.gn_path
sys.stderr.write('ERROR: cannot find gn in PATH\n') else:
sys.exit(1) gn_path = FindGn()
if gn_path is None:
sys.stderr.write('ERROR: cannot find gn in PATH\n')
sys.exit(1)
out_dir = os.path.join(args.root, 'out') out_dir = os.path.join(args.root, 'out')
if not os.path.isdir(out_dir): if not os.path.isdir(out_dir):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment