Chromium Code Reviews| 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 mac_app_script = "//build/config/mac/mac_app.py" | 5 mac_app_script = "//build/config/mac/mac_app.py" |
| 6 | 6 |
| 7 template("code_sign_mac") { | 7 template("code_sign_mac") { |
| 8 assert(defined(invoker.entitlements_path), | 8 assert(defined(invoker.entitlements_path), |
| 9 "The path to the entitlements .xcent file") | 9 "The path to the entitlements .xcent file") |
| 10 assert(defined(invoker.identity), "The code signing identity") | 10 assert(defined(invoker.identity), "The code signing identity") |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 203 } | 203 } |
| 204 | 204 |
| 205 # Top level group | 205 # Top level group |
| 206 | 206 |
| 207 group(group_gen_target_name) { | 207 group(group_gen_target_name) { |
| 208 deps = [ | 208 deps = [ |
| 209 ":$copy_all_target_name", | 209 ":$copy_all_target_name", |
| 210 ] | 210 ] |
| 211 } | 211 } |
| 212 } | 212 } |
| 213 | |
| 214 template("mac_framework") { | |
|
sdefresne
2016/04/05 22:59:48
Can you document the supported parameters, in part
Robert Sesek
2016/04/06 18:40:04
Done.
| |
| 215 assert(defined(invoker.deps), | |
| 216 "Dependencies must be specified for $target_name") | |
| 217 assert(defined(invoker.info_plist), | |
| 218 "The Info.plist file must be specified for $target_name") | |
| 219 | |
| 220 _target_name = target_name | |
| 221 _output_name = target_name | |
| 222 if (defined(invoker.output_name)) { | |
| 223 _output_name = invoker.output_name | |
| 224 } | |
| 225 _framework_name = _output_name + ".framework" | |
| 226 _framework_version = "" | |
| 227 if (defined(invoker.framework_version)) { | |
| 228 _framework_version = invoker.framework_version | |
| 229 } | |
| 230 _framework_target = _output_name + "_framework" | |
| 231 | |
| 232 _shared_library_target = target_name + "_shared_library" | |
| 233 _shared_library_bundle_data = _shared_library_target + "_bundle_data" | |
| 234 | |
| 235 shared_library(_shared_library_target) { | |
| 236 visibility = [ ":$_shared_library_bundle_data" ] | |
| 237 forward_variables_from(invoker, | |
| 238 "*", | |
| 239 [ | |
| 240 "assert_no_deps", | |
| 241 "data_deps", | |
| 242 "info_plist", | |
| 243 "output_name", | |
| 244 "visibility", | |
| 245 ]) | |
| 246 } | |
| 247 | |
| 248 bundle_data(_shared_library_bundle_data) { | |
| 249 visibility = [ ":$_framework_target" ] | |
| 250 forward_variables_from(invoker, [ "testonly" ]) | |
| 251 sources = [ | |
| 252 "$root_out_dir/lib$_shared_library_target.dylib", | |
|
sdefresne
2016/04/05 22:59:48
Should use "${shlib_extension}" (from build/toolch
Robert Sesek
2016/04/06 18:40:03
Done.
| |
| 253 ] | |
| 254 outputs = [ | |
| 255 "{{bundle_executable_dir}}/$_output_name", | |
| 256 ] | |
| 257 public_deps = [ | |
| 258 ":$_shared_library_target", | |
| 259 ] | |
| 260 } | |
| 261 | |
| 262 _info_plist_target = target_name + "_info_plist" | |
| 263 | |
| 264 # TODO(rsesek): Process Info.plist variables. | |
|
sdefresne
2016/04/05 22:59:48
Can you use what exists for iOS?
Robert Sesek
2016/04/06 18:40:03
We don't have the variables extracted for use yet,
| |
| 265 | |
| 266 _info_plist_bundle_data = _info_plist_target + "_bundle_data" | |
| 267 | |
| 268 bundle_data(_info_plist_bundle_data) { | |
| 269 visibility = [ ":$_framework_target" ] | |
| 270 forward_variables_from(invoker, [ "testonly" ]) | |
| 271 sources = [ | |
| 272 invoker.info_plist, | |
| 273 ] | |
| 274 outputs = [ | |
| 275 "{{bundle_root_dir}}/Info.plist", | |
| 276 ] | |
| 277 } | |
| 278 | |
| 279 _package_target = target_name + "_package" | |
| 280 | |
| 281 create_bundle(_framework_target) { | |
| 282 visibility = [ ":$_package_target" ] | |
| 283 forward_variables_from(invoker, | |
| 284 [ | |
| 285 "data_deps", | |
| 286 "deps", | |
| 287 "public_deps", | |
| 288 "testonly", | |
| 289 "visibility", | |
| 290 ]) | |
| 291 | |
| 292 if (!defined(deps)) { | |
| 293 deps = [] | |
| 294 } | |
| 295 deps += [ | |
| 296 ":$_info_plist_bundle_data", | |
| 297 ":$_shared_library_bundle_data", | |
| 298 ] | |
| 299 | |
| 300 bundle_root_dir = "$root_out_dir/$_framework_name" | |
| 301 if (_framework_version != "") { | |
| 302 bundle_root_dir += "/Versions/$_framework_version" | |
| 303 } | |
| 304 bundle_resources_dir = "$bundle_root_dir/Resources" | |
| 305 bundle_executable_dir = "$bundle_root_dir" | |
| 306 } | |
| 307 | |
| 308 if (_framework_version != "") { | |
| 309 action(_package_target) { | |
| 310 visibility = [ ":$_target_name" ] | |
| 311 forward_variables_from(invoker, [ "testonly" ]) | |
| 312 script = "$root_out_dir/gyp-mac-tool" | |
| 313 outputs = [ | |
| 314 "$root_out_dir/$_framework_name/Versions/Current", | |
| 315 ] | |
| 316 args = [ | |
| 317 "package-framework", | |
| 318 "$_framework_name", | |
| 319 "$_framework_version", | |
| 320 ] | |
| 321 deps = [ | |
| 322 ":$_framework_target", | |
| 323 ] | |
| 324 } | |
| 325 } else { | |
| 326 group(_package_target) { | |
| 327 visibility = [ ":$_target_name" ] | |
| 328 forward_variables_from(invoker, [ "testonly" ]) | |
| 329 deps = [ | |
| 330 ":$_framework_target", | |
| 331 ] | |
| 332 } | |
| 333 } | |
| 334 | |
| 335 group(_target_name) { | |
| 336 forward_variables_from(invoker, | |
| 337 [ | |
| 338 "visbility", | |
| 339 "testonly", | |
| 340 ]) | |
| 341 deps = [ | |
| 342 ":$_package_target", | |
| 343 ] | |
| 344 } | |
| 345 } | |
| OLD | NEW |