aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xquartz/sanitizedCocoa.h
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/hw/xquartz/sanitizedCocoa.h')
-rw-r--r--xorg-server/hw/xquartz/sanitizedCocoa.h39
1 files changed, 38 insertions, 1 deletions
diff --git a/xorg-server/hw/xquartz/sanitizedCocoa.h b/xorg-server/hw/xquartz/sanitizedCocoa.h
index 58de64c1c..5a2a282d1 100644
--- a/xorg-server/hw/xquartz/sanitizedCocoa.h
+++ b/xorg-server/hw/xquartz/sanitizedCocoa.h
@@ -16,7 +16,8 @@
#define BOOL OSX_BOOL
#define EventType HIT_EventType
-#include <Cocoa/Cocoa.h>
+#import <Cocoa/Cocoa.h>
+#import <Foundation/Foundation.h>
#undef Cursor
#undef WindowPtr
@@ -24,4 +25,40 @@
#undef BOOL
#undef EventType
+#ifndef __has_feature
+#define __has_feature(x) 0 // Compatibility with non-clang compilers.
+#endif
+
+#ifndef NS_RETURNS_RETAINED
+#if __has_feature(attribute_ns_returns_retained)
+#define NS_RETURNS_RETAINED __attribute__((ns_returns_retained))
+#else
+#define NS_RETURNS_RETAINED
+#endif
+#endif
+
+#ifndef NS_RETURNS_NOT_RETAINED
+#if __has_feature(attribute_ns_returns_not_retained)
+#define NS_RETURNS_NOT_RETAINED __attribute__((ns_returns_not_retained))
+#else
+#define NS_RETURNS_NOT_RETAINED
+#endif
+#endif
+
+#ifndef CF_RETURNS_RETAINED
+#if __has_feature(attribute_cf_returns_retained)
+#define CF_RETURNS_RETAINED __attribute__((cf_returns_retained))
+#else
+#define CF_RETURNS_RETAINED
+#endif
+#endif
+
+#ifndef CF_RETURNS_NOT_RETAINED
+#if __has_feature(attribute_cf_returns_not_retained)
+#define CF_RETURNS_NOT_RETAINED __attribute__((cf_returns_not_retained))
+#else
+#define CF_RETURNS_NOT_RETAINED
+#endif
+#endif
+
#endif /* _XQ_SANITIZED_COCOA_H_ */