# 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. import("//flutter/impeller/tools/impeller.gni") import("//flutter/shell/version/version.gni") impeller_component("utilities") { # Current versions of libcxx have deprecated some of the UTF-16 string # conversion APIs. defines = [ "_LIBCPP_DISABLE_DEPRECATION_WARNINGS" ] sources = [ "utilities.cc", "utilities.h", ] public_deps = [ "../base", "../geometry", "../runtime_stage", "//flutter/fml", ] } impeller_component("compiler_lib") { include_dirs = [ "//flutter/third_party/vulkan-deps/spirv-cross/src/" ] # Current versions of libcxx have deprecated some of the UTF-16 string # conversion APIs. defines = [ "_LIBCPP_DISABLE_DEPRECATION_WARNINGS" ] sources = [ "code_gen_template.h", "compiler.cc", "compiler.h", "compiler_backend.cc", "compiler_backend.h", "constants.cc", "constants.h", "include_dir.h", "includer.cc", "includer.h", "logger.h", "reflector.cc", "reflector.h", "runtime_stage_data.cc", "runtime_stage_data.h", "shader_bundle.cc", "shader_bundle.h", "shader_bundle_data.cc", "shader_bundle_data.h", "source_options.cc", "source_options.h", "spirv_compiler.cc", "spirv_compiler.h", "spirv_sksl.cc", "spirv_sksl.h", "switches.cc", "switches.h", "types.cc", "types.h", "uniform_sorter.cc", "uniform_sorter.h", ] public_deps = [ ":utilities", "../base", "../geometry", "../runtime_stage", "//flutter/fml", "//flutter/impeller/shader_bundle:shader_bundle_flatbuffers", # All third_party deps must be included by the global license script. "//third_party/inja", "//third_party/shaderc_flutter", "//third_party/spirv_cross_flutter", ] } impeller_component("impellerc") { target_type = "executable" sources = [ "impellerc_main.cc" ] deps = [ ":compiler_lib", "shader_lib", ] metadata = { entitlement_file_path = [ "impellerc" ] } } group("compiler") { deps = [ ":impellerc" ] } impeller_component("compiler_unittests") { testonly = true output_name = "impellerc_unittests" sources = [ "compiler_test.cc", "compiler_test.h", "compiler_unittests.cc", "shader_bundle_unittests.cc", "switches_unittests.cc", ] deps = [ ":compiler_lib", "//flutter/testing:testing_lib", ] }