diff options
Diffstat (limited to 'deps/v8/build/mac/tweak_info_plist.gni')
-rw-r--r-- | deps/v8/build/mac/tweak_info_plist.gni | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/deps/v8/build/mac/tweak_info_plist.gni b/deps/v8/build/mac/tweak_info_plist.gni new file mode 100644 index 0000000000..9f4cbb3fdf --- /dev/null +++ b/deps/v8/build/mac/tweak_info_plist.gni @@ -0,0 +1,85 @@ +# Copyright 2016 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build/util/lastchange.gni") + +# Template to run the tweak_info_plist.py script on a plist. +# +# Arguments: +# +# info_plist: +# (optional), string, the plist to tweak. +# +# info_plists: +# (optional), list of string, the plist files to merge and tweak. +# +# args: +# (optional), list of string, the arguments to pass to the +# tweak_info_plist.py script. +# +# Callers should use get_target_outputs() to get the output name. One of +# info_plist or info_plists must be specified. +template("tweak_info_plist") { + _output_name = "$target_gen_dir/${target_name}_tweaked.plist" + + if (defined(invoker.info_plists)) { + assert(!defined(invoker.info_plist), + "Cannot have both info_plist and info_plists for $target_name") + + _source_name = "$target_gen_dir/${target_name}_merged.plist" + _deps = [ ":" + target_name + "_merge_plist" ] + + action(target_name + "_merge_plist") { + forward_variables_from(invoker, [ "testonly" ]) + script = "//build/config/mac/plist_util.py" + sources = invoker.info_plists + outputs = [ + _source_name, + ] + args = [ + "merge", + "-f=xml1", + "-o=" + rebase_path(_source_name, root_build_dir), + ] + rebase_path(invoker.info_plists, root_build_dir) + } + } else { + assert(defined(invoker.info_plist), + "The info_plist must be specified in $target_name") + + _source_name = invoker.info_plist + _deps = [] + } + + action(target_name) { + forward_variables_from(invoker, + [ + "args", + "testonly", + ]) + script = "//build/mac/tweak_info_plist.py" + inputs = [ + script, + "//build/util/version.py", + lastchange_file, + "//chrome/VERSION", + ] + sources = [ + _source_name, + ] + outputs = [ + _output_name, + ] + if (!defined(args)) { + args = [] + } + args += [ + "--plist", + rebase_path(_source_name, root_build_dir), + "--output", + rebase_path(_output_name, root_build_dir), + "--platform=$current_os", + ] + deps = _deps + } +} |