• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2021 The ANGLE Project Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("../../gni/angle.gni")
6
7config("opencl_icd_loader_config") {
8  include_dirs = [ "src/loader" ]
9}
10
11source_set("opencl_icd_loader") {
12  sources = [ "src/loader/icd.c" ]
13  defines = [
14    "CL_TARGET_OPENCL_VERSION=300",
15    "OPENCL_ICD_LOADER_DISABLE_OPENCLON12",
16  ]
17
18  if (is_win) {
19    sources += [
20      "src/loader/windows/icd_windows.c",
21      "src/loader/windows/icd_windows_apppackage.cpp",
22      "src/loader/windows/icd_windows_dxgk.c",
23      "src/loader/windows/icd_windows_envvars.c",
24      "src/loader/windows/icd_windows_hkr.c",
25    ]
26
27    configs -= [ "//build/config/win:lean_and_mean" ]
28    libs = [ "cfgmgr32.lib" ]
29
30    if (is_clang) {
31      cflags = [ "-Wno-incompatible-pointer-types" ]
32    } else {
33      cflags = [ "/wd4133" ]
34    }
35  } else {
36    sources += [
37      "src/loader/linux/icd_linux.c",
38      "src/loader/linux/icd_linux_envvars.c",
39    ]
40    include_dirs = [ "." ]
41
42    if (is_android) {
43      cflags = [ "-Wno-#pragma-messages" ]
44    } else {
45      defines += [ "HAVE_SECURE_GETENV" ]
46    }
47  }
48
49  configs -= [ "//build/config/compiler:chromium_code" ]
50  configs += [ "//build/config/compiler:no_chromium_code" ]
51
52  public_configs = [ ":opencl_icd_loader_config" ]
53  public_deps = [ "$angle_root:cl_includes" ]
54}
55