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

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

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

Powered by Google App Engine
This is Rietveld 408576698