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 = [ 13 "src/loader/icd.c", 14 "src/loader/icd_dispatch.c", 15 "src/loader/icd_dispatch_generated.c", 16 ] 17 defines = [ 18 "CL_TARGET_OPENCL_VERSION=300", 19 "OPENCL_ICD_LOADER_DISABLE_OPENCLON12", 20 ] 21 22 if (is_win) { 23 sources += [ 24 "src/loader/windows/icd_windows.c", 25 "src/loader/windows/icd_windows_apppackage.cpp", 26 "src/loader/windows/icd_windows_dxgk.c", 27 "src/loader/windows/icd_windows_envvars.c", 28 "src/loader/windows/icd_windows_hkr.c", 29 ] 30 31 configs -= [ "//build/config/win:lean_and_mean" ] 32 libs = [ "cfgmgr32.lib" ] 33 34 if (is_clang) { 35 cflags = [ "-Wno-incompatible-pointer-types" ] 36 } else { 37 cflags = [ "/wd4133" ] 38 } 39 } else { 40 sources += [ 41 "src/loader/linux/icd_linux.c", 42 "src/loader/linux/icd_linux_envvars.c", 43 ] 44 include_dirs = [ "." ] 45 46 if (is_android) { 47 cflags = [ "-Wno-#pragma-messages" ] 48 } else { 49 defines += [ "HAVE_SECURE_GETENV" ] 50 } 51 } 52 53 configs -= [ "//build/config/compiler:chromium_code" ] 54 configs += [ "//build/config/compiler:no_chromium_code" ] 55 56 public_configs = [ ":opencl_icd_loader_config" ] 57 public_deps = [ "$angle_root:cl_includes" ] 58} 59