1*1cddb830SAndroid Build Coastguard Workersoong_namespace {} 2*1cddb830SAndroid Build Coastguard Worker 3*1cddb830SAndroid Build Coastguard Workerpackage { 4*1cddb830SAndroid Build Coastguard Worker default_applicable_licenses: ["OpenCL-ICD-Loader_license"], 5*1cddb830SAndroid Build Coastguard Worker default_visibility: ["//visibility:public"], 6*1cddb830SAndroid Build Coastguard Worker} 7*1cddb830SAndroid Build Coastguard Worker 8*1cddb830SAndroid Build Coastguard Workerlicense { 9*1cddb830SAndroid Build Coastguard Worker name: "OpenCL-ICD-Loader_license", 10*1cddb830SAndroid Build Coastguard Worker visibility: [":__subpackages__"], 11*1cddb830SAndroid Build Coastguard Worker license_kinds: ["SPDX-license-identifier-Apache-2.0"], 12*1cddb830SAndroid Build Coastguard Worker license_text: ["LICENSE"], 13*1cddb830SAndroid Build Coastguard Worker} 14*1cddb830SAndroid Build Coastguard Worker 15*1cddb830SAndroid Build Coastguard Workercc_library_shared { 16*1cddb830SAndroid Build Coastguard Worker /* 17*1cddb830SAndroid Build Coastguard Worker Applications expect to be able to link against 18*1cddb830SAndroid Build Coastguard Worker libOpenCL.so. Therefore, the module name must match. 19*1cddb830SAndroid Build Coastguard Worker */ 20*1cddb830SAndroid Build Coastguard Worker name: "libOpenCL", 21*1cddb830SAndroid Build Coastguard Worker compile_multilib: "both", 22*1cddb830SAndroid Build Coastguard Worker srcs: [ 23*1cddb830SAndroid Build Coastguard Worker "loader/icd.c", 24*1cddb830SAndroid Build Coastguard Worker "loader/icd_dispatch.c", 25*1cddb830SAndroid Build Coastguard Worker "loader/icd_dispatch_generated.c", 26*1cddb830SAndroid Build Coastguard Worker "loader/linux/icd_linux.c", 27*1cddb830SAndroid Build Coastguard Worker "loader/linux/icd_linux_envvars.c", 28*1cddb830SAndroid Build Coastguard Worker ], 29*1cddb830SAndroid Build Coastguard Worker version_script: "loader/linux/icd_exports.map", 30*1cddb830SAndroid Build Coastguard Worker header_libs: ["OpenCL-Headers"], 31*1cddb830SAndroid Build Coastguard Worker generated_headers: ["generate_cmake_config"], 32*1cddb830SAndroid Build Coastguard Worker export_header_lib_headers: ["OpenCL-Headers"], 33*1cddb830SAndroid Build Coastguard Worker local_include_dirs: ["loader"], 34*1cddb830SAndroid Build Coastguard Worker cflags: [ 35*1cddb830SAndroid Build Coastguard Worker "-DCL_NO_NON_ICD_DISPATCH_EXTENSION_PROTOTYPES", 36*1cddb830SAndroid Build Coastguard Worker "-DCL_TARGET_OPENCL_VERSION=300", 37*1cddb830SAndroid Build Coastguard Worker "-DOPENCL_ICD_LOADER_VERSION_MAJOR=3", 38*1cddb830SAndroid Build Coastguard Worker "-DOPENCL_ICD_LOADER_VERSION_MINOR=0", 39*1cddb830SAndroid Build Coastguard Worker "-DOPENCL_ICD_LOADER_VERSION_REV=6", 40*1cddb830SAndroid Build Coastguard Worker "-DMODERN_ANDROID_VENDOR_PATH", 41*1cddb830SAndroid Build Coastguard Worker ], 42*1cddb830SAndroid Build Coastguard Worker soc_specific: true, 43*1cddb830SAndroid Build Coastguard Worker} 44*1cddb830SAndroid Build Coastguard Worker 45*1cddb830SAndroid Build Coastguard Workergenrule { 46*1cddb830SAndroid Build Coastguard Worker name: "generate_cmake_config", 47*1cddb830SAndroid Build Coastguard Worker out: ["icd_cmake_config.h"], 48*1cddb830SAndroid Build Coastguard Worker /* 49*1cddb830SAndroid Build Coastguard Worker Android's libc doesn't implement `secure_getenv` or `__secure_getenv` 50*1cddb830SAndroid Build Coastguard Worker so we just create an empty $(out) file. 51*1cddb830SAndroid Build Coastguard Worker */ 52*1cddb830SAndroid Build Coastguard Worker cmd: "touch $(out)", 53*1cddb830SAndroid Build Coastguard Worker visibility: ["//visibility:private"], 54*1cddb830SAndroid Build Coastguard Worker} 55