OLD | NEW |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """ | 5 """ |
6 GN-related configuration functions, e.g., to produce a Config object from a GN | 6 GN-related configuration functions, e.g., to produce a Config object from a GN |
7 args.gn file). | 7 args.gn file). |
8 """ | 8 """ |
9 | 9 |
10 | 10 |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 gn_args["target_cpu"] = config.target_cpu | 87 gn_args["target_cpu"] = config.target_cpu |
88 | 88 |
89 if "use_nacl" in config.values: | 89 if "use_nacl" in config.values: |
90 gn_args["mojo_use_nacl"] = config.values.get("use_nacl", False) | 90 gn_args["mojo_use_nacl"] = config.values.get("use_nacl", False) |
91 | 91 |
92 if "mojo_use_go" in config.values: | 92 if "mojo_use_go" in config.values: |
93 gn_args["mojo_use_go"] = config.values.get("mojo_use_go", False) | 93 gn_args["mojo_use_go"] = config.values.get("mojo_use_go", False) |
94 if gn_args["mojo_use_go"]: | 94 if gn_args["mojo_use_go"]: |
95 gn_args["go_build_tool"] = config.values.get("go_build_tool") | 95 gn_args["go_build_tool"] = config.values.get("go_build_tool") |
96 | 96 |
| 97 gn_args["dart_boringssl_path"] = config.values.get("boringssl_path", "") |
| 98 |
97 extra_args = config.values.get("gn_args") | 99 extra_args = config.values.get("gn_args") |
98 if extra_args: | 100 if extra_args: |
99 for arg in extra_args.split(): | 101 for arg in extra_args.split(): |
100 (name, val) = arg.split('=') | 102 (name, val) = arg.split('=') |
101 gn_args[name] = val | 103 gn_args[name] = val |
102 | 104 |
103 return gn_args | 105 return gn_args |
104 | 106 |
105 | 107 |
106 def CommandLineForGNArgs(gn_args): | 108 def CommandLineForGNArgs(gn_args): |
(...skipping 26 matching lines...) Expand all Loading... |
133 if config_args["mojo_use_go"]: | 135 if config_args["mojo_use_go"]: |
134 config_args["go_build_tool"] = args.get("go_build_tool") | 136 config_args["go_build_tool"] = args.get("go_build_tool") |
135 config_args["target_os"] = args.get("target_os") | 137 config_args["target_os"] = args.get("target_os") |
136 config_args["target_cpu"] = args.get("target_cpu") | 138 config_args["target_cpu"] = args.get("target_cpu") |
137 config_args["dcheck_always_on"] = args.get("dcheck_always_on") | 139 config_args["dcheck_always_on"] = args.get("dcheck_always_on") |
138 config_args["is_simulator"] = args.get("use_ios_simulator", False) | 140 config_args["is_simulator"] = args.get("use_ios_simulator", False) |
139 if "target_sysroot" in args: | 141 if "target_sysroot" in args: |
140 config_args["target_sysroot"] = args.get("target_sysroot") | 142 config_args["target_sysroot"] = args.get("target_sysroot") |
141 if "toolchain_prefix" in args: | 143 if "toolchain_prefix" in args: |
142 config_args["toolchain_prefix"] = args.get("toolchain_prefix") | 144 config_args["toolchain_prefix"] = args.get("toolchain_prefix") |
| 145 config_args["boringssl_path"] = args.get("dart_boringssl_path") |
143 return Config(**config_args) | 146 return Config(**config_args) |
144 | 147 |
145 | 148 |
146 def ParseGNConfig(build_dir): | 149 def ParseGNConfig(build_dir): |
147 """ | 150 """ |
148 Parse the gn config file present in |build_dir|. This function returns a | 151 Parse the gn config file present in |build_dir|. This function returns a |
149 dictionary with boolean values as boolean. | 152 dictionary with boolean values as boolean. |
150 """ | 153 """ |
151 TRANSLATIONS = { | 154 TRANSLATIONS = { |
152 "true": "True", | 155 "true": "True", |
153 "false": "False", | 156 "false": "False", |
154 } | 157 } |
155 gn_file = os.path.join(build_dir, "args.gn") | 158 gn_file = os.path.join(build_dir, "args.gn") |
156 values = {} | 159 values = {} |
157 with open(gn_file, "r") as f: | 160 with open(gn_file, "r") as f: |
158 for line in f.readlines(): | 161 for line in f.readlines(): |
159 line = re.sub("\s*#.*", "", line) | 162 line = re.sub("\s*#.*", "", line) |
160 result = re.match("^\s*(\w+)\s*=\s*(.*)\s*$", line) | 163 result = re.match("^\s*(\w+)\s*=\s*(.*)\s*$", line) |
161 if result: | 164 if result: |
162 key = result.group(1) | 165 key = result.group(1) |
163 value = result.group(2) | 166 value = result.group(2) |
164 values[key] = ast.literal_eval(TRANSLATIONS.get(value, value)) | 167 values[key] = ast.literal_eval(TRANSLATIONS.get(value, value)) |
165 return values | 168 return values |
OLD | NEW |