xref: /aosp_15_r20/external/cronet/build/toolchain/check_rewrapper_cfg.py (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker#!/usr/bin/env python3
2*6777b538SAndroid Build Coastguard Worker# Copyright 2023 The Chromium Authors
3*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
4*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file.
5*6777b538SAndroid Build Coastguard Worker
6*6777b538SAndroid Build Coastguard Workerimport os
7*6777b538SAndroid Build Coastguard Workerimport sys
8*6777b538SAndroid Build Coastguard Worker
9*6777b538SAndroid Build Coastguard Worker
10*6777b538SAndroid Build Coastguard Workerdef missing_cfg_error_message():
11*6777b538SAndroid Build Coastguard Worker  """This assumes that corp machine has gcert binary in known location."""
12*6777b538SAndroid Build Coastguard Worker  import shutil
13*6777b538SAndroid Build Coastguard Worker  if shutil.which("gcert") is not None:
14*6777b538SAndroid Build Coastguard Worker    return """
15*6777b538SAndroid Build Coastguard WorkerTo build with gn arg 'use_remoteexec=true' as a googler on a corp machine
16*6777b538SAndroid Build Coastguard Workerset "download_remoteexec_cfg" in .gclient like
17*6777b538SAndroid Build Coastguard Worker
18*6777b538SAndroid Build Coastguard Workersolutions = [
19*6777b538SAndroid Build Coastguard Worker    {
20*6777b538SAndroid Build Coastguard Worker        "name"        : "src",
21*6777b538SAndroid Build Coastguard Worker        # ...
22*6777b538SAndroid Build Coastguard Worker        "custom_vars" : {
23*6777b538SAndroid Build Coastguard Worker            "download_remoteexec_cfg": True,
24*6777b538SAndroid Build Coastguard Worker        },
25*6777b538SAndroid Build Coastguard Worker    },
26*6777b538SAndroid Build Coastguard Worker]
27*6777b538SAndroid Build Coastguard Worker
28*6777b538SAndroid Build Coastguard Workerand re-run `gclient sync`.
29*6777b538SAndroid Build Coastguard Worker
30*6777b538SAndroid Build Coastguard WorkerSee http://go/chrome-linux-build#setup-remote-execution
31*6777b538SAndroid Build Coastguard Workerfor more details."""
32*6777b538SAndroid Build Coastguard Worker  elif sys.platform == 'linux':
33*6777b538SAndroid Build Coastguard Worker    return """
34*6777b538SAndroid Build Coastguard WorkerTo build with gn arg 'use_remoteexec=true' as a googler on a non corp machine
35*6777b538SAndroid Build Coastguard Workersee http://go/chrome-linux-build#setup-remote-execution for setup instructions.
36*6777b538SAndroid Build Coastguard Worker
37*6777b538SAndroid Build Coastguard WorkerTo build with gn arg 'use_remoteexec=true' as a non-googler set the appropriate
38*6777b538SAndroid Build Coastguard Worker`rbe_cfg_dir` value in args.gn.
39*6777b538SAndroid Build Coastguard WorkerSee
40*6777b538SAndroid Build Coastguard Workerhttps://chromium.googlesource.com/chromium/src/+/main/docs/linux/build_instructions.md#use-reclient
41*6777b538SAndroid Build Coastguard Workerfor more details."""
42*6777b538SAndroid Build Coastguard Worker  else:
43*6777b538SAndroid Build Coastguard Worker    return """
44*6777b538SAndroid Build Coastguard WorkerTo build with gn arg 'use_remoteexec=true' as a googler on a non corp machine
45*6777b538SAndroid Build Coastguard Workersee http://go/chrome-linux-build#setup-remote-execution for setup instructions.
46*6777b538SAndroid Build Coastguard Worker
47*6777b538SAndroid Build Coastguard WorkerBuilding with gn arg 'use_remoteexec=true' as a non-googler is not currently
48*6777b538SAndroid Build Coastguard Workersupported on your os (%s).
49*6777b538SAndroid Build Coastguard Worker""" % sys.platform
50*6777b538SAndroid Build Coastguard Worker
51*6777b538SAndroid Build Coastguard Worker
52*6777b538SAndroid Build Coastguard Workerdef main():
53*6777b538SAndroid Build Coastguard Worker  if len(sys.argv) != 2:
54*6777b538SAndroid Build Coastguard Worker    print("This should have a path to reclient config file in its args.",
55*6777b538SAndroid Build Coastguard Worker          file=sys.stderr)
56*6777b538SAndroid Build Coastguard Worker    return 1
57*6777b538SAndroid Build Coastguard Worker
58*6777b538SAndroid Build Coastguard Worker  # Check path to rbe_cc_cfg_file.
59*6777b538SAndroid Build Coastguard Worker  if os.path.isfile(sys.argv[1]):
60*6777b538SAndroid Build Coastguard Worker    return 0
61*6777b538SAndroid Build Coastguard Worker
62*6777b538SAndroid Build Coastguard Worker  print("reclient config file '%s' doesn't exist" %
63*6777b538SAndroid Build Coastguard Worker        (os.path.abspath(sys.argv[1])),
64*6777b538SAndroid Build Coastguard Worker        file=sys.stderr)
65*6777b538SAndroid Build Coastguard Worker  print(missing_cfg_error_message(), file=sys.stderr)
66*6777b538SAndroid Build Coastguard Worker
67*6777b538SAndroid Build Coastguard Worker  return 1
68*6777b538SAndroid Build Coastguard Worker
69*6777b538SAndroid Build Coastguard Worker
70*6777b538SAndroid Build Coastguard Workerif __name__ == "__main__":
71*6777b538SAndroid Build Coastguard Worker  sys.exit(main())
72