mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
128 lines
3.0 KiB
Plaintext
128 lines
3.0 KiB
Plaintext
# Copyright 2015 The Chromium 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/config/linux/pkg_config.gni")
|
|
|
|
assert(is_linux)
|
|
|
|
declare_args() {
|
|
# Controls whether the build should use the version of minigbm library
|
|
# shipped with the system. In release builds of Chrome OS we use the
|
|
# system version, but when building on dev workstations or the Chrome
|
|
# waterfall we bundle it because Ubuntu doesn't ship a usable version.
|
|
use_system_minigbm = false
|
|
|
|
use_amdgpu_minigbm = false
|
|
use_exynos_minigbm = false
|
|
use_intel_minigbm = false
|
|
use_marvell_minigbm = false
|
|
use_mediatek_minigbm = false
|
|
use_meson_minigbm = false
|
|
use_msm_minigbm = false
|
|
use_radeon_minigbm = false
|
|
use_rockchip_minigbm = false
|
|
use_tegra_minigbm = false
|
|
use_vc4_minigbm = false
|
|
}
|
|
|
|
if (!use_system_minigbm) {
|
|
config("minigbm_config") {
|
|
include_dirs = [ "src" ]
|
|
defines = []
|
|
if (use_amdgpu_minigbm) {
|
|
defines += [ "DRV_AMDGPU" ]
|
|
}
|
|
if (use_exynos_minigbm) {
|
|
defines += [ "DRV_EXYNOS" ]
|
|
}
|
|
if (use_intel_minigbm) {
|
|
defines += [ "DRV_I915" ]
|
|
}
|
|
if (use_marvell_minigbm) {
|
|
defines += [ "DRV_MARVELL" ]
|
|
}
|
|
if (use_mediatek_minigbm) {
|
|
defines += [ "DRV_MEDIATEK" ]
|
|
}
|
|
if (use_meson_minigbm) {
|
|
defines += [ "DRV_MESON" ]
|
|
}
|
|
if (use_msm_minigbm) {
|
|
defines += [ "DRV_MSM" ]
|
|
}
|
|
if (use_radeon_minigbm) {
|
|
defines += [ "DRV_RADEON" ]
|
|
}
|
|
if (use_rockchip_minigbm) {
|
|
defines += [ "DRV_ROCKCHIP" ]
|
|
}
|
|
if (use_tegra_minigbm) {
|
|
defines += [ "DRV_TEGRA" ]
|
|
}
|
|
if (use_vc4_minigbm) {
|
|
defines += [ "DRV_VC4" ]
|
|
}
|
|
}
|
|
|
|
shared_library("minigbm") {
|
|
sources = [
|
|
"src/amdgpu.c",
|
|
"src/drv.c",
|
|
"src/evdi.c",
|
|
"src/exynos.c",
|
|
"src/gbm.c",
|
|
"src/gbm_helpers.c",
|
|
"src/helpers.c",
|
|
"src/helpers_array.c",
|
|
"src/i915.c",
|
|
"src/marvell.c",
|
|
"src/mediatek.c",
|
|
"src/meson.c",
|
|
"src/msm.c",
|
|
"src/nouveau.c",
|
|
"src/radeon.c",
|
|
"src/rockchip.c",
|
|
"src/tegra.c",
|
|
"src/udl.c",
|
|
"src/vc4.c",
|
|
"src/vgem.c",
|
|
"src/virtio_gpu.c",
|
|
]
|
|
|
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
|
|
|
deps = [
|
|
"//third_party/libdrm",
|
|
]
|
|
public_configs = [ ":minigbm_config" ]
|
|
|
|
if (use_exynos_minigbm) {
|
|
configs += [ "//third_party/libdrm:libdrm_exynos_include_config" ]
|
|
}
|
|
|
|
# Clients need this to pick up the shared library correctly.
|
|
all_dependent_configs =
|
|
[ "//build/config/gcc:rpath_for_built_shared_libraries" ]
|
|
}
|
|
|
|
# This target is used for Chromecast build, which expects the resulting lib
|
|
# to have a name <GN target name> + .so
|
|
group("libminigbm") {
|
|
deps = [
|
|
":minigbm",
|
|
]
|
|
}
|
|
}
|
|
|
|
if (use_system_minigbm) {
|
|
pkg_config("libgbm") {
|
|
packages = [ "gbm" ]
|
|
}
|
|
|
|
group("minigbm") {
|
|
public_configs = [ ":libgbm" ]
|
|
}
|
|
}
|