xref: /aosp_15_r20/external/angle/src/libANGLE/renderer/gl/BUILD.gn (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
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