| # Copyright 2021 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. |
| # |
| |
| import("//build/build_id.gni") |
| import("//build/components.gni") |
| |
| declare_args() { |
| intel_media_driver_debug = is_debug |
| } |
| |
| va_install_root = "$root_build_dir/build-intel-media-driver/install" |
| |
| config("va-config") { |
| include_dirs = [ "$va_install_root/include" ] |
| libs = [ "$va_install_root/strip/libva.so.2" ] |
| } |
| |
| resource("libva-resource") { |
| sources = [ "$va_install_root/strip/libva.so.2" ] |
| outputs = [ "lib/libva.so.2" ] |
| } |
| |
| group("va") { |
| public_configs = [ ":va-config" ] |
| public_deps = [ ":libva-resource" ] |
| } |
| |
| config("va-magma-config") { |
| include_dirs = [ "$va_install_root/include" ] |
| libs = [ "$va_install_root/strip/libva-magma.so.2" ] |
| } |
| |
| resource("libva-magma-resource") { |
| sources = [ "$va_install_root/strip/libva-magma.so.2" ] |
| outputs = [ "lib/libva-magma.so.2" ] |
| } |
| |
| group("va-magma") { |
| public_configs = [ ":va-magma-config" ] |
| public_deps = [ |
| ":libva-magma-resource", |
| "//src/graphics/lib/magma/include:magma", |
| ] |
| } |
| |
| resource("gmmlib-resource") { |
| sources = [ "$va_install_root/strip/libigdgmm.so.11" ] |
| outputs = [ "lib/libigdgmm.so.11" ] |
| } |
| |
| resource("va-intel-resource") { |
| sources = [ "$va_install_root/strip/iHD_drv_video.so" ] |
| outputs = [ "lib/iHD_drv_video.so" ] |
| } |
| |
| # Only have a copy of the action in one toolchain. |
| if (current_toolchain == default_toolchain) { |
| action("out-of-tree-build") { |
| script = "build.sh" |
| |
| outputs = [ |
| "$va_install_root/strip/libva.so.2", |
| "$va_install_root/strip/libva-magma.so.2", |
| "$va_install_root/strip/libigdgmm.so.11", |
| "$va_install_root/strip/iHD_drv_video.so", |
| "$va_install_root/strip/libva.so.2.debug", |
| "$va_install_root/strip/libva-magma.so.2.debug", |
| "$va_install_root/strip/libigdgmm.so.11.debug", |
| "$va_install_root/strip/iHD_drv_video.so.debug", |
| ] |
| |
| fuchsia_dir = rebase_path("$root_build_dir/../..") |
| fuchsia_out_dir = rebase_path(root_out_dir) |
| |
| args = [ |
| fuchsia_dir, |
| fuchsia_out_dir, |
| ] |
| |
| if (intel_media_driver_debug) { |
| args += [ "debug" ] |
| } else { |
| args += [ "release" ] |
| } |
| |
| deps = [ |
| "//sdk:zircon_sysroot_export", |
| "//src/graphics/lib/magma/src/libmagma:libmagma_complete($shlib_toolchain)", |
| ] |
| |
| depfile = "$root_out_dir/build-intel-media-driver/media-driver.d" |
| no_output_dir_leaks = false |
| } |
| |
| build_id_entry("libva_build_id") { |
| stripped = "$va_install_root/strip/libva.so.2" |
| debug = "$va_install_root/strip/libva.so.2.debug" |
| deps = [ ":out-of-tree-build" ] |
| } |
| |
| build_id_entry("libva_magma_build_id") { |
| stripped = "$va_install_root/strip/libva-magma.so.2" |
| debug = "$va_install_root/strip/libva-magma.so.2.debug" |
| deps = [ ":out-of-tree-build" ] |
| } |
| |
| build_id_entry("libigdgmm_build_id") { |
| stripped = "$va_install_root/strip/libigdgmm.so.11" |
| debug = "$va_install_root/strip/libigdgmm.so.11.debug" |
| deps = [ ":out-of-tree-build" ] |
| } |
| |
| build_id_entry("iHD_build_id") { |
| stripped = "$va_install_root/strip/iHD_drv_video.so" |
| debug = "$va_install_root/strip/iHD_drv_video.so.debug" |
| deps = [ ":out-of-tree-build" ] |
| } |
| } |
| |
| group("va-intel") { |
| public_deps = [ |
| ":gmmlib-resource", |
| ":va", |
| ":va-intel-resource", |
| ":va-magma", |
| ] |
| deps = [ |
| ":iHD_build_id($default_toolchain)", |
| ":libigdgmm_build_id($default_toolchain)", |
| ":libva_build_id($default_toolchain)", |
| ":libva_magma_build_id($default_toolchain)", |
| ":out-of-tree-build($default_toolchain)", |
| ] |
| } |
| |
| executable("codec_runner_intel_gen_exe") { |
| output_name = "codec_runner_intel_gen" |
| sources = [ "main.cc" ] |
| deps = [ |
| ":va-intel", |
| "//src/graphics/lib/magma/src/libmagma", |
| "//src/media/codec/codecs/vaapi:codec_runner_vaapi", |
| ] |
| } |
| |
| fuchsia_package_with_single_component("codec_runner_intel_gen") { |
| manifest = "meta/codec_runner_intel_gen.cml" |
| deps = [ ":codec_runner_intel_gen_exe" ] |
| } |
| |
| fuchsia_package_archive("codec_runner_intel_gen_archive") { |
| package = ":codec_runner_intel_gen" |
| } |