blob: 7da35b6c7ba4f7cc381e4ae4e185c22cf0a0fd82 [file] [log] [blame]
# 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",
"//sdk/lib/magma_client:magma_headers",
]
}
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"
}