# Copyright 2013 The Flutter 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("embed_blob") { assert(defined(invoker.symbol_name), "The symbol name must be specified.") assert(defined(invoker.blob), "The blob file to embed must be specified") assert(defined(invoker.hdr), "The header file containing the symbol name must be specified.") assert(defined(invoker.cc), "The CC file containing the symbol data must be specified.") assert(defined(invoker.deps), "The target dependencies must be specified") gen_blob_target_name = "gen_blob_$target_name" action(gen_blob_target_name) { inputs = [ invoker.blob ] outputs = [ invoker.hdr, invoker.cc, ] args = [ "--symbol-name", invoker.symbol_name, "--output-header", rebase_path(invoker.hdr), "--output-source", rebase_path(invoker.cc), "--source", rebase_path(invoker.blob), ] script = "//flutter/impeller/tools/xxd.py" deps = invoker.deps } embed_config = "embed_$target_name" config(embed_config) { include_dirs = [ get_path_info( get_label_info("//flutter/impeller:impeller", "target_gen_dir"), "dir") ] } source_set(target_name) { public_configs = [ ":$embed_config" ] sources = get_target_outputs(":$gen_blob_target_name") deps = [ ":$gen_blob_target_name" ] } }