GnuCash  2.6.99
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
platform.h
1 /********************************************************************\
2  * This program is free software; you can redistribute it and/or *
3  * modify it under the terms of the GNU General Public License as *
4  * published by the Free Software Foundation; either version 2 of *
5  * the License, or (at your option) any later version. *
6  * *
7  * This program is distributed in the hope that it will be useful, *
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
10  * GNU General Public License for more details. *
11  * *
12  * You should have received a copy of the GNU General Public License*
13  * along with this program; if not, contact: *
14  * *
15  * Free Software Foundation Voice: +1-617-542-5942 *
16  * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
17  * Boston, MA 02110-1301, USA [email protected] *
18  * *
19 \********************************************************************/
20 
21 #ifndef GNC_PLATFORM_H
22 #define GNC_PLATFORM_H
23 
24 #include "config.h"
25 
26 /* PLATFORM handles OS, operating environment, graphics API, and CPU */
27 #define PLATFORM(GNC_FEATURE) (defined( GNC_PLATFORM_##GNC_FEATURE ) && GNC_PLATFORM_##GNC_FEATURE)
28 #define COMPILER(GNC_FEATURE) (defined( GNC_COMPILER_##GNC_FEATURE ) && GNC_COMPILER_##GNC_FEATURE)
29 #define HAVE(GNC_FEATURE) (defined( HAVE_##GNC_FEATURE ) && HAVE_##GNC_FEATURE)
30 #define USE(GNC_FEATURE) (defined( GNC_USE_##GNC_FEATURE ) && GNC_USE_##GNC_FEATURE)
31 #define ENABLE(GNC_FEATURE) (defined( ENABLE_##GNC_FEATURE ) && ENABLE_##GNC_FEATURE)
32 
33 /* Operating systems - low-level dependencies */
34 
35 /* Operating environments */
36 
37 /* Graphics engines */
38 
39 /* CPU */
40 
41 /* Compiler */
42 
43 /* COMPILER(MSVC) */
44 #if defined(_MSC_VER)
45 #define GNC_COMPILER_MSVC 1
46 #if _MSC_VER < 1400
47 #define GNC_COMPILER_MSVC7 1
48 #endif
49 #endif
50 
51 /* COMPILER(RVCT) */
52 #if defined(__CC_ARM) || defined(__ARMCC__)
53 #define GNC_COMPILER_RVCT 1
54 #endif
55 
56 /* COMPILER(GCC) */
57 /* --gnu option of the RVCT compiler also defines __GNUC__ */
58 #if defined(__GNUC__) && !COMPILER(RVCT)
59 #define GNC_COMPILER_GCC 1
60 #endif
61 
62 /* COMPILER(MINGW) */
63 #if defined(MINGW) || defined(__MINGW32__)
64 #define GNC_COMPILER_MINGW 1
65 #endif
66 
67 /* ENABLE macro defaults */
68 
69 #endif /* GNC_PLATFORM_H */