1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2020 The ANGLE Project Authors. All rights reserved. 2*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file. 4*8975f5c5SAndroid Build Coastguard Worker# 5*8975f5c5SAndroid Build Coastguard Worker# This file houses the build configuration for the ANGLE GL back-ends. 6*8975f5c5SAndroid Build Coastguard Worker 7*8975f5c5SAndroid Build Coastguard Workerimport("../../../../gni/angle.gni") 8*8975f5c5SAndroid Build Coastguard Workerimport("gl_backend.gni") 9*8975f5c5SAndroid Build Coastguard Worker 10*8975f5c5SAndroid Build Coastguard Workerif (angle_has_build && ozone_platform_gbm) { 11*8975f5c5SAndroid Build Coastguard Worker import("//build/config/linux/pkg_config.gni") 12*8975f5c5SAndroid Build Coastguard Worker} 13*8975f5c5SAndroid Build Coastguard Worker 14*8975f5c5SAndroid Build Coastguard Workerassert(angle_enable_gl) 15*8975f5c5SAndroid Build Coastguard Worker 16*8975f5c5SAndroid Build Coastguard Workerconfig("angle_gl_backend_config") { 17*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_ENABLE_OPENGL" ] 18*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_gl_desktop_backend) { 19*8975f5c5SAndroid Build Coastguard Worker defines += [ "ANGLE_ENABLE_GL_DESKTOP_BACKEND" ] 20*8975f5c5SAndroid Build Coastguard Worker } 21*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_gl_null) { 22*8975f5c5SAndroid Build Coastguard Worker defines += [ "ANGLE_ENABLE_OPENGL_NULL" ] 23*8975f5c5SAndroid Build Coastguard Worker } 24*8975f5c5SAndroid Build Coastguard Worker if (ozone_platform_gbm) { 25*8975f5c5SAndroid Build Coastguard Worker defines += [ "ANGLE_USE_GBM" ] 26*8975f5c5SAndroid Build Coastguard Worker } 27*8975f5c5SAndroid Build Coastguard Worker if (is_apple) { 28*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_cgl) { 29*8975f5c5SAndroid Build Coastguard Worker defines += [ 30*8975f5c5SAndroid Build Coastguard Worker "GL_SILENCE_DEPRECATION", 31*8975f5c5SAndroid Build Coastguard Worker "ANGLE_ENABLE_CGL", 32*8975f5c5SAndroid Build Coastguard Worker ] 33*8975f5c5SAndroid Build Coastguard Worker } 34*8975f5c5SAndroid Build Coastguard Worker } 35*8975f5c5SAndroid Build Coastguard Worker if (angle_has_build && (is_linux || is_chromeos)) { 36*8975f5c5SAndroid Build Coastguard Worker defines += [ "ANGLE_HAS_LIBDRM" ] 37*8975f5c5SAndroid Build Coastguard Worker } 38*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "../../../third_party/khronos" ] 39*8975f5c5SAndroid Build Coastguard Worker} 40*8975f5c5SAndroid Build Coastguard Worker 41*8975f5c5SAndroid Build Coastguard Workerangle_source_set("angle_gl_backend") { 42*8975f5c5SAndroid Build Coastguard Worker sources = gl_backend_sources 43*8975f5c5SAndroid Build Coastguard Worker 44*8975f5c5SAndroid Build Coastguard Worker public_configs = [ ":angle_gl_backend_config" ] 45*8975f5c5SAndroid Build Coastguard Worker public_deps = [ "$angle_root:libANGLE_headers" ] 46*8975f5c5SAndroid Build Coastguard Worker 47*8975f5c5SAndroid Build Coastguard Worker deps = [ 48*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_gpu_info_util", 49*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_image_util", 50*8975f5c5SAndroid Build Coastguard Worker ] 51*8975f5c5SAndroid Build Coastguard Worker 52*8975f5c5SAndroid Build Coastguard Worker if (angle_has_build && (is_linux || is_chromeos)) { 53*8975f5c5SAndroid Build Coastguard Worker deps += [ "//build/config/linux/libdrm" ] 54*8975f5c5SAndroid Build Coastguard Worker } 55*8975f5c5SAndroid Build Coastguard Worker 56*8975f5c5SAndroid Build Coastguard Worker if (is_win) { 57*8975f5c5SAndroid Build Coastguard Worker deps += [ "$angle_root:angle_d3d_format_tables" ] 58*8975f5c5SAndroid Build Coastguard Worker } 59*8975f5c5SAndroid Build Coastguard Worker 60*8975f5c5SAndroid Build Coastguard Worker if (angle_use_x11) { 61*8975f5c5SAndroid Build Coastguard Worker libs = [ 62*8975f5c5SAndroid Build Coastguard Worker "X11", 63*8975f5c5SAndroid Build Coastguard Worker "Xi", 64*8975f5c5SAndroid Build Coastguard Worker "Xext", 65*8975f5c5SAndroid Build Coastguard Worker ] 66*8975f5c5SAndroid Build Coastguard Worker } 67*8975f5c5SAndroid Build Coastguard Worker if (is_android || is_linux || is_chromeos) { 68*8975f5c5SAndroid Build Coastguard Worker deps += [ "$angle_root/src/common/linux:angle_dma_buf" ] 69*8975f5c5SAndroid Build Coastguard Worker } 70*8975f5c5SAndroid Build Coastguard Worker if (is_apple) { 71*8975f5c5SAndroid Build Coastguard Worker frameworks = [ 72*8975f5c5SAndroid Build Coastguard Worker "IOSurface.framework", 73*8975f5c5SAndroid Build Coastguard Worker "QuartzCore.framework", 74*8975f5c5SAndroid Build Coastguard Worker ] 75*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_cgl) { 76*8975f5c5SAndroid Build Coastguard Worker frameworks += [ "OpenGL.framework" ] 77*8975f5c5SAndroid Build Coastguard Worker } 78*8975f5c5SAndroid Build Coastguard Worker if (is_mac) { 79*8975f5c5SAndroid Build Coastguard Worker frameworks += [ "Cocoa.framework" ] 80*8975f5c5SAndroid Build Coastguard Worker } 81*8975f5c5SAndroid Build Coastguard Worker } 82*8975f5c5SAndroid Build Coastguard Worker} 83