cartobase 6.0.6
zconfigd.h
Go to the documentation of this file.
1/* This software and supporting documentation are distributed by
2 * Institut Federatif de Recherche 49
3 * CEA/NeuroSpin, Batiment 145,
4 * 91191 Gif-sur-Yvette cedex
5 * France
6 *
7 * This software is governed by the CeCILL-B license under
8 * French law and abiding by the rules of distribution of free software.
9 * You can use, modify and/or redistribute the software under the
10 * terms of the CeCILL-B license as circulated by CEA, CNRS
11 * and INRIA at the following URL "http://www.cecill.info".
12 *
13 * As a counterpart to the access to the source code and rights to copy,
14 * modify and redistribute granted by the license, users are provided only
15 * with a limited warranty and the software's author, the holder of the
16 * economic rights, and the successive licensors have only limited
17 * liability.
18 *
19 * In this respect, the user's attention is drawn to the risks associated
20 * with loading, using, modifying and/or developing or reproducing the
21 * software by the user in light of its specific status of free software,
22 * that may mean that it is complicated to manipulate, and that also
23 * therefore means that it is reserved for developers and experienced
24 * professionals having in-depth computer knowledge. Users are therefore
25 * encouraged to load and test the software's suitability as regards their
26 * requirements in conditions enabling the security of their systems and/or
27 * data to be ensured and, more generally, to use and operate it in the
28 * same conditions as regards security.
29 *
30 * The fact that you are presently reading this means that you have had
31 * knowledge of the CeCILL-B license and that you accept its terms.
32 */
33
34#ifndef __zconfigd__
35#define __zconfigd__ 1
36
37// The flags are done as *defines* rather than enums or anything else because they may
38// be used in resource files, and they control the selection of source to compile.
39
40// Which compiler -- ZCONFIG_Compiler
41#define ZCONFIG_Compiler_CodeWarrior 1
42#define ZCONFIG_Compiler_MSVC 2
43#define ZCONFIG_Compiler_GCC 3
44
45// Which variant of the STL -- ZCONFIG_STL
46#define ZCONFIG_STL_Modena 1
47#define ZCONFIG_STL_Unknown 2
48
49// Which OS -- ZCONFIG_OS
50#define ZCONFIG_OS_MacOS7 1
51#define ZCONFIG_OS_Carbon 2
52#define ZCONFIG_OS_Win32 3
53#define ZCONFIG_OS_POSIX 4
54#define ZCONFIG_OS_Be 5
55
56// Which processor -- ZCONFIG_Processor
57#define ZCONFIG_Processor_68K 1
58#define ZCONFIG_Processor_PPC 2
59#define ZCONFIG_Processor_x86 3
60#define ZCONFIG_Processor_Sparc 4
61
62// Byte order -- ZCONFIG_Endian
63#define ZCONFIG_Endian_Big 1
64#define ZCONFIG_Endian_Little 2
65
66// ZCONFIG_API_Thread
67#define ZCONFIG_API_Thread_Unknown 0
68#define ZCONFIG_API_Thread_Mac 1
69#define ZCONFIG_API_Thread_Win32 2
70#define ZCONFIG_API_Thread_POSIX 3
71#define ZCONFIG_API_Thread_Be 4
72// There is also an on/off option, ZCONFIG_Fiber_ThreadManager, which is used to set which
73// threading implementation to use on Mac. By default it is set to one in zconfigl.h.
74// If you set it to zero we will use deferred task threading, and the standard
75// library will make appropriate use of locks to ensure thread safety. You'll have to
76// replace CodeWarrior's mutex.h header file with an edited version -- check the docs for details.
77
78
79// ZCONFIG_API_OSWindow
80#define ZCONFIG_API_OSWindow_Unknown 0
81#define ZCONFIG_API_OSWindow_Mac 1
82#define ZCONFIG_API_OSWindow_Win32 2
83#define ZCONFIG_API_OSWindow_X 3
84#define ZCONFIG_API_OSWindow_Be 4
85
86// ZCONFIG_API_Graphics
87// We support more than one graphics API simultaneously, so check for set bits *not* equivalence.
88#define ZCONFIG_API_Graphics_Unknown 0
89#define ZCONFIG_API_Graphics_QD 1
90#define ZCONFIG_API_Graphics_GDI 2
91#define ZCONFIG_API_Graphics_X 4
92#define ZCONFIG_API_Graphics_Be 8
93#define ZCONFIG_API_Graphics_Generic 128
94
95// ZCONFIG_API_File
96#define ZCONFIG_API_File_Unknown 0
97#define ZCONFIG_API_File_Mac 1
98#define ZCONFIG_API_File_Win32 2
99#define ZCONFIG_API_File_POSIX 3
100#define ZCONFIG_API_File_Be 4
101
102// ZCONFIG_API_Net
103// We support more than one net API simultaneously, so check for set bits *not* equivalence.
104#define ZCONFIG_API_Net_Unknown 0
105#define ZCONFIG_API_Net_MacClassic 1
106#define ZCONFIG_API_Net_MacOT 2
107#define ZCONFIG_API_Net_WinSock 4
108#define ZCONFIG_API_Net_Socket 8
109#define ZCONFIG_API_Net_BeSocket 16
110
111
112// Debugging
113// ZCONFIG_Debug can take on any value, but by convention use 0 for a non-debug build, 1 for light debugging, 2 for heavy.
114
115#endif // __zconfigd__