1*03ce13f7SAndroid Build Coastguard Worker# Copyright 2019 The SwiftShader Authors. All Rights Reserved. 2*03ce13f7SAndroid Build Coastguard Worker# 3*03ce13f7SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*03ce13f7SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*03ce13f7SAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*03ce13f7SAndroid Build Coastguard Worker# 7*03ce13f7SAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*03ce13f7SAndroid Build Coastguard Worker# 9*03ce13f7SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*03ce13f7SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*03ce13f7SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*03ce13f7SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*03ce13f7SAndroid Build Coastguard Worker# limitations under the License. 14*03ce13f7SAndroid Build Coastguard Worker 15*03ce13f7SAndroid Build Coastguard Workerimport("../swiftshader.gni") 16*03ce13f7SAndroid Build Coastguard Workerimport("//build_overrides/wayland.gni") 17*03ce13f7SAndroid Build Coastguard Workerimport("//build/config/ozone.gni") 18*03ce13f7SAndroid Build Coastguard Worker 19*03ce13f7SAndroid Build Coastguard Workerconfig("WSI_metal_weak_framework") { 20*03ce13f7SAndroid Build Coastguard Worker if (is_mac) { 21*03ce13f7SAndroid Build Coastguard Worker ldflags = [ 22*03ce13f7SAndroid Build Coastguard Worker "-weak_framework", 23*03ce13f7SAndroid Build Coastguard Worker "Metal", 24*03ce13f7SAndroid Build Coastguard Worker ] 25*03ce13f7SAndroid Build Coastguard Worker } 26*03ce13f7SAndroid Build Coastguard Worker} 27*03ce13f7SAndroid Build Coastguard Worker 28*03ce13f7SAndroid Build Coastguard Workerswiftshader_source_set("WSI") { 29*03ce13f7SAndroid Build Coastguard Worker sources = [ 30*03ce13f7SAndroid Build Coastguard Worker "HeadlessSurfaceKHR.cpp", 31*03ce13f7SAndroid Build Coastguard Worker "HeadlessSurfaceKHR.hpp", 32*03ce13f7SAndroid Build Coastguard Worker "VkSurfaceKHR.cpp", 33*03ce13f7SAndroid Build Coastguard Worker "VkSurfaceKHR.hpp", 34*03ce13f7SAndroid Build Coastguard Worker "VkSwapchainKHR.cpp", 35*03ce13f7SAndroid Build Coastguard Worker "VkSwapchainKHR.hpp", 36*03ce13f7SAndroid Build Coastguard Worker ] 37*03ce13f7SAndroid Build Coastguard Worker 38*03ce13f7SAndroid Build Coastguard Worker if (is_linux) { 39*03ce13f7SAndroid Build Coastguard Worker if (ozone_platform_x11) { 40*03ce13f7SAndroid Build Coastguard Worker sources += [ 41*03ce13f7SAndroid Build Coastguard Worker "XcbSurfaceKHR.cpp", 42*03ce13f7SAndroid Build Coastguard Worker "XcbSurfaceKHR.hpp", 43*03ce13f7SAndroid Build Coastguard Worker "libXCB.cpp", 44*03ce13f7SAndroid Build Coastguard Worker "libXCB.hpp", 45*03ce13f7SAndroid Build Coastguard Worker ] 46*03ce13f7SAndroid Build Coastguard Worker } 47*03ce13f7SAndroid Build Coastguard Worker 48*03ce13f7SAndroid Build Coastguard Worker if (ozone_platform_wayland) { 49*03ce13f7SAndroid Build Coastguard Worker sources += [ 50*03ce13f7SAndroid Build Coastguard Worker "WaylandSurfaceKHR.cpp", 51*03ce13f7SAndroid Build Coastguard Worker "WaylandSurfaceKHR.hpp", 52*03ce13f7SAndroid Build Coastguard Worker "libWaylandClient.cpp", 53*03ce13f7SAndroid Build Coastguard Worker "libWaylandClient.hpp", 54*03ce13f7SAndroid Build Coastguard Worker ] 55*03ce13f7SAndroid Build Coastguard Worker } 56*03ce13f7SAndroid Build Coastguard Worker } 57*03ce13f7SAndroid Build Coastguard Worker 58*03ce13f7SAndroid Build Coastguard Worker if (is_win) { 59*03ce13f7SAndroid Build Coastguard Worker sources += [ 60*03ce13f7SAndroid Build Coastguard Worker "Win32SurfaceKHR.cpp", 61*03ce13f7SAndroid Build Coastguard Worker "Win32SurfaceKHR.hpp", 62*03ce13f7SAndroid Build Coastguard Worker ] 63*03ce13f7SAndroid Build Coastguard Worker } 64*03ce13f7SAndroid Build Coastguard Worker 65*03ce13f7SAndroid Build Coastguard Worker if (is_mac) { 66*03ce13f7SAndroid Build Coastguard Worker sources += [ 67*03ce13f7SAndroid Build Coastguard Worker "MetalSurface.hpp", 68*03ce13f7SAndroid Build Coastguard Worker "MetalSurface.mm", 69*03ce13f7SAndroid Build Coastguard Worker ] 70*03ce13f7SAndroid Build Coastguard Worker frameworks = [ 71*03ce13f7SAndroid Build Coastguard Worker "Cocoa.framework", 72*03ce13f7SAndroid Build Coastguard Worker "QuartzCore.framework", 73*03ce13f7SAndroid Build Coastguard Worker ] 74*03ce13f7SAndroid Build Coastguard Worker public_configs = [ ":WSI_metal_weak_framework" ] 75*03ce13f7SAndroid Build Coastguard Worker } 76*03ce13f7SAndroid Build Coastguard Worker 77*03ce13f7SAndroid Build Coastguard Worker include_dirs = [ 78*03ce13f7SAndroid Build Coastguard Worker "..", 79*03ce13f7SAndroid Build Coastguard Worker "../../include", 80*03ce13f7SAndroid Build Coastguard Worker "../../third_party/SPIRV-Headers/include", 81*03ce13f7SAndroid Build Coastguard Worker ] 82*03ce13f7SAndroid Build Coastguard Worker 83*03ce13f7SAndroid Build Coastguard Worker deps = [ 84*03ce13f7SAndroid Build Coastguard Worker "../../third_party/SPIRV-Tools:spvtools_headers", 85*03ce13f7SAndroid Build Coastguard Worker "../../third_party/marl:Marl_headers", 86*03ce13f7SAndroid Build Coastguard Worker "../System", 87*03ce13f7SAndroid Build Coastguard Worker "../Vulkan:swiftshader_libvulkan_headers", 88*03ce13f7SAndroid Build Coastguard Worker ] 89*03ce13f7SAndroid Build Coastguard Worker 90*03ce13f7SAndroid Build Coastguard Worker # Do not try to depend on Wayland if the |wayland_gn_dir| is not set. 91*03ce13f7SAndroid Build Coastguard Worker if (is_linux && ozone_platform_wayland && wayland_gn_dir != "") { 92*03ce13f7SAndroid Build Coastguard Worker # Use third-party targets 93*03ce13f7SAndroid Build Coastguard Worker deps += [ "$wayland_gn_dir:wayland_client" ] 94*03ce13f7SAndroid Build Coastguard Worker } 95*03ce13f7SAndroid Build Coastguard Worker 96*03ce13f7SAndroid Build Coastguard Worker configs = [ "../Vulkan:swiftshader_libvulkan_private_config" ] 97*03ce13f7SAndroid Build Coastguard Worker} 98