xref: /aosp_15_r20/external/angle/src/libOpenCL/BUILD.gn (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2021 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# Build configuration for OpenCL-related targets.
6*8975f5c5SAndroid Build Coastguard Worker
7*8975f5c5SAndroid Build Coastguard Workerimport("../../gni/angle.gni")
8*8975f5c5SAndroid Build Coastguard Worker
9*8975f5c5SAndroid Build Coastguard Workerassert(angle_enable_cl)
10*8975f5c5SAndroid Build Coastguard Worker
11*8975f5c5SAndroid Build Coastguard Workerif (is_win || is_linux) {
12*8975f5c5SAndroid Build Coastguard Worker  glesv2_path =
13*8975f5c5SAndroid Build Coastguard Worker      rebase_path(get_label_info("$angle_root:libGLESv2", "root_out_dir"))
14*8975f5c5SAndroid Build Coastguard Worker}
15*8975f5c5SAndroid Build Coastguard Worker
16*8975f5c5SAndroid Build Coastguard Workerangle_shared_library("OpenCL_ANGLE") {
17*8975f5c5SAndroid Build Coastguard Worker  defines = [ "LIBCL_IMPLEMENTATION" ]
18*8975f5c5SAndroid Build Coastguard Worker  if (is_win) {
19*8975f5c5SAndroid Build Coastguard Worker    defines += [ "ANGLE_GLESV2_LIBRARY_PATH=\"" +
20*8975f5c5SAndroid Build Coastguard Worker                 string_replace(glesv2_path, "/", "\\\\") + "\"" ]
21*8975f5c5SAndroid Build Coastguard Worker  }
22*8975f5c5SAndroid Build Coastguard Worker
23*8975f5c5SAndroid Build Coastguard Worker  sources = [
24*8975f5c5SAndroid Build Coastguard Worker    "dispatch.cpp",
25*8975f5c5SAndroid Build Coastguard Worker    "dispatch.h",
26*8975f5c5SAndroid Build Coastguard Worker    "libOpenCL_autogen.cpp",
27*8975f5c5SAndroid Build Coastguard Worker  ]
28*8975f5c5SAndroid Build Coastguard Worker
29*8975f5c5SAndroid Build Coastguard Worker  configs += [
30*8975f5c5SAndroid Build Coastguard Worker    "$angle_root:debug_annotations_config",
31*8975f5c5SAndroid Build Coastguard Worker    "$angle_root:library_name_config",
32*8975f5c5SAndroid Build Coastguard Worker  ]
33*8975f5c5SAndroid Build Coastguard Worker
34*8975f5c5SAndroid Build Coastguard Worker  deps = [
35*8975f5c5SAndroid Build Coastguard Worker    "$angle_root:angle_common",
36*8975f5c5SAndroid Build Coastguard Worker    "$angle_root:cl_includes",
37*8975f5c5SAndroid Build Coastguard Worker  ]
38*8975f5c5SAndroid Build Coastguard Worker
39*8975f5c5SAndroid Build Coastguard Worker  if (is_linux) {
40*8975f5c5SAndroid Build Coastguard Worker    inputs = [ "libOpenCL_autogen.map" ]
41*8975f5c5SAndroid Build Coastguard Worker    ldflags = [
42*8975f5c5SAndroid Build Coastguard Worker      "-Wl,--version-script=" +
43*8975f5c5SAndroid Build Coastguard Worker          rebase_path("libOpenCL_autogen.map", root_build_dir),
44*8975f5c5SAndroid Build Coastguard Worker      "-Wl,-rpath=" + glesv2_path,
45*8975f5c5SAndroid Build Coastguard Worker    ]
46*8975f5c5SAndroid Build Coastguard Worker  }
47*8975f5c5SAndroid Build Coastguard Worker}
48*8975f5c5SAndroid Build Coastguard Worker
49*8975f5c5SAndroid Build Coastguard Workergroup("angle_cl") {
50*8975f5c5SAndroid Build Coastguard Worker  data_deps = [ ":OpenCL_ANGLE" ]
51*8975f5c5SAndroid Build Coastguard Worker}
52