123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- /* Copyright (C) 2010-2018 The RetroArch team
- *
- * ---------------------------------------------------------------------------------------
- * The following license statement only applies to this file (apple_compat.h).
- * ---------------------------------------------------------------------------------------
- *
- * Permission is hereby granted, free of charge,
- * to any person obtaining a copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation the rights to
- * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
- * and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
- * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
- #ifndef __APPLE_COMPAT_H
- #define __APPLE_COMPAT_H
- #ifdef __APPLE__
- #include <AvailabilityMacros.h>
- #endif
- #ifdef __OBJC__
- #if (MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4)
- typedef int NSInteger;
- typedef unsigned NSUInteger;
- typedef float CGFloat;
- #endif
- #ifndef __has_feature
- /* Compatibility with non-Clang compilers. */
- #define __has_feature(x) 0
- #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 NS_INLINE
- #define NS_INLINE inline
- #endif
- NS_INLINE CF_RETURNS_RETAINED CFTypeRef CFBridgingRetainCompat(id X)
- {
- #if __has_feature(objc_arc)
- return (__bridge_retained CFTypeRef)X;
- #else
- return X;
- #endif
- }
- #endif
- #ifdef IOS
- #ifndef __IPHONE_5_0
- #warning "This project uses features only available in iOS SDK 5.0 and later."
- #endif
- #ifdef __OBJC__
- #import <UIKit/UIKit.h>
- #import <GLKit/GLKit.h>
- #import <Foundation/Foundation.h>
- #endif
- #else
- #ifdef __OBJC__
- #include <objc/objc-runtime.h>
- #endif
- #endif
- #endif
|