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