Chromium Code Reviews| Index: build/config/mac/rules.gni |
| diff --git a/build/config/mac/rules.gni b/build/config/mac/rules.gni |
| index f8ec3613d48c35c17834f9b4f000f090df579337..cbc71350f2fbbdf4990cde43d2c6ebaddfa4ae75 100644 |
| --- a/build/config/mac/rules.gni |
| +++ b/build/config/mac/rules.gni |
| @@ -3,8 +3,52 @@ |
| # found in the LICENSE file. |
| import("//build/toolchain/toolchain.gni") |
| +import("//build/config/mac/mac_sdk.gni") |
| +import("//build/util/version.gni") |
| -# This is used as the base template for both iOS and Mac frameworks.. |
| +# Used to generate an Info.plist file for iOS and Mac apps and frameworks. |
|
Robert Sesek
2016/04/19 14:49:04
Also document the Arguments as the other templates
Patti Lor
2016/04/21 08:02:09
Done.
|
| +template("info_plist") { |
| + _generate_info_plist = target_name + "_action" |
| + |
| + action(_generate_info_plist) { |
| + script = "//build/config/mac/gen_plist.py" |
| + sources = [ |
| + "//build/config/mac/BuildInfo.plist", |
| + invoker.info_plist, |
| + ] |
| + outputs = [ |
| + "$target_gen_dir/Info.plist", |
| + ] |
| + extra_args = [] |
| + if (defined(invoker.extra_substitutions)) { |
| + foreach(substitution, invoker.extra_substitutions) { |
| + extra_args += [ "-s=$substitution" ] |
| + } |
| + } |
| + response_file_contents = |
| + extra_args + [ |
| + "-s=MAC_SDK_BUILD=$mac_sdk_build", |
| + "-s=MAC_SDK_NAME=$mac_sdk_name$mac_sdk_version", |
| + "-s=BUILD_MACHINE_OS_BUILD=$machine_os_build", |
| + "-s=GCC_VERSION=com.apple.compilers.llvm.clang.1_0", |
| + "-s=XCODE_BUILD=$xcode_build", |
| + "-s=XCODE_VERSION=$xcode_version", |
| + "-s=VERSION=$chrome_version_full", |
| + "-s=VERSION_BUILD=$chrome_version_build", |
| + "-o=" + rebase_path(outputs[0], root_build_dir), |
| + ] + rebase_path(sources, root_build_dir) |
| + args = [ "@{{response_file_name}}" ] |
| + } |
| + |
| + source_set(target_name) { |
| + sources = get_target_outputs(":$_generate_info_plist") |
| + public_deps = [ |
| + ":$_generate_info_plist", |
| + ] |
| + } |
| +} |
| + |
| +# This is used as the base template for both iOS and Mac frameworks. |
| # |
| # Arguments |
| # |
| @@ -27,7 +71,7 @@ template("framework_bundle") { |
| _output_name = invoker.output_name |
| } |
| - # If the framework is unversionned, the final _target_name will be the |
| + # If the framework is unversioned, the final _target_name will be the |
| # create_bundle(_framework_target), otherwise an action with the name |
| # _target_name will depends on the the create_bundle() in order to prepare |
| # the versioned directory structure. |
| @@ -150,17 +194,24 @@ template("mac_framework_bundle") { |
| _info_plist_target = target_name + "_info_plist" |
| # TODO(rsesek): Process Info.plist variables. |
|
Robert Sesek
2016/04/19 14:49:04
Remove, since you're doing it :).
Patti Lor
2016/04/21 08:02:09
Done.
|
| + info_plist(_info_plist_target) { |
| + forward_variables_from(invoker, [ "info_plist" ]) |
| + } |
| _info_plist_bundle_data = _info_plist_target + "_bundle_data" |
| bundle_data(_info_plist_bundle_data) { |
| forward_variables_from(invoker, [ "testonly" ]) |
| sources = [ |
| + "$target_gen_dir/Info.plist", |
| invoker.info_plist, |
| ] |
| outputs = [ |
| "{{bundle_root_dir}}/Info.plist", |
| ] |
| + public_deps = [ |
| + ":$_info_plist_target", |
| + ] |
| } |
| framework_bundle(target_name) { |
| @@ -228,6 +279,16 @@ template("mac_app_bundle") { |
| _info_plist_target = target_name + "_info_plist" |
| # TODO(rsesek): Process Info.plist variables. |
|
Robert Sesek
2016/04/19 14:49:04
Remove.
Patti Lor
2016/04/21 08:02:09
Done.
|
| + info_plist(_info_plist_target) { |
| + forward_variables_from(invoker, [ "info_plist" ]) |
| + if (!defined(extra_substitutions)) { |
|
Robert Sesek
2016/04/19 14:49:04
Since you're not forward_varaibles_from()-ing extr
Patti Lor
2016/04/21 08:02:09
Done.
|
| + extra_substitutions = [] |
| + } |
| + extra_substitutions += [ |
| + "PRODUCT_NAME=$_output_name", |
|
Robert Sesek
2016/04/19 14:49:04
These subs are needed in the mac_framework_bundle
Patti Lor
2016/04/21 08:02:09
Done.
|
| + "EXECUTABLE_NAME=$_output_name", |
| + ] |
| + } |
| _info_plist_bundle_data = _info_plist_target + "_bundle_data" |
| @@ -235,11 +296,15 @@ template("mac_app_bundle") { |
| forward_variables_from(invoker, [ "testonly" ]) |
| visibility = [ ":$_target_name" ] |
| sources = [ |
| + "$target_gen_dir/Info.plist", |
| invoker.info_plist, |
| ] |
| outputs = [ |
| "{{bundle_root_dir}}/Info.plist", |
| ] |
| + public_deps = [ |
| + ":$_info_plist_target", |
| + ] |
| } |
| create_bundle(_target_name) { |