blob: c53a1c9c5f7aa37f40f18e2f5657f3b4c99026c7 [file] [log] [blame]
# Copyright 2019 The SwiftShader Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("../swiftshader.gni")
import("//build_overrides/wayland.gni")
import("//build/config/ozone.gni")
config("WSI_metal_weak_framework") {
if (is_mac) {
ldflags = [
"-weak_framework",
"Metal",
]
}
}
swiftshader_source_set("WSI") {
sources = [
"HeadlessSurfaceKHR.cpp",
"HeadlessSurfaceKHR.hpp",
"VkSurfaceKHR.cpp",
"VkSurfaceKHR.hpp",
"VkSwapchainKHR.cpp",
"VkSwapchainKHR.hpp",
]
if (is_linux) {
if (ozone_platform_x11) {
sources += [
"XcbSurfaceKHR.cpp",
"XcbSurfaceKHR.hpp",
"libXCB.cpp",
"libXCB.hpp",
]
}
if (ozone_platform_wayland) {
sources += [
"WaylandSurfaceKHR.cpp",
"WaylandSurfaceKHR.hpp",
"libWaylandClient.cpp",
"libWaylandClient.hpp",
]
}
}
if (is_win) {
sources += [
"Win32SurfaceKHR.cpp",
"Win32SurfaceKHR.hpp",
]
}
if (is_mac) {
sources += [
"MetalSurface.hpp",
"MetalSurface.mm",
]
frameworks = [
"Cocoa.framework",
"QuartzCore.framework",
]
public_configs = [ ":WSI_metal_weak_framework" ]
}
include_dirs = [
"..",
"../../include",
"../../third_party/SPIRV-Headers/include",
]
deps = [
"../../third_party/SPIRV-Tools:spvtools_headers",
"../../third_party/marl:Marl_headers",
"../System",
"../Vulkan:swiftshader_libvulkan_headers",
]
if (is_linux && ozone_platform_wayland && !use_system_libwayland) {
# Use third-party targets
deps += [ "$wayland_gn_dir:wayland_client" ]
}
configs = [ "../Vulkan:swiftshader_libvulkan_private_config" ]
}