/** @file nim_build_config.h * @brief This file defines build and platform configuration * @copyright (c) 2015-2017, NetEase Inc. All rights reserved * @author Harrison * @date 2015/2/1 */ #ifndef NIM_SDK_UTIL_NIM_BUILD_CONFIG_H_ #define NIM_SDK_UTIL_NIM_BUILD_CONFIG_H_ // Windows or Unix-like(POSIX) macro definition. #if defined(WIN32)|| defined(_WIN32) || defined(_WIN32_WCE) # define NIMAPI_UNDER_WINDOWS 1 # if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP || WINAPI_FAMILY == WINAPI_FAMILY_APP) # define NIMAPI_UNDER_WINDOWS_RT 1 # if WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP # define NIMAPI_UNDER_WINDOWS_PHONE 1 # endif # endif #else # define NIMAPI_UNDER_POSIX 1 #endif // OS X or iOS macro definition. #if defined(__APPLE__) # define NIMAPI_UNDER_APPLE 1 #endif #if TARGET_OS_MAC # define NIMAPI_UNDER_MAC 1 #endif #if TARGET_OS_IPHONE # define NIMAPI_UNDER_IPHONE 1 #endif #if TARGET_IPHONE_SIMULATOR # define NIMAPI_UNDER_IPHONE_SIMULATOR 1 #endif // NIM SDK (Universal SDK or Windows desktop-only SDK) API target platform macro definition. #if defined(NIM_WIN_DESKTOP_ONLY_SDK) && (defined(NIMAPI_UNDER_WINDOWS)) # define NIMAPI_UNDER_WIN_DESKTOP_ONLY 1 #else # define NIMAPI_UNDER_UNIVERSAL 1 //Also support Windows desktop #endif #endif /* NIM_SDK_UTIL_NIM_BUILD_CONFIG_H_ */