blob: ff975c9d7aa37e542f9d187973aa98f5f36b5aee [file] [log] [blame]
# Copyright 2023 Google, LLC
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
import("../../../../mesa.gni")
# Allow multiple source sets to be compiled with the same source code but different configs.
pipe_loader_sources = [
"driinfo_gallium.h",
"pipe_loader.c",
"pipe_loader.h",
"pipe_loader_priv.h",
"pipe_loader_sw.c",
]
pipe_loader_deps = [
"$mesa_build_root/src/gallium/winsys/sw/dri",
"$mesa_build_root/src/gallium/winsys/sw/null",
"$mesa_build_root/src/gallium/winsys/sw/wrapper",
"$mesa_build_root/src/util:xmlconfig",
]
config("pipe-loader-config-base") {
include_dirs = [
"$mesa_build_root/include/",
"$mesa_build_root/src/",
"$mesa_build_root/src/gallium/auxiliary/",
"$mesa_build_root/src/gallium/include/",
"$mesa_build_root/src/gallium/winsys/",
]
configs = [ "$mesa_build_root/src/gallium:build_config" ]
}
mesa_source_set("pipe-loader") {
sources = pipe_loader_sources
deps = pipe_loader_deps
configs = [ ":pipe-loader-config-base" ]
}
config("pipe-loader-config-llvmpipe") {
defines = [ "GALLIUM_LLVMPIPE" ]
}
# A specialized pipe-loader with the same source code but configured differently. This accomplishes
# the same goal as //src/gallium/drivers/llvmpipe/meson.build, where the "driver_swrast" is replaced
# with a modified version. GN is less flexible than Meson in this regard, so we take this approach.
mesa_source_set("pipe-loader-llvmpipe") {
sources = pipe_loader_sources
deps = pipe_loader_deps
configs = [
":pipe-loader-config-base",
":pipe-loader-config-llvmpipe",
]
}