263 lines
5.9 KiB
Plaintext
263 lines
5.9 KiB
Plaintext
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
package {
|
|
default_applicable_licenses: ["external_minigbm_license"],
|
|
}
|
|
|
|
// Added automatically by a large-scale-change that took the approach of
|
|
// 'apply every license found to every target'. While this makes sure we respect
|
|
// every license restriction, it may not be entirely correct.
|
|
//
|
|
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
|
|
//
|
|
// Please consider splitting the single license below into multiple licenses,
|
|
// taking care not to lose any license_kind information, and overriding the
|
|
// default license using the 'licenses: [...]' property on targets as needed.
|
|
//
|
|
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
|
|
// to attach the license to, and including a comment whether the files may be
|
|
// used in the current project.
|
|
// See: http://go/android-license-faq
|
|
license {
|
|
name: "external_minigbm_license",
|
|
visibility: [":__subpackages__"],
|
|
license_kinds: [
|
|
"SPDX-license-identifier-Apache-2.0",
|
|
"SPDX-license-identifier-BSD",
|
|
"SPDX-license-identifier-MIT",
|
|
],
|
|
license_text: [
|
|
"LICENSE",
|
|
],
|
|
}
|
|
|
|
filegroup {
|
|
name: "minigbm_core_files",
|
|
|
|
srcs: [
|
|
"amdgpu.c",
|
|
"drv.c",
|
|
"drv_array_helpers.c",
|
|
"drv_helpers.c",
|
|
"dumb_driver.c",
|
|
"i915.c",
|
|
"mediatek.c",
|
|
"msm.c",
|
|
"rockchip.c",
|
|
"vc4.c",
|
|
"virtgpu.c",
|
|
"virtgpu_cross_domain.c",
|
|
"virtgpu_virgl.c",
|
|
],
|
|
}
|
|
|
|
filegroup {
|
|
name: "minigbm_gralloc_common_files",
|
|
|
|
srcs: [
|
|
"cros_gralloc/cros_gralloc_buffer.cc",
|
|
"cros_gralloc/cros_gralloc_helpers.cc",
|
|
"cros_gralloc/cros_gralloc_driver.cc",
|
|
],
|
|
}
|
|
|
|
filegroup {
|
|
name: "minigbm_gralloc0_files",
|
|
srcs: ["cros_gralloc/gralloc0/gralloc0.cc"],
|
|
}
|
|
|
|
cc_defaults {
|
|
name: "minigbm_defaults",
|
|
|
|
cflags: [
|
|
"-D_GNU_SOURCE=1",
|
|
"-D_FILE_OFFSET_BITS=64",
|
|
"-Wall",
|
|
"-Wsign-compare",
|
|
"-Wpointer-arith",
|
|
"-Wcast-qual",
|
|
"-Wcast-align",
|
|
"-Wno-unused-parameter",
|
|
],
|
|
|
|
product_variables: {
|
|
platform_sdk_version: {
|
|
cflags: ["-DANDROID_API_LEVEL=%d"],
|
|
},
|
|
},
|
|
}
|
|
|
|
cc_library_headers {
|
|
name: "minigbm_headers",
|
|
host_supported: true,
|
|
vendor_available: true,
|
|
export_include_dirs: ["."],
|
|
}
|
|
|
|
cc_defaults {
|
|
name: "minigbm_cros_gralloc_defaults",
|
|
|
|
defaults: ["minigbm_defaults"],
|
|
|
|
header_libs: [
|
|
"libhardware_headers",
|
|
"libnativebase_headers",
|
|
"libsystem_headers",
|
|
"minigbm_headers",
|
|
],
|
|
|
|
static_libs: ["libarect"],
|
|
|
|
vendor: true,
|
|
|
|
shared_libs: [
|
|
"libcutils",
|
|
"libdmabufheap",
|
|
"libdrm",
|
|
"libnativewindow",
|
|
"libsync",
|
|
"liblog",
|
|
],
|
|
}
|
|
|
|
cc_defaults {
|
|
name: "minigbm_cros_gralloc_library_defaults",
|
|
|
|
defaults: ["minigbm_cros_gralloc_defaults"],
|
|
srcs: [
|
|
":minigbm_core_files",
|
|
":minigbm_gralloc_common_files",
|
|
],
|
|
}
|
|
|
|
cc_defaults {
|
|
name: "minigbm_cros_gralloc0_defaults",
|
|
|
|
defaults: ["minigbm_cros_gralloc_defaults"],
|
|
relative_install_path: "hw",
|
|
|
|
srcs: [":minigbm_gralloc0_files"],
|
|
}
|
|
|
|
cc_library {
|
|
name: "libgbm",
|
|
defaults: ["minigbm_defaults"],
|
|
host_supported: true,
|
|
|
|
srcs: [
|
|
":minigbm_core_files",
|
|
"gbm.c",
|
|
"gbm_helpers.c",
|
|
],
|
|
|
|
target: {
|
|
host: {
|
|
// Avoid linking to another host copy of libdrm; this library will cause
|
|
// binary GPU drivers to be loaded from the host, which might be linked
|
|
// to a system copy of libdrm, which conflicts with the AOSP one
|
|
allow_undefined_symbols: true,
|
|
header_libs: ["libdrm_headers"],
|
|
},
|
|
android: {
|
|
shared_libs: [
|
|
"libdrm",
|
|
"liblog"
|
|
],
|
|
},
|
|
},
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"com.android.virt",
|
|
],
|
|
|
|
export_include_dirs: ["."],
|
|
}
|
|
|
|
// Generic
|
|
cc_library_shared {
|
|
name: "libminigbm_gralloc",
|
|
defaults: ["minigbm_cros_gralloc_library_defaults"],
|
|
cflags: ["-DHAS_DMABUF_SYSTEM_HEAP"],
|
|
}
|
|
|
|
cc_library_shared {
|
|
name: "gralloc.minigbm",
|
|
defaults: ["minigbm_cros_gralloc0_defaults"],
|
|
shared_libs: ["libminigbm_gralloc"],
|
|
}
|
|
|
|
// Intel
|
|
cc_library_shared {
|
|
name: "libminigbm_gralloc_intel",
|
|
defaults: ["minigbm_cros_gralloc_library_defaults"],
|
|
cflags: ["-DDRV_I915"],
|
|
enabled: false,
|
|
arch: {
|
|
x86: {
|
|
enabled: true,
|
|
},
|
|
x86_64: {
|
|
enabled: true,
|
|
},
|
|
},
|
|
}
|
|
|
|
cc_library_shared {
|
|
name: "gralloc.minigbm_intel",
|
|
defaults: ["minigbm_cros_gralloc0_defaults"],
|
|
shared_libs: ["libminigbm_gralloc_intel"],
|
|
enabled: false,
|
|
arch: {
|
|
x86: {
|
|
enabled: true,
|
|
},
|
|
x86_64: {
|
|
enabled: true,
|
|
},
|
|
},
|
|
}
|
|
|
|
// Meson
|
|
cc_library_shared {
|
|
name: "libminigbm_gralloc_meson",
|
|
defaults: ["minigbm_cros_gralloc_library_defaults"],
|
|
cflags: ["-DDRV_MESON"],
|
|
}
|
|
|
|
cc_library_shared {
|
|
name: "gralloc.minigbm_meson",
|
|
defaults: ["minigbm_cros_gralloc0_defaults"],
|
|
shared_libs: ["libminigbm_gralloc_meson"],
|
|
}
|
|
|
|
// MSM
|
|
cc_library_shared {
|
|
name: "libminigbm_gralloc_msm",
|
|
defaults: ["minigbm_cros_gralloc_library_defaults"],
|
|
cflags: [
|
|
"-DDRV_MSM",
|
|
"-DQCOM_DISABLE_COMPRESSED_NV12",
|
|
"-DHAS_DMABUF_SYSTEM_HEAP",
|
|
],
|
|
}
|
|
|
|
cc_library_shared {
|
|
name: "gralloc.minigbm_msm",
|
|
defaults: ["minigbm_cros_gralloc0_defaults"],
|
|
shared_libs: ["libminigbm_gralloc_msm"],
|
|
}
|
|
|
|
// ARCVM
|
|
cc_library_shared {
|
|
name: "libminigbm_gralloc_arcvm",
|
|
defaults: ["minigbm_cros_gralloc_library_defaults"],
|
|
cflags: ["-DVIRTIO_GPU_NEXT"],
|
|
}
|
|
|
|
cc_library_shared {
|
|
name: "gralloc.minigbm_arcvm",
|
|
defaults: ["minigbm_cros_gralloc0_defaults"],
|
|
shared_libs: ["libminigbm_gralloc_arcvm"],
|
|
}
|