Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(367)

Side by Side Diff: build/config/ios/rules.gni

Issue 2452593004: Correct iOS GN hermetic support. (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
sdefresne 2016/10/26 15:33:07 import("//build/toolchain/toolchain.gni")
justincohen 2016/10/27 13:36:39 Done.
9 # Invokes lipo on multiple arch-specific binaries to create a fat binary. 9 # Invokes lipo on multiple arch-specific binaries to create a fat binary.
10 # 10 #
11 # Arguments 11 # Arguments
12 # 12 #
13 # arch_binary_target 13 # arch_binary_target
14 # name of the target generating the arch-specific binaries, they must 14 # name of the target generating the arch-specific binaries, they must
15 # be named $target_out_dir/$toolchain_cpu/$arch_binary_output. 15 # be named $target_out_dir/$toolchain_cpu/$arch_binary_output.
16 # 16 #
17 # arch_binary_output 17 # arch_binary_output
18 # (optional, defaults to the name of $arch_binary_target) base name of 18 # (optional, defaults to the name of $arch_binary_target) base name of
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 _toolchain = _all_toolchains[_index] 68 _toolchain = _all_toolchains[_index]
69 _index = _index + 1 69 _index = _index + 1
70 70
71 inputs += 71 inputs +=
72 [ get_label_info("$_arch_binary_target($_toolchain)", 72 [ get_label_info("$_arch_binary_target($_toolchain)",
73 "target_out_dir") + "/$_cpu/$_arch_binary_output" ] 73 "target_out_dir") + "/$_cpu/$_arch_binary_output" ]
74 74
75 deps += [ "$_arch_binary_target($_toolchain)" ] 75 deps += [ "$_arch_binary_target($_toolchain)" ]
76 } 76 }
77 77
78 args = [ 78 args = []
79 "xcrun", 79 if (!use_system_xcode) {
80 "lipo", 80 args += [
81 "-create", 81 "--developer_dir",
82 "-output", 82 hermetic_xcode_path,
83 rebase_path("$target_out_dir/$_output_name", root_build_dir), 83 ]
84 ] + rebase_path(inputs, root_build_dir) 84 }
85 args += [
86 "xcrun",
87 "lipo",
88 "-create",
89 "-output",
90 rebase_path("$target_out_dir/$_output_name", root_build_dir),
91 ] + rebase_path(inputs, root_build_dir)
85 92
86 if (enable_dsyms) { 93 if (enable_dsyms) {
87 _dsyms_output_dir = "$root_out_dir/$_output_name.dSYM" 94 _dsyms_output_dir = "$root_out_dir/$_output_name.dSYM"
88 outputs += [ 95 outputs += [
89 "$_dsyms_output_dir/", 96 "$_dsyms_output_dir/",
90 "$_dsyms_output_dir/Contents/Info.plist", 97 "$_dsyms_output_dir/Contents/Info.plist",
91 "$_dsyms_output_dir/Contents/Resources/DWARF/$_output_name", 98 "$_dsyms_output_dir/Contents/Resources/DWARF/$_output_name",
92 ] 99 ]
93 args += [ "-Wcrl,dsym," + rebase_path("$root_out_dir/.", root_build_dir) ] 100 args += [ "-Wcrl,dsym," + rebase_path("$root_out_dir/.", root_build_dir) ]
94 } 101 }
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 code_signing_outputs += [ "$_bundle_root_dir/embedded.mobileprovision" ] 234 code_signing_outputs += [ "$_bundle_root_dir/embedded.mobileprovision" ]
228 } 235 }
229 236
230 if (defined(invoker.extra_system_frameworks)) { 237 if (defined(invoker.extra_system_frameworks)) {
231 foreach(_framework, invoker.extra_system_frameworks) { 238 foreach(_framework, invoker.extra_system_frameworks) {
232 code_signing_outputs += [ "$bundle_root_dir/Frameworks/" + 239 code_signing_outputs += [ "$bundle_root_dir/Frameworks/" +
233 get_path_info(_framework, "file") ] 240 get_path_info(_framework, "file") ]
234 } 241 }
235 } 242 }
236 243
237 code_signing_args = [ 244 code_signing_args = []
245 if (!use_system_xcode) {
246 code_signing_args += [
247 "--developer_dir",
248 hermetic_xcode_path,
249 ]
250 }
251 code_signing_args += [
238 "code-sign-bundle", 252 "code-sign-bundle",
239 "-t=" + ios_sdk_name, 253 "-t=" + ios_sdk_name,
240 "-i=" + ios_code_signing_identity, 254 "-i=" + ios_code_signing_identity,
241 "-e=" + rebase_path(_entitlements_path, root_build_dir), 255 "-e=" + rebase_path(_entitlements_path, root_build_dir),
242 "-b=" + rebase_path("$target_out_dir/$_output_name", root_build_dir), 256 "-b=" + rebase_path("$target_out_dir/$_output_name", root_build_dir),
243 rebase_path(bundle_root_dir, root_build_dir), 257 rebase_path(bundle_root_dir, root_build_dir),
244 ] 258 ]
245 if (!_enable_code_signing) { 259 if (!_enable_code_signing) {
246 code_signing_args += [ "--disable-code-signature" ] 260 code_signing_args += [ "--disable-code-signature" ]
247 } 261 }
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 deps = [ 551 deps = [
538 ":$_generate_info_plist", 552 ":$_generate_info_plist",
539 ] 553 ]
540 sources = [ 554 sources = [
541 _entitlements_path, 555 _entitlements_path,
542 _info_plist_path, 556 _info_plist_path,
543 ] 557 ]
544 outputs = [ 558 outputs = [
545 _generate_entitlements_output, 559 _generate_entitlements_output,
546 ] 560 ]
547 args = [ 561
548 "generate-entitlements", 562 args = []
549 "-e=" + rebase_path(_entitlements_path, root_build_dir), 563 if (!use_system_xcode) {
550 "-p=" + rebase_path(_info_plist_path, root_build_dir), 564 args += [
551 ] + rebase_path(outputs, root_build_dir) 565 "--developer_dir",
566 hermetic_xcode_path,
567 ]
568 }
569 args += [
570 "generate-entitlements",
571 "-e=" + rebase_path(_entitlements_path, root_build_dir),
572 "-p=" + rebase_path(_info_plist_path, root_build_dir),
573 ] + rebase_path(outputs, root_build_dir)
552 } 574 }
553 } 575 }
554 576
555 _bundle_data_info_plist = target_name + "_bundle_data_info_plist" 577 _bundle_data_info_plist = target_name + "_bundle_data_info_plist"
556 bundle_data(_bundle_data_info_plist) { 578 bundle_data(_bundle_data_info_plist) {
557 forward_variables_from(invoker, [ "testonly" ]) 579 forward_variables_from(invoker, [ "testonly" ])
558 580
559 sources = get_target_outputs(":$_generate_info_plist") 581 sources = get_target_outputs(":$_generate_info_plist")
560 outputs = [ 582 outputs = [
561 "{{bundle_root_dir}}/Info.plist", 583 "{{bundle_root_dir}}/Info.plist",
(...skipping 780 matching lines...) Expand 10 before | Expand all | Expand 10 after
1342 "-rpath", 1364 "-rpath",
1343 "-Xlinker", 1365 "-Xlinker",
1344 "@loader_path/Frameworks", 1366 "@loader_path/Frameworks",
1345 ] 1367 ]
1346 } 1368 }
1347 } 1369 }
1348 1370
1349 set_defaults("ios_xctest_test") { 1371 set_defaults("ios_xctest_test") {
1350 configs = default_executable_configs 1372 configs = default_executable_configs
1351 } 1373 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698