xref: /aosp_15_r20/external/OpenCL-ICD-Loader/loader/icd_platform.h (revision 1cddb830dba8aa7c1cc1039338e56b3b9fa24952)
1 /*
2  * Copyright (c) 2016-2019 The Khronos Group Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  * OpenCL is a trademark of Apple Inc. used under license by Khronos.
17  */
18 
19 #ifndef _ICD_PLATFORM_H_
20 #define _ICD_PLATFORM_H_
21 
22 #if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
23 
24 #define PATH_SEPARATOR  ':'
25 #define DIRECTORY_SYMBOL '/'
26 #ifdef __ANDROID__
27 #if defined(MODERN_ANDROID_VENDOR_PATH)
28 #define ICD_VENDOR_PATH "/vendor/etc/Khronos/OpenCL/vendors"
29 #define LAYER_PATH "/vendor/etc/Khronos/OpenCL/layers"
30 #else
31 #define ICD_VENDOR_PATH "/system/vendor/Khronos/OpenCL/vendors"
32 #define LAYER_PATH "/system/vendor/Khronos/OpenCL/layers"
33 #endif
34 #else
35 #define ICD_VENDOR_PATH "/etc/OpenCL/vendors"
36 #define LAYER_PATH "/etc/OpenCL/layers"
37 #endif // ANDROID
38 
39 #elif defined(_WIN32)
40 
41 #define PATH_SEPARATOR ';'
42 #define DIRECTORY_SYMBOL '\\'
43 
44 #else
45 #error Unknown OS!
46 #endif
47 
48 #ifdef __MINGW32__
49 #if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600)
50 #undef _WIN32_WINNT
51 #define _WIN32_WINNT 0x0600
52 #endif
53 #endif // __MINGW32__
54 
55 #endif
56