blob: 002cc0c78d68b53d4da589dfe1e1fd9f6ea2a54d [file] [log] [blame]
# 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
}
if (!use_system_minigbm) {
config("minigbm_config") {
include_dirs = [ "src" ]
}
pkg_config("libdrm") {
packages = [ "libdrm" ]
}
shared_library("minigbm") {
sources = [
"src/cirrus.c",
"src/evdi.c",
"src/exynos.c",
"src/gbm.c",
"src/gma500.c",
"src/helpers.c",
"src/i915.c",
"src/marvell.c",
"src/mediatek.c",
"src/rockchip.c",
"src/tegra.c",
"src/udl.c",
"src/virtio_gpu.c",
]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [
":libdrm",
"//build/config/compiler:no_chromium_code",
]
public_configs = [ ":minigbm_config" ]
# Clients need this to pick up the shared library correctly.
all_dependent_configs =
[ "//build/config/gcc:rpath_for_built_shared_libraries" ]
}
}
if (use_system_minigbm) {
pkg_config("libgbm") {
packages = [ "gbm" ]
}
group("minigbm") {
public_configs = [ ":libgbm" ]
}
}