]> git.sesse.net Git - x264/blobdiff - extras/cl_platform.h
Fix compilation with OpenCL on MacOS X
[x264] / extras / cl_platform.h
index edc732115c3c8b68e77465d18507bc6f758a382f..7b06e09786c25d160664cdfb8a70f2e66183f123 100644 (file)
@@ -47,13 +47,27 @@ extern "C" {
 
 #ifdef __APPLE__
     #define CL_EXTENSION_WEAK_LINK       __attribute__((weak_import))
-    #define CL_API_SUFFIX__VERSION_1_0                  AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
-    #define CL_EXT_SUFFIX__VERSION_1_0                  CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
-    #define CL_API_SUFFIX__VERSION_1_1                  AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
-    #define GCL_API_SUFFIX__VERSION_1_1                 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
-    #define CL_EXT_SUFFIX__VERSION_1_1                  CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
-    #define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED       CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7
-
+    #ifndef UNAVAILABLE_ATTRIBUTE
+        #define UNAVAILABLE_ATTRIBUTE
+    #endif
+    #ifdef AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
+        #define CL_API_SUFFIX__VERSION_1_0              AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
+        #define CL_EXT_SUFFIX__VERSION_1_0              CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
+    #else
+        #define CL_API_SUFFIX__VERSION_1_0              UNAVAILABLE_ATTRIBUTE
+        #define CL_EXT_SUFFIX__VERSION_1_0              CL_EXTENSION_WEAK_LINK UNAVAILABLE_ATTRIBUTE
+    #endif
+    #ifdef AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
+        #define CL_API_SUFFIX__VERSION_1_1              AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
+        #define GCL_API_SUFFIX__VERSION_1_1             AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
+        #define CL_EXT_SUFFIX__VERSION_1_1              CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
+        #define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED   CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7
+    #else
+        #define CL_API_SUFFIX__VERSION_1_1              UNAVAILABLE_ATTRIBUTE
+        #define GCL_API_SUFFIX__VERSION_1_1             UNAVAILABLE_ATTRIBUTE
+        #define CL_EXT_SUFFIX__VERSION_1_1              CL_EXTENSION_WEAK_LINK UNAVAILABLE_ATTRIBUTE
+        #define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATE    CL_EXT_SUFFIX__VERSION_1_0
+    #endif
     #ifdef AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER
         #define CL_API_SUFFIX__VERSION_1_2              AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER
         #define GCL_API_SUFFIX__VERSION_1_2             AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER
@@ -61,11 +75,11 @@ extern "C" {
         #define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED
         #define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED   CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8
     #else
-        #warning  This path should never happen outside of internal operating system development.  AvailabilityMacros do not function correctly here!
-        #define CL_API_SUFFIX__VERSION_1_2              AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
-        #define GCL_API_SUFFIX__VERSION_1_2             AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
-        #define CL_EXT_SUFFIX__VERSION_1_2              CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
-        #define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED   CL_EXTENSION_WEAK_LINK AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
+        #define CL_API_SUFFIX__VERSION_1_2              UNAVAILABLE_ATTRIBUTE
+        #define GCL_API_SUFFIX__VERSION_1_2             UNAVAILABLE_ATTRIBUTE
+        #define CL_EXT_SUFFIX__VERSION_1_2              CL_EXTENSION_WEAK_LINK UNAVAILABLE_ATTRIBUTE
+        #define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED
+        #define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED   CL_EXT_SUFFIX__VERSION_1_1
     #endif
 #else
     #define CL_EXTENSION_WEAK_LINK