1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: CTR.h 4 5 Copyright (C) 2009-2011 Nintendo. All rights reserved. 6 7 These coded instructions, statements, and computer programs contain 8 proprietary information of Nintendo of America Inc. and/or Nintendo 9 Company Ltd., and are protected by Federal copyright law. They may 10 not be disclosed to third parties or copied or duplicated in any form, 11 in whole or in part, without the prior written consent of Nintendo. 12 13 $Rev: 32251 $ 14 *---------------------------------------------------------------------------*/ 15 16 /*! 17 @file 18 :include nn/config.h 19 20 */ 21 22 #ifndef NN_CONFIG_PLATFORM_CAFE_H_ 23 #define NN_CONFIG_PLATFORM_CAFE_H_ 24 25 26 27 //! @addtogroup nn_config 28 //! @{ 29 30 //! @name Endianness 31 //! @{ 32 33 //--------------------------------------------------------------------------- 34 //! @brief Defines the platform's endianness. 35 //! 36 //! Takes the value defined for <tt>NN_ENDIAN_VALUE_BIG</tt> or <tt>NN_ENDIAN_VALUE_LITTLE</tt> depending on the endianness of the target platform. 37 //! 38 //! You can use this macro to create branching conditions for the preprocessor that compare against this value. This enables you to create compilation targets with different endianness. 39 //! 40 //--------------------------------------------------------------------------- 41 #define NN_ENDIAN NN_ENDIAN_VALUE_BIG 42 43 44 //--------------------------------------------------------------------------- 45 //! @brief Defines big endian. 46 //! 47 //! <tt>NN_ENDIAN</tt> takes this value when the target platform is big endian. 48 //! 49 //--------------------------------------------------------------------------- 50 #define NN_ENDIAN_VALUE_BIG 'B' 51 52 //--------------------------------------------------------------------------- 53 //! @brief Defines little endian. 54 //! 55 //! <tt>NN_ENDIAN</tt> takes this value when the target platform is big endian. 56 //! 57 //--------------------------------------------------------------------------- 58 #define NN_ENDIAN_VALUE_LITTLE 'L' 59 60 //! @} 61 62 //! @} 63 64 #ifdef IOP_BUILD 65 66 #define NN_PLATFORM_CAFE_IOS 67 #else 68 #define NN_PLATFORM_HAS_STANDARD_LIBC 69 #endif 70 71 #ifndef NN_SYSTEM_PROCESS 72 #define NN_SYSTEM_PROCESS 73 #endif 74 75 #if defined(NDEBUG) 76 #define NN_BUILD_RELEASE 77 #elif defined(DEBUG) 78 #define NN_BUILD_DEVELOPMENT 79 #else 80 #define NN_BUILD_DEBUG 81 #endif 82 83 #ifndef NN_DEBUG_PRINT 84 #define NN_DEBUG_PRINT false 85 #endif 86 87 #ifdef NN_BUILD_RELEASE 88 89 #if !NN_DEBUG_PRINT 90 91 #ifndef NN_SWITCH_DISABLE_DEBUG_PRINT 92 #define NN_SWITCH_DISABLE_DEBUG_PRINT 93 #endif 94 95 #ifndef NN_SWITCH_DISABLE_DEBUG_PRINT_FOR_SDK 96 #define NN_SWITCH_DISABLE_DEBUG_PRINT_FOR_SDK 97 #endif 98 99 #endif 100 101 #endif 102 103 /* NN_CONFIG_PLATFORM_CAFE_H_ */ 104 #endif 105