1 /*---------------------------------------------------------------------------*
2 Project: Horizon
3 File: CTR.h
4 
5 Copyright (C) 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