blob: 010a0f492f8f8f1ae16e70e25c80760d8f56a34f [file] [log] [blame]
# Copyright 2022 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# Template used to define a profile target. Features included in the profile
# are specified using deps from //src/media/lib/ffmpeg/features. For example:
#
# ffmpeg_profile("my_profile") {
# deps = [
# "//src/media/lib/ffmpeg/features:enable_decoder_mp3",
# "//src/media/lib/ffmpeg/features:enable_decoder_h264",
# ]
# }
#
template("ffmpeg_profile") {
assert(defined(invoker.deps),
"Need deps in $target_name listing the required features.")
args_file_name = target_name + "_args"
generated_file(args_file_name) {
outputs = [ "$target_gen_dir/$args_file_name" ]
data_keys = [ "ffmpeg_profile_arg" ]
walk_keys = []
deps = invoker.deps
}
group(target_name) {
args_dep = ":$args_file_name"
get_target_outputs(args_dep)
metadata = {
ffmpeg_profile_set_entry =
[ rebase_path("$target_gen_dir/$args_file_name") ]
}
}
}
#
# Template used to define a profile set. Profiles included in the profile set
# are specified using deps. Every dep must be an "ffmpeg_profile" target.
#
template("ffmpeg_profile_set") {
assert(defined(invoker.deps),
"Need deps in $target_name listing the profiles in the set.")
set_file_name = target_name + "_ffmpeg_profile_set"
generated_file(set_file_name) {
outputs = [ "$target_gen_dir/$set_file_name" ]
data_keys = [ "ffmpeg_profile_set_entry" ]
walk_keys = []
deps = invoker.deps
}
group(target_name) {
set_dep = ":$set_file_name"
get_target_outputs(set_dep)
}
}