| 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 import("//build/config/ios/ios_sdk.gni") | 5 import("//build/config/ios/ios_sdk.gni") |
| 6 import("//build/config/mac/base_rules.gni") | 6 import("//build/config/mac/base_rules.gni") |
| 7 import("//build/config/mac/symbols.gni") | 7 import("//build/config/mac/symbols.gni") |
| 8 | 8 |
| 9 _is_fat_build = additional_toolchains != [] | 9 _is_fat_build = additional_toolchains != [] |
| 10 if (_is_fat_build) { | 10 if (_is_fat_build) { |
| 11 _is_fat_build_main_target = current_toolchain == default_toolchain | 11 _is_fat_build_main_target = current_toolchain == default_toolchain |
| 12 } | 12 } |
| 13 | 13 |
| 14 if (use_ios_simulator || ios_enable_code_signing) { | 14 _code_signing_script_path = "//build/config/ios/codesign.py" |
| 15 _default_entitlements_path = "//build/config/ios/entitlements.plist" | 15 _default_entitlements_path = "//build/config/ios/entitlements.plist" |
| 16 } | |
| 17 | 16 |
| 18 # Generates Info.plist files for Mac apps and frameworks. | 17 # Generates Info.plist files for Mac apps and frameworks. |
| 19 # | 18 # |
| 20 # Arguments | 19 # Arguments |
| 21 # | 20 # |
| 22 # info_plist: | 21 # info_plist: |
| 23 # (optional) string, path to the Info.plist file that will be used for | 22 # (optional) string, path to the Info.plist file that will be used for |
| 24 # the bundle. | 23 # the bundle. |
| 25 # | 24 # |
| 26 # info_plist_target: | 25 # info_plist_target: |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 229 } | 228 } |
| 230 libs += [ "UIKit.framework" ] | 229 libs += [ "UIKit.framework" ] |
| 231 } | 230 } |
| 232 } else { | 231 } else { |
| 233 # This is either a thin build or the default toolchain of a fat-build. | 232 # This is either a thin build or the default toolchain of a fat-build. |
| 234 # The template will expand in many different target ($target_name is the | 233 # The template will expand in many different target ($target_name is the |
| 235 # create_bundle target) used as input to the create_bundle target. | 234 # create_bundle target) used as input to the create_bundle target. |
| 236 _generate_info_plist = target_name + "_generate_info_plist" | 235 _generate_info_plist = target_name + "_generate_info_plist" |
| 237 _bundle_data_info_plist = target_name + "_bundle_data_info_plist" | 236 _bundle_data_info_plist = target_name + "_bundle_data_info_plist" |
| 238 | 237 |
| 239 if (use_ios_simulator || ios_enable_code_signing) { | 238 _entitlements_path = _default_entitlements_path |
| 240 _entitlements_path = _default_entitlements_path | 239 if (defined(invoker.entitlements_path)) { |
| 241 if (defined(invoker.entitlements_path)) { | 240 _entitlements_path = invoker.entitlements_path |
| 242 _entitlements_path = invoker.entitlements_path | |
| 243 } | |
| 244 } | 241 } |
| 245 | 242 |
| 246 ios_info_plist(_generate_info_plist) { | 243 ios_info_plist(_generate_info_plist) { |
| 247 visibility = [ ":$_bundle_data_info_plist" ] | 244 visibility = [ ":$_bundle_data_info_plist" ] |
| 248 if (use_ios_simulator) { | 245 if (use_ios_simulator) { |
| 249 visibility += [ ":$_generate_entitlements_target" ] | 246 visibility += [ ":$_generate_entitlements_target" ] |
| 250 } | 247 } |
| 251 executable_name = _output_name | 248 executable_name = _output_name |
| 252 forward_variables_from(invoker, | 249 forward_variables_from(invoker, |
| 253 [ | 250 [ |
| (...skipping 14 matching lines...) Expand all Loading... |
| 268 ":$_generate_info_plist", | 265 ":$_generate_info_plist", |
| 269 ] | 266 ] |
| 270 } | 267 } |
| 271 | 268 |
| 272 if (use_ios_simulator) { | 269 if (use_ios_simulator) { |
| 273 action(_generate_entitlements_target) { | 270 action(_generate_entitlements_target) { |
| 274 _gen_info_plist_target = ":$_generate_info_plist" | 271 _gen_info_plist_target = ":$_generate_info_plist" |
| 275 _gen_info_plist_outputs = get_target_outputs(_gen_info_plist_target) | 272 _gen_info_plist_outputs = get_target_outputs(_gen_info_plist_target) |
| 276 _info_plist_path = _gen_info_plist_outputs[0] | 273 _info_plist_path = _gen_info_plist_outputs[0] |
| 277 | 274 |
| 278 script = "//build/config/ios/codesign.py" | 275 script = _code_signing_script_path |
| 279 deps = [ | 276 deps = [ |
| 280 _gen_info_plist_target, | 277 _gen_info_plist_target, |
| 281 ] | 278 ] |
| 282 sources = [ | 279 sources = [ |
| 283 _entitlements_path, | 280 _entitlements_path, |
| 284 _info_plist_path, | 281 _info_plist_path, |
| 285 ] | 282 ] |
| 286 outputs = [ | 283 outputs = [ |
| 287 _generate_entitlements_output, | 284 _generate_entitlements_output, |
| 288 ] | 285 ] |
| 289 args = [ | 286 args = [ |
| 290 "generate-entitlements", | 287 "generate-entitlements", |
| 291 "-e=" + rebase_path(_entitlements_path, root_build_dir), | 288 "-e=" + rebase_path(_entitlements_path, root_build_dir), |
| 292 "-p=" + rebase_path(_info_plist_path, root_build_dir), | 289 "-p=" + rebase_path(_info_plist_path, root_build_dir), |
| 293 ] + rebase_path(outputs, root_build_dir) | 290 ] + rebase_path(outputs, root_build_dir) |
| 294 } | 291 } |
| 295 } | 292 } |
| 296 | 293 |
| 297 _link_executable = _target_name + "_executable" | 294 _link_executable = _target_name + "_executable" |
| 298 | 295 _link_executable_visibility = [ ":$_target_name" ] |
| 299 if (ios_enable_code_signing) { | |
| 300 _link_executable_visibility = [ ":$_target_name" ] | |
| 301 } else { | |
| 302 _bundle_data_executable = target_name + "_bundle_data_executable" | |
| 303 _link_executable_visibility = [ ":$_bundle_data_executable" ] | |
| 304 } | |
| 305 | 296 |
| 306 # For a fat-build, the different "executable" outputs will be used to | 297 # For a fat-build, the different "executable" outputs will be used to |
| 307 # create the final binary using "lipo". As the corresponding target has | 298 # create the final binary using "lipo". As the corresponding target has |
| 308 # the same role as the "executable" target in a thin build, copy the | 299 # the same role as the "executable" target in a thin build, copy the |
| 309 # visibility and redefine some variables. | 300 # visibility and redefine some variables. |
| 310 if (_is_fat_build) { | 301 if (_is_fat_build) { |
| 311 _lipo_executable = _link_executable | 302 _lipo_executable = _link_executable |
| 312 _lipo_executable_visibility = _link_executable_visibility | 303 _lipo_executable_visibility = _link_executable_visibility |
| 313 | 304 |
| 314 _link_executable_visibility = [] | 305 _link_executable_visibility = [] |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 430 outputs += [ outputs[0] + ".unstripped" ] | 421 outputs += [ outputs[0] + ".unstripped" ] |
| 431 args += [ "-Wcrl,unstripped," + | 422 args += [ "-Wcrl,unstripped," + |
| 432 rebase_path(get_path_info(outputs[0], "dir"), | 423 rebase_path(get_path_info(outputs[0], "dir"), |
| 433 root_build_dir) ] | 424 root_build_dir) ] |
| 434 } | 425 } |
| 435 } | 426 } |
| 436 } | 427 } |
| 437 } | 428 } |
| 438 } | 429 } |
| 439 | 430 |
| 440 if (!ios_enable_code_signing) { | |
| 441 # If codesigning is enabled, the binary will be copied into the bundle | |
| 442 # by the codesigning script (as the binary is updated by the signature). | |
| 443 # Otherwise, this "bundle_data" declares the location of the binary in | |
| 444 # the .app bundle. | |
| 445 bundle_data(_bundle_data_executable) { | |
| 446 forward_variables_from(invoker, [ "testonly" ]) | |
| 447 visibility = [ ":$_target_name" ] | |
| 448 outputs = [ | |
| 449 "{{bundle_executable_dir}}/$_output_name", | |
| 450 ] | |
| 451 if (_is_fat_build) { | |
| 452 public_deps = [ | |
| 453 ":$_lipo_executable", | |
| 454 ] | |
| 455 } else { | |
| 456 public_deps = [ | |
| 457 ":$_link_executable", | |
| 458 ] | |
| 459 } | |
| 460 sources = [ | |
| 461 "$target_out_dir/$_output_name", | |
| 462 ] | |
| 463 } | |
| 464 } | |
| 465 | |
| 466 if (!ios_enable_code_signing && defined(invoker.extra_system_frameworks)) { | |
| 467 bundle_data(_target_name + "_extra_system_frameworks") { | |
| 468 visibility = [ ":$_target_name" ] | |
| 469 sources = invoker.extra_system_frameworks | |
| 470 outputs = [ | |
| 471 "{{bundle_resources_dir}}/Frameworks/{{source_file_part}}", | |
| 472 ] | |
| 473 } | |
| 474 } | |
| 475 | |
| 476 create_bundle(target_name) { | 431 create_bundle(target_name) { |
| 477 forward_variables_from(invoker, | 432 forward_variables_from(invoker, |
| 478 [ | 433 [ |
| 479 "data_deps", | 434 "data_deps", |
| 480 "deps", | 435 "deps", |
| 481 "public_deps", | 436 "public_deps", |
| 482 "testonly", | 437 "testonly", |
| 483 "visibility", | 438 "visibility", |
| 484 ]) | 439 ]) |
| 485 | 440 |
| 486 if (!defined(deps)) { | 441 if (!defined(deps)) { |
| 487 deps = [] | 442 deps = [] |
| 488 } | 443 } |
| 489 deps += [ ":$_bundle_data_info_plist" ] | 444 deps += [ ":$_bundle_data_info_plist" ] |
| 490 if (!defined(public_deps)) { | 445 if (!defined(public_deps)) { |
| 491 public_deps = [] | 446 public_deps = [] |
| 492 } | 447 } |
| 493 if (ios_enable_code_signing) { | 448 if (_is_fat_build) { |
| 494 if (_is_fat_build) { | 449 public_deps += [ ":$_lipo_executable" ] |
| 495 public_deps += [ ":$_lipo_executable" ] | |
| 496 } else { | |
| 497 public_deps += [ ":$_link_executable" ] | |
| 498 } | |
| 499 } else { | 450 } else { |
| 500 public_deps += [ ":$_bundle_data_executable" ] | 451 public_deps += [ ":$_link_executable" ] |
| 501 if (defined(invoker.extra_system_frameworks)) { | |
| 502 deps += [ ":${_target_name}_extra_system_frameworks" ] | |
| 503 } | |
| 504 } | 452 } |
| 505 if (defined(invoker.bundle_deps)) { | 453 if (defined(invoker.bundle_deps)) { |
| 506 deps += invoker.bundle_deps | 454 deps += invoker.bundle_deps |
| 507 } | 455 } |
| 508 | 456 |
| 509 if (use_ios_simulator) { | 457 if (use_ios_simulator) { |
| 510 if (!defined(data_deps)) { | 458 if (!defined(data_deps)) { |
| 511 data_deps = [] | 459 data_deps = [] |
| 512 } | 460 } |
| 513 data_deps += [ "//testing/iossim" ] | 461 data_deps += [ "//testing/iossim" ] |
| 514 } | 462 } |
| 515 | 463 |
| 516 if (defined(invoker.product_type)) { | 464 if (defined(invoker.product_type)) { |
| 517 product_type = invoker.product_type | 465 product_type = invoker.product_type |
| 518 } else { | 466 } else { |
| 519 product_type = "com.apple.product-type.application" | 467 product_type = "com.apple.product-type.application" |
| 520 } | 468 } |
| 521 | 469 |
| 522 if (defined(invoker.bundle_extension)) { | 470 if (defined(invoker.bundle_extension)) { |
| 523 _bundle_extension = invoker.bundle_extension | 471 _bundle_extension = invoker.bundle_extension |
| 524 } else { | 472 } else { |
| 525 _bundle_extension = ".app" | 473 _bundle_extension = ".app" |
| 526 } | 474 } |
| 527 | 475 |
| 528 bundle_root_dir = "$root_out_dir/$_output_name$_bundle_extension" | 476 bundle_root_dir = "$root_out_dir/$_output_name$_bundle_extension" |
| 529 bundle_resources_dir = bundle_root_dir | 477 bundle_resources_dir = bundle_root_dir |
| 530 bundle_executable_dir = bundle_root_dir | 478 bundle_executable_dir = bundle_root_dir |
| 531 bundle_plugins_dir = "$bundle_root_dir/PlugIns" | 479 bundle_plugins_dir = "$bundle_root_dir/PlugIns" |
| 532 | 480 |
| 481 code_signing_script = _code_signing_script_path |
| 482 code_signing_sources = [ |
| 483 _entitlements_path, |
| 484 "$target_out_dir/$_output_name", |
| 485 ] |
| 486 code_signing_outputs = [ "$bundle_root_dir/$_output_name" ] |
| 533 if (ios_enable_code_signing) { | 487 if (ios_enable_code_signing) { |
| 534 code_signing_script = "//build/config/ios/codesign.py" | 488 code_signing_outputs += |
| 535 code_signing_sources = [ | 489 [ "$bundle_root_dir/_CodeSignature/CodeResources" ] |
| 536 _entitlements_path, | 490 } |
| 537 "$target_out_dir/$_output_name", | 491 if (ios_code_signing_identity != "") { |
| 538 ] | 492 code_signing_outputs += [ "$bundle_root_dir/embedded.mobileprovision" ] |
| 539 code_signing_outputs = [ | 493 } |
| 540 "$bundle_root_dir/$_output_name", | 494 if (defined(invoker.extra_system_frameworks)) { |
| 541 "$bundle_root_dir/_CodeSignature/CodeResources", | 495 foreach(_framework, invoker.extra_system_frameworks) { |
| 542 ] | 496 code_signing_outputs += [ "$bundle_root_dir/Frameworks/" + |
| 543 if (ios_code_signing_identity != "") { | 497 get_path_info(_framework, "file") ] |
| 544 code_signing_outputs += | |
| 545 [ "$bundle_root_dir/embedded.mobileprovision" ] | |
| 546 } | 498 } |
| 547 if (defined(invoker.extra_system_frameworks)) { | 499 } |
| 548 foreach(_framework, invoker.extra_system_frameworks) { | 500 code_signing_args = [ |
| 549 code_signing_outputs += [ "$bundle_root_dir/Frameworks/" + | 501 "code-sign-bundle", |
| 550 get_path_info(_framework, "file") ] | 502 "-i=" + ios_code_signing_identity, |
| 551 } | 503 "-e=" + rebase_path(_entitlements_path, root_build_dir), |
| 504 "-b=" + rebase_path("$target_out_dir/$_output_name", root_build_dir), |
| 505 rebase_path(bundle_root_dir, root_build_dir), |
| 506 ] |
| 507 if (defined(invoker.extra_system_frameworks)) { |
| 508 # All framework in extra_system_frameworks are expected to be |
| 509 # system framework and the path to be already system absolute |
| 510 # so do not use rebase_path here. |
| 511 foreach(_framework, invoker.extra_system_frameworks) { |
| 512 code_signing_args += [ "-F=" + _framework ] |
| 552 } | 513 } |
| 553 code_signing_args = [ | 514 } |
| 554 "code-sign-bundle", | 515 if (!ios_enable_code_signing) { |
| 555 "-i=" + ios_code_signing_identity, | 516 code_signing_args += [ "--disable-code-signature" ] |
| 556 "-e=" + rebase_path(_entitlements_path, root_build_dir), | |
| 557 "-b=" + rebase_path("$target_out_dir/$_output_name", root_build_dir), | |
| 558 rebase_path(bundle_root_dir, root_build_dir), | |
| 559 ] | |
| 560 if (defined(invoker.extra_system_frameworks)) { | |
| 561 # All framework in extra_system_frameworks are expected to be | |
| 562 # system framework and the path to be already system absolute | |
| 563 # so do not use rebase_path here. | |
| 564 foreach(_framework, invoker.extra_system_frameworks) { | |
| 565 code_signing_args += [ "-F=" + _framework ] | |
| 566 } | |
| 567 } | |
| 568 } | 517 } |
| 569 } | 518 } |
| 570 } | 519 } |
| 571 | 520 |
| 572 # TODO(crbug.com/395883): ensure those variables are marked as used to | 521 # TODO(crbug.com/395883): ensure those variables are marked as used to |
| 573 # avoid errors while running "gn gen". | 522 # avoid errors while running "gn gen". |
| 574 if (defined(invoker.entitlements_path)) { | 523 if (defined(invoker.entitlements_path)) { |
| 575 assert(invoker.entitlements_path != "", | 524 assert(invoker.entitlements_path != "", |
| 576 "mark invoker.entitlements_path as used") | 525 "mark invoker.entitlements_path as used") |
| 577 } | 526 } |
| (...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 894 # that defines the real framework bundle (it will support the current cpu | 843 # that defines the real framework bundle (it will support the current cpu |
| 895 # as it is a fat framework). | 844 # as it is a fat framework). |
| 896 | 845 |
| 897 if (_is_fat_build && !_is_fat_build_main_target) { | 846 if (_is_fat_build && !_is_fat_build_main_target) { |
| 898 shared_library(_target_name) { | 847 shared_library(_target_name) { |
| 899 forward_variables_from(invoker, | 848 forward_variables_from(invoker, |
| 900 "*", | 849 "*", |
| 901 [ | 850 [ |
| 902 "assert_no_deps", | 851 "assert_no_deps", |
| 903 "bundle_deps", | 852 "bundle_deps", |
| 904 "code_signing_enabled", | |
| 905 "data_deps", | 853 "data_deps", |
| 906 "info_plist", | 854 "info_plist", |
| 907 "info_plist_target", | 855 "info_plist_target", |
| 908 "output_name", | 856 "output_name", |
| 909 ]) | 857 ]) |
| 910 if (defined(visibility)) { | 858 if (defined(visibility)) { |
| 911 visibility += [ ":${_target_name}_shared_library($default_toolchain)" ] | 859 visibility += [ ":${_target_name}_shared_library($default_toolchain)" ] |
| 912 } | 860 } |
| 913 output_name = _output_name | 861 output_name = _output_name |
| 914 output_prefix_override = true | 862 output_prefix_override = true |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1016 | 964 |
| 1017 config(_framework_headers_config) { | 965 config(_framework_headers_config) { |
| 1018 # The link settings are inherited from the framework_bundle config. | 966 # The link settings are inherited from the framework_bundle config. |
| 1019 cflags = [ | 967 cflags = [ |
| 1020 "-F", | 968 "-F", |
| 1021 rebase_path("$root_out_dir/.", root_build_dir), | 969 rebase_path("$root_out_dir/.", root_build_dir), |
| 1022 ] | 970 ] |
| 1023 } | 971 } |
| 1024 } | 972 } |
| 1025 | 973 |
| 1026 _code_signing_enabled = ios_enable_code_signing | |
| 1027 if (defined(invoker.code_signing_enabled)) { | |
| 1028 _code_signing_enabled = | |
| 1029 invoker.code_signing_enabled && _code_signing_enabled | |
| 1030 } | |
| 1031 | |
| 1032 # If the framework is unversioned, the final _target_name will be the | 974 # If the framework is unversioned, the final _target_name will be the |
| 1033 # create_bundle(_framework_target), otherwise an action with the name | 975 # create_bundle(_framework_target), otherwise an action with the name |
| 1034 # _target_name will depends on the the create_bundle() in order to prepare | 976 # _target_name will depends on the the create_bundle() in order to prepare |
| 1035 # the versioned directory structure. | 977 # the versioned directory structure. |
| 1036 _framework_target = _target_name | 978 _framework_target = _target_name |
| 1037 _framework_name = _output_name + ".framework" | 979 _framework_name = _output_name + ".framework" |
| 1038 _framework_root_dir = "$root_out_dir/$_framework_name" | 980 _framework_root_dir = "$root_out_dir/$_framework_name" |
| 1039 if (defined(invoker.framework_version) && invoker.framework_version != "") { | 981 if (defined(invoker.framework_version) && invoker.framework_version != "") { |
| 1040 _framework_version = invoker.framework_version | 982 _framework_version = invoker.framework_version |
| 1041 _framework_root_dir += "/Versions/$_framework_version" | 983 _framework_root_dir += "/Versions/$_framework_version" |
| 1042 _framework_target = _target_name + "_create_bundle" | 984 _framework_target = _target_name + "_create_bundle" |
| 1043 } | 985 } |
| 1044 | 986 |
| 1045 _link_shared_library_target = target_name + "_shared_library" | 987 _link_shared_library_target = target_name + "_shared_library" |
| 1046 _shared_library_dir = "$target_out_dir/$_link_shared_library_target" | 988 _shared_library_dir = "$target_out_dir/$_link_shared_library_target" |
| 1047 | 989 _link_shared_library_visibility = [ ":$_framework_target" ] |
| 1048 if (_code_signing_enabled) { | |
| 1049 _link_shared_library_visibility = [ ":$_framework_target" ] | |
| 1050 } else { | |
| 1051 _shared_library_bundle_data = target_name + "_shared_library_bundle_data" | |
| 1052 _link_shared_library_visibility = [ ":$_shared_library_bundle_data" ] | |
| 1053 } | |
| 1054 | 990 |
| 1055 if (_is_fat_build) { | 991 if (_is_fat_build) { |
| 1056 _lipo_shared_library_target = _link_shared_library_target | 992 _lipo_shared_library_target = _link_shared_library_target |
| 1057 _lipo_shared_library_visibility = _link_shared_library_visibility | 993 _lipo_shared_library_visibility = _link_shared_library_visibility |
| 1058 | 994 |
| 1059 _link_shared_library_visibility = [] | 995 _link_shared_library_visibility = [] |
| 1060 _link_shared_library_visibility = [ ":$_lipo_shared_library_target" ] | 996 _link_shared_library_visibility = [ ":$_lipo_shared_library_target" ] |
| 1061 _link_shared_library_target = target_name + "_arch_shared_library" | 997 _link_shared_library_target = target_name + "_arch_shared_library" |
| 1062 | 998 |
| 1063 _arch_shared_library_dir = "$target_out_dir/$_link_shared_library_target" | 999 _arch_shared_library_dir = "$target_out_dir/$_link_shared_library_target" |
| 1064 _shared_library_dir = "$target_out_dir/$_lipo_shared_library_target" | 1000 _shared_library_dir = "$target_out_dir/$_lipo_shared_library_target" |
| 1065 } | 1001 } |
| 1066 | 1002 |
| 1067 shared_library(_link_shared_library_target) { | 1003 shared_library(_link_shared_library_target) { |
| 1068 forward_variables_from(invoker, | 1004 forward_variables_from(invoker, |
| 1069 "*", | 1005 "*", |
| 1070 [ | 1006 [ |
| 1071 "assert_no_deps", | 1007 "assert_no_deps", |
| 1072 "bundle_deps", | 1008 "bundle_deps", |
| 1073 "code_signing_enabled", | |
| 1074 "data_deps", | 1009 "data_deps", |
| 1075 "info_plist", | 1010 "info_plist", |
| 1076 "info_plist_target", | 1011 "info_plist_target", |
| 1077 "output_name", | 1012 "output_name", |
| 1078 "visibility", | 1013 "visibility", |
| 1079 ]) | 1014 ]) |
| 1080 visibility = _link_shared_library_visibility | 1015 visibility = _link_shared_library_visibility |
| 1081 output_name = _output_name | 1016 output_name = _output_name |
| 1082 output_prefix_override = true | 1017 output_prefix_override = true |
| 1083 output_extension = "" | 1018 output_extension = "" |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1157 outputs += [ outputs[0] + ".unstripped" ] | 1092 outputs += [ outputs[0] + ".unstripped" ] |
| 1158 args += [ "-Wcrl,unstripped," + | 1093 args += [ "-Wcrl,unstripped," + |
| 1159 rebase_path(get_path_info(outputs[0], "dir"), | 1094 rebase_path(get_path_info(outputs[0], "dir"), |
| 1160 root_build_dir) ] | 1095 root_build_dir) ] |
| 1161 } | 1096 } |
| 1162 } | 1097 } |
| 1163 } | 1098 } |
| 1164 } | 1099 } |
| 1165 } | 1100 } |
| 1166 | 1101 |
| 1167 if (!_code_signing_enabled) { | |
| 1168 bundle_data(_shared_library_bundle_data) { | |
| 1169 visibility = [ ":$_framework_target" ] | |
| 1170 forward_variables_from(invoker, [ "testonly" ]) | |
| 1171 sources = [ | |
| 1172 "$_shared_library_dir/$_output_name", | |
| 1173 ] | |
| 1174 outputs = [ | |
| 1175 "{{bundle_executable_dir}}/$_output_name", | |
| 1176 ] | |
| 1177 if (_is_fat_build) { | |
| 1178 public_deps = [ | |
| 1179 ":$_lipo_shared_library_target", | |
| 1180 ] | |
| 1181 } else { | |
| 1182 public_deps = [ | |
| 1183 ":$_link_shared_library_target", | |
| 1184 ] | |
| 1185 } | |
| 1186 } | |
| 1187 } | |
| 1188 | |
| 1189 _framework_public_config = _target_name + "_public_config" | 1102 _framework_public_config = _target_name + "_public_config" |
| 1190 config(_framework_public_config) { | 1103 config(_framework_public_config) { |
| 1191 # TODO(sdefresne): should we have a framework_dirs similar to lib_dirs | 1104 # TODO(sdefresne): should we have a framework_dirs similar to lib_dirs |
| 1192 # and include_dirs to avoid duplicate values on the command-line. | 1105 # and include_dirs to avoid duplicate values on the command-line. |
| 1193 visibility = [ ":$_framework_target" ] | 1106 visibility = [ ":$_framework_target" ] |
| 1194 ldflags = [ | 1107 ldflags = [ |
| 1195 "-F", | 1108 "-F", |
| 1196 rebase_path("$root_out_dir/.", root_build_dir), | 1109 rebase_path("$root_out_dir/.", root_build_dir), |
| 1197 ] | 1110 ] |
| 1198 lib_dirs = [ root_out_dir ] | 1111 lib_dirs = [ root_out_dir ] |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1248 } | 1161 } |
| 1249 deps += [ ":$_info_plist_bundle" ] | 1162 deps += [ ":$_info_plist_bundle" ] |
| 1250 | 1163 |
| 1251 if (defined(invoker.bundle_deps)) { | 1164 if (defined(invoker.bundle_deps)) { |
| 1252 if (!defined(deps)) { | 1165 if (!defined(deps)) { |
| 1253 deps = [] | 1166 deps = [] |
| 1254 } | 1167 } |
| 1255 deps += invoker.bundle_deps | 1168 deps += invoker.bundle_deps |
| 1256 } | 1169 } |
| 1257 | 1170 |
| 1258 if (!_code_signing_enabled) { | |
| 1259 if (!defined(public_deps)) { | |
| 1260 public_deps = [] | |
| 1261 } | |
| 1262 public_deps += [ ":$_shared_library_bundle_data" ] | |
| 1263 } | |
| 1264 | |
| 1265 bundle_root_dir = _framework_root_dir | 1171 bundle_root_dir = _framework_root_dir |
| 1266 bundle_resources_dir = "$bundle_root_dir/Resources" | 1172 bundle_resources_dir = "$bundle_root_dir/Resources" |
| 1267 bundle_executable_dir = "$bundle_root_dir" | 1173 bundle_executable_dir = "$bundle_root_dir" |
| 1268 | 1174 |
| 1269 if (_code_signing_enabled) { | 1175 if (!defined(deps)) { |
| 1270 if (!defined(deps)) { | 1176 deps = [] |
| 1271 deps = [] | 1177 } |
| 1272 } | |
| 1273 | 1178 |
| 1274 if (_is_fat_build) { | 1179 if (_is_fat_build) { |
| 1275 deps += [ ":$_lipo_shared_library_target" ] | 1180 deps += [ ":$_lipo_shared_library_target" ] |
| 1276 } else { | 1181 } else { |
| 1277 deps += [ ":$_link_shared_library_target" ] | 1182 deps += [ ":$_link_shared_library_target" ] |
| 1278 } | 1183 } |
| 1279 | 1184 |
| 1280 _entitlements_path = _default_entitlements_path | 1185 _entitlements_path = _default_entitlements_path |
| 1281 if (defined(invoker.entitlements_path)) { | 1186 if (defined(invoker.entitlements_path)) { |
| 1282 _entitlements_path = invoker.entitlements_path | 1187 _entitlements_path = invoker.entitlements_path |
| 1283 } | 1188 } |
| 1284 | 1189 |
| 1285 code_signing_script = "//build/config/ios/codesign.py" | 1190 code_signing_script = _code_signing_script_path |
| 1286 code_signing_sources = [ | 1191 code_signing_sources = [ |
| 1287 _entitlements_path, | 1192 _entitlements_path, |
| 1288 "$_shared_library_dir/$_output_name", | 1193 "$_shared_library_dir/$_output_name", |
| 1289 ] | 1194 ] |
| 1290 code_signing_outputs = [ | 1195 code_signing_outputs = [ "$bundle_root_dir/$_output_name" ] |
| 1291 "$bundle_root_dir/$_output_name", | 1196 if (ios_enable_code_signing) { |
| 1292 "$bundle_root_dir/_CodeSignature/CodeResources", | 1197 code_signing_outputs += |
| 1293 ] | 1198 [ "$bundle_root_dir/_CodeSignature/CodeResources" ] |
| 1294 if (ios_code_signing_identity != "") { | 1199 } |
| 1295 code_signing_outputs += | 1200 if (ios_code_signing_identity != "") { |
| 1296 [ "$bundle_root_dir/embedded.mobileprovision" ] | 1201 code_signing_outputs += [ "$bundle_root_dir/embedded.mobileprovision" ] |
| 1297 } | 1202 } |
| 1298 code_signing_args = [ | 1203 code_signing_args = [ |
| 1299 "code-sign-bundle", | 1204 "code-sign-bundle", |
| 1300 "-i=" + ios_code_signing_identity, | 1205 "-i=" + ios_code_signing_identity, |
| 1301 "-e=" + rebase_path(_entitlements_path, root_build_dir), | 1206 "-e=" + rebase_path(_entitlements_path, root_build_dir), |
| 1302 "-b=" + | 1207 "-b=" + |
| 1303 rebase_path("$_shared_library_dir/$_output_name", root_build_dir), | 1208 rebase_path("$_shared_library_dir/$_output_name", root_build_dir), |
| 1304 rebase_path(bundle_root_dir, root_build_dir), | 1209 rebase_path(bundle_root_dir, root_build_dir), |
| 1305 ] | 1210 ] |
| 1211 if (!ios_enable_code_signing) { |
| 1212 code_signing_args += [ "--disable-code-signature" ] |
| 1306 } | 1213 } |
| 1307 } | 1214 } |
| 1308 | 1215 |
| 1309 if (defined(_framework_version)) { | 1216 if (defined(_framework_version)) { |
| 1310 action(_target_name) { | 1217 action(_target_name) { |
| 1311 forward_variables_from(invoker, [ "testonly" ]) | 1218 forward_variables_from(invoker, [ "testonly" ]) |
| 1312 | 1219 |
| 1313 if (defined(invoker.visibility)) { | 1220 if (defined(invoker.visibility)) { |
| 1314 visibility = invoker.visibility | 1221 visibility = invoker.visibility |
| 1315 visibility += [ ":$_target_name+link" ] | 1222 visibility += [ ":$_target_name+link" ] |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1416 public_deps = [ | 1323 public_deps = [ |
| 1417 ":$_xctest_info_plist_target", | 1324 ":$_xctest_info_plist_target", |
| 1418 ] | 1325 ] |
| 1419 sources = get_target_outputs(":$_xctest_info_plist_target") | 1326 sources = get_target_outputs(":$_xctest_info_plist_target") |
| 1420 outputs = [ | 1327 outputs = [ |
| 1421 "{{bundle_root_dir}}/Info.plist", | 1328 "{{bundle_root_dir}}/Info.plist", |
| 1422 ] | 1329 ] |
| 1423 } | 1330 } |
| 1424 | 1331 |
| 1425 _xctest_loadable_module_target = _xctest_target + "_loadable_module" | 1332 _xctest_loadable_module_target = _xctest_target + "_loadable_module" |
| 1426 | 1333 _xctest_loadable_module_visibility = [ ":$_xctest_target" ] |
| 1427 if (!ios_enable_code_signing) { | |
| 1428 _xctest_loadable_module_bundle = | |
| 1429 _xctest_target + "_loadable_module_bundle" | |
| 1430 _xctest_loadable_module_visibility = | |
| 1431 [ ":$_xctest_loadable_module_bundle" ] | |
| 1432 } else { | |
| 1433 _xctest_loadable_module_visibility = [ ":$_xctest_target" ] | |
| 1434 } | |
| 1435 | 1334 |
| 1436 if (_is_fat_build) { | 1335 if (_is_fat_build) { |
| 1437 _xctest_lipo_loadable_module_target = _xctest_loadable_module_target | 1336 _xctest_lipo_loadable_module_target = _xctest_loadable_module_target |
| 1438 _xctest_lipo_loadable_module_visibility = | 1337 _xctest_lipo_loadable_module_visibility = |
| 1439 _xctest_loadable_module_visibility | 1338 _xctest_loadable_module_visibility |
| 1440 | 1339 |
| 1441 _xctest_loadable_module_visibility = [] | 1340 _xctest_loadable_module_visibility = [] |
| 1442 _xctest_loadable_module_visibility = | 1341 _xctest_loadable_module_visibility = |
| 1443 [ ":$_xctest_lipo_loadable_module_target" ] | 1342 [ ":$_xctest_lipo_loadable_module_target" ] |
| 1444 _xctest_loadable_module_target = _xctest_target + "_arch_loadable_module" | 1343 _xctest_loadable_module_target = _xctest_target + "_arch_loadable_module" |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1520 outputs += [ outputs[0] + ".unstripped" ] | 1419 outputs += [ outputs[0] + ".unstripped" ] |
| 1521 args += [ "-Wcrl,unstripped," + | 1420 args += [ "-Wcrl,unstripped," + |
| 1522 rebase_path(get_path_info(outputs[0], "dir"), | 1421 rebase_path(get_path_info(outputs[0], "dir"), |
| 1523 root_build_dir) ] | 1422 root_build_dir) ] |
| 1524 } | 1423 } |
| 1525 } | 1424 } |
| 1526 } | 1425 } |
| 1527 } | 1426 } |
| 1528 } | 1427 } |
| 1529 | 1428 |
| 1530 if (!ios_enable_code_signing) { | |
| 1531 bundle_data(_xctest_loadable_module_bundle) { | |
| 1532 visibility = [ ":$_xctest_target" ] | |
| 1533 if (_is_fat_build) { | |
| 1534 public_deps = [ | |
| 1535 ":$_xctest_lipo_loadable_module_target", | |
| 1536 ] | |
| 1537 } else { | |
| 1538 public_deps = [ | |
| 1539 ":$_xctest_loadable_module_target", | |
| 1540 ] | |
| 1541 } | |
| 1542 sources = [ | |
| 1543 "$target_out_dir/$_xctest_output", | |
| 1544 ] | |
| 1545 outputs = [ | |
| 1546 "{{bundle_root_dir}}/$_xctest_output", | |
| 1547 ] | |
| 1548 } | |
| 1549 } | |
| 1550 | |
| 1551 _xctest_bundle = _xctest_target + "_bundle" | 1429 _xctest_bundle = _xctest_target + "_bundle" |
| 1552 | 1430 |
| 1553 create_bundle(_xctest_target) { | 1431 create_bundle(_xctest_target) { |
| 1554 visibility = [ ":$_xctest_bundle" ] | 1432 visibility = [ ":$_xctest_bundle" ] |
| 1555 product_type = "com.apple.product-type.bundle.unit-test" | 1433 product_type = "com.apple.product-type.bundle.unit-test" |
| 1556 deps = [ | 1434 deps = [ |
| 1557 ":$_xctest_info_plist_bundle", | 1435 ":$_xctest_info_plist_bundle", |
| 1558 ] | 1436 ] |
| 1559 bundle_root_dir = "$root_out_dir/$_xctest_output.xctest" | 1437 bundle_root_dir = "$root_out_dir/$_xctest_output.xctest" |
| 1560 | 1438 |
| 1439 if (_is_fat_build) { |
| 1440 deps += [ ":$_xctest_lipo_loadable_module_target" ] |
| 1441 } else { |
| 1442 deps += [ ":$_xctest_loadable_module_target" ] |
| 1443 } |
| 1444 |
| 1445 _entitlements_path = _default_entitlements_path |
| 1446 if (defined(invoker.entitlements_path)) { |
| 1447 _entitlements_path = invoker.entitlements_path |
| 1448 } |
| 1449 |
| 1450 code_signing_script = _code_signing_script_path |
| 1451 code_signing_sources = [ |
| 1452 _entitlements_path, |
| 1453 "$target_out_dir/$_xctest_output", |
| 1454 ] |
| 1455 code_signing_outputs = [ "$bundle_root_dir/$_xctest_output" ] |
| 1456 if (ios_enable_code_signing) { |
| 1457 code_signing_outputs += |
| 1458 [ "$bundle_root_dir/_CodeSignature/CodeResources" ] |
| 1459 } |
| 1460 if (ios_code_signing_identity != "") { |
| 1461 code_signing_outputs += [ "$bundle_root_dir/embedded.mobileprovision" ] |
| 1462 } |
| 1463 code_signing_args = [ |
| 1464 "code-sign-bundle", |
| 1465 "-i=" + ios_code_signing_identity, |
| 1466 "-e=" + rebase_path(_entitlements_path, root_build_dir), |
| 1467 "-b=" + rebase_path("$target_out_dir/$_xctest_output", root_build_dir), |
| 1468 rebase_path(bundle_root_dir, root_build_dir), |
| 1469 ] |
| 1561 if (!ios_enable_code_signing) { | 1470 if (!ios_enable_code_signing) { |
| 1562 deps += [ ":$_xctest_loadable_module_bundle" ] | 1471 code_signing_args += [ "--disable-code-signature" ] |
| 1563 } else { | |
| 1564 if (_is_fat_build) { | |
| 1565 deps += [ ":$_xctest_lipo_loadable_module_target" ] | |
| 1566 } else { | |
| 1567 deps += [ ":$_xctest_loadable_module_target" ] | |
| 1568 } | |
| 1569 | |
| 1570 _entitlements_path = _default_entitlements_path | |
| 1571 if (defined(invoker.entitlements_path)) { | |
| 1572 _entitlements_path = invoker.entitlements_path | |
| 1573 } | |
| 1574 | |
| 1575 code_signing_script = "//build/config/ios/codesign.py" | |
| 1576 code_signing_sources = [ | |
| 1577 _entitlements_path, | |
| 1578 "$target_out_dir/$_xctest_output", | |
| 1579 ] | |
| 1580 code_signing_outputs = [ | |
| 1581 "$bundle_root_dir/$_xctest_output", | |
| 1582 "$bundle_root_dir/_CodeSignature/CodeResources", | |
| 1583 ] | |
| 1584 if (ios_code_signing_identity != "") { | |
| 1585 code_signing_outputs += | |
| 1586 [ "$bundle_root_dir/embedded.mobileprovision" ] | |
| 1587 } | |
| 1588 code_signing_args = [ | |
| 1589 "code-sign-bundle", | |
| 1590 "-i=" + ios_code_signing_identity, | |
| 1591 "-e=" + rebase_path(_entitlements_path, root_build_dir), | |
| 1592 "-b=" + | |
| 1593 rebase_path("$target_out_dir/$_xctest_output", root_build_dir), | |
| 1594 rebase_path(bundle_root_dir, root_build_dir), | |
| 1595 ] | |
| 1596 } | 1472 } |
| 1597 } | 1473 } |
| 1598 | 1474 |
| 1599 bundle_data(_xctest_bundle) { | 1475 bundle_data(_xctest_bundle) { |
| 1600 visibility = [ ":$_host_target" ] | 1476 visibility = [ ":$_host_target" ] |
| 1601 public_deps = [ | 1477 public_deps = [ |
| 1602 ":$_xctest_target", | 1478 ":$_xctest_target", |
| 1603 ] | 1479 ] |
| 1604 sources = [ | 1480 sources = [ |
| 1605 "$root_out_dir/$_xctest_output.xctest", | 1481 "$root_out_dir/$_xctest_output.xctest", |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1648 "-rpath", | 1524 "-rpath", |
| 1649 "-Xlinker", | 1525 "-Xlinker", |
| 1650 "@loader_path/Frameworks", | 1526 "@loader_path/Frameworks", |
| 1651 ] | 1527 ] |
| 1652 } | 1528 } |
| 1653 } | 1529 } |
| 1654 | 1530 |
| 1655 set_defaults("ios_xctest_test") { | 1531 set_defaults("ios_xctest_test") { |
| 1656 configs = default_executable_configs | 1532 configs = default_executable_configs |
| 1657 } | 1533 } |
| OLD | NEW |