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