RetroArch
libretro-common
include
compat
apple_compat.h
Go to the documentation of this file.
1
/* Copyright (C) 2010-2018 The RetroArch team
2
*
3
* ---------------------------------------------------------------------------------------
4
* The following license statement only applies to this file (apple_compat.h).
5
* ---------------------------------------------------------------------------------------
6
*
7
* Permission is hereby granted, free of charge,
8
* to any person obtaining a copy of this software and associated documentation files (the "Software"),
9
* to deal in the Software without restriction, including without limitation the rights to
10
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11
* and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
12
*
13
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
14
*
15
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
16
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
19
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
*/
22
23
#ifndef __APPLE_COMPAT_H
24
#define __APPLE_COMPAT_H
25
26
#ifdef __APPLE__
27
#include <AvailabilityMacros.h>
28
#endif
29
30
#ifdef __OBJC__
31
32
#if (MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4)
33
typedef
int
NSInteger;
34
typedef
unsigned
NSUInteger;
35
typedef
float
CGFloat;
36
#endif
37
38
#ifndef __has_feature
39
/* Compatibility with non-Clang compilers. */
40
#define __has_feature(x) 0
41
#endif
42
43
#ifndef CF_RETURNS_RETAINED
44
#if __has_feature(attribute_cf_returns_retained)
45
#define CF_RETURNS_RETAINED __attribute__((cf_returns_retained))
46
#else
47
#define CF_RETURNS_RETAINED
48
#endif
49
#endif
50
51
#ifndef NS_INLINE
52
#define NS_INLINE inline
53
#endif
54
55
NS_INLINE CF_RETURNS_RETAINED CFTypeRef CFBridgingRetainCompat(
id
X
)
56
{
57
#if __has_feature(objc_arc)
58
return
(__bridge_retained CFTypeRef)
X
;
59
#else
60
return
X
;
61
#endif
62
}
63
64
#endif
65
66
#ifdef IOS
67
#ifndef __IPHONE_5_0
68
#warning "This project uses features only available in iOS SDK 5.0 and later."
69
#endif
70
71
#ifdef __OBJC__
72
#import <UIKit/UIKit.h>
73
#import <GLKit/GLKit.h>
74
#import <Foundation/Foundation.h>
75
#endif
76
77
#else
78
79
#ifdef __OBJC__
80
#include <objc/objc-runtime.h>
81
#endif
82
#endif
83
84
#endif
X
#define X(a, b)
Definition:
bba.c:185
Generated by
1.8.15