aboutsummaryrefslogtreecommitdiff
path: root/SrcShared/Palm/Platform/Incs/BuildDefines.h
blob: 3f0f17d40203b5e80f29836c41136f965b7ae5a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
/******************************************************************************
 *
 * Copyright (c) 1994-1999 Palm Computing, Inc. or its subsidiaries.
 * All rights reserved.
 *
 * File: BuildDefines.h
 *
 * Description:
 *		Build variable defines for Palm OS.
 *    
 *    This file is included by <BuildDefaults.h>.
 *		It should be included by any local component that wishes
 *		to override any system default compile-time switches.
 *		For more details, refer to <BuildDefaults.h>.
 *
 *    This file supercedes the old <BuildRules.h> file.
 *
 * History:
 *		07/16/99	SCL	So many changes the old history is obsolete.
 *		07/29/99	kwk	Deleted TEXT_SERVICES & INTERNATIONAL_MGR & VENDOR.
 *		10/04/99	grant	Added LOCALE definitions.
 *
 *****************************************************************************/

#ifndef 	__BUILDDEFINES_H__
#define	__BUILDDEFINES_H__


/************************************************************
 * Compilation Control Options
 *************************************************************/

// The makefile should set the define EMULATION_LEVEL to one of the following
//  constants:
#define	EMULATION_NONE			0		// native environment
#define	EMULATION_WINDOWS		1		// emulate on Windows
#define	EMULATION_DOS			2		// emulate on DOS
#define	EMULATION_MAC			3		// emulate on Macintosh
#define	EMULATION_UNIX			4		// emulate on Linux


// If emulation is not EMULATION_NONE, the following define controls
// whether we are talking to a touchdown device over the serial port,
// or if we are emulating a memory card in local RAM.
//
// The makefile should set the define MEMORY_TYPE to one of the following
//  constants
#define	MEMORY_LOCAL			0		// Emulate using local memory card image
#define	MEMORY_REMOTE			1		// Pass calls through serial port to the device


// The makefile should set the define ENVIRONMENT to one of the following:
#define	ENVIRONMENT_CW			0		// CodeWarrior compiler/linker (IDE or MPW)
#define	ENVIRONMENT_MPW		1		// Apple's MPW compiler/linker


// The makefile should set the define PLATFORM_TYPE to one of the following
//  constants:
#define	PLATFORM_VIEWER		0		// PalmPilot Viewer
#define	PLATFORM_SERVER		1		// Server code


// The makefile should set the define ERROR_CHECK_LEVEL to one of the 
//  following constants:
#define	ERROR_CHECK_NONE		0		// compile no error checking code
#define	ERROR_CHECK_PARTIAL	1		// display for fatal errors only
#define	ERROR_CHECK_FULL		2		// display fatal or non-fatal errors


// The makefile should set the define CPU_TYPE to one of the 
//  following constants:
#define	CPU_68K  				0		// Motorola 68K type
#define	CPU_x86  				1		// Intel x86 type
#ifndef PUBLIC_STUFF_STRIPPED
#define	CPU_PPC  				2		// Motorola/IBM PowerPC type
#define	CPU_ARM  				3		// ARM type
#endif // PUBLIC_STUFF_STRIPPED


#ifndef PUBLIC_STUFF_STRIPPED
// The makefile should set the define CPU_ENDIAN to one of the following:
// Note: its not just a define because some processors support both.
// If CPU_ENDIAN is not defined in the makefile then a default is set
// based on the CPU_TYPE.
#define  CPU_ENDIAN_BIG       0     // Big endian
#define  CPU_ENDIAN_LITTLE    1     // Little endian
#endif // PUBLIC_STUFF_STRIPPED


// The makefile should set the define MODEL to one of the
// following constants. This equate is currently only use by
//  special purpose applications like Setup that need to install different
//  files for each type of product. Normally, model dependent behavior
//  should be run-time based off of Features using FtrGet(). 
#define	MODEL_GENERIC			0		// Not one of the specific models that follow
#define	MODEL_ELEVEN			1		// Eleven (Palm Seven)
#define	MODEL_SUMO				2		// EZ product 


// The makefile should set the define MEMORY_FORCE_LOCK to one of the
// following.
#define	MEMORY_FORCE_LOCK_OFF	0	// Don't force all handles to be locked
#define	MEMORY_FORCE_LOCK_ON		1	// Force all handles to be locked before usage


// The makefile should set the define DEBUG_LEVEL to one of the
// following. THIS DEFINE IS ONLY USED BY A COUPLE MODULES SO WE
//  DON'T GIVE IT A DEFAULT VALUE BELOW...
// ANY MODULE THAT USES THIS DEFINE SHOULD VERIFY THAT IT IS DEFINED!!
#define	DEBUG_LEVEL_NONE			1	// None: Does not auto-launch Console or Debugger
#define	DEBUG_LEVEL_PARTIAL		2	// Partial: Auto-Launches Console but skips debugger
#define	DEBUG_LEVEL_FULL			3	// Full: Waits in debugger on reset


// The makefile should set the define DEFAULT_DATA to one of the following:
// Setting this define to USE_DEFAULT_DATA will cause the core apps to include default
// data in the build.
#define DO_NOT_USE_DEFAULT_DATA			0
#define USE_DEFAULT_DATA					1


// The makefile should set the define USER_MODE to one of the 
// following constants:
#define	USER_MODE_NORMAL			0	// normal operation
#define	USER_MODE_DEMO				1	// demo mode - Graffiti and pop-up keyboard disabled


// The makefile should set the define INTERNAL_COMMANDS to one of the 
// following constants:
#define	INTERNAL_COMMANDS_EXCLUDE		0
#define	INTERNAL_COMMANDS_INCLUDE		1	// Include internal shell commands


// The makefile should set the define INCLUDE_DES to one of the 
// following constants:
#define	INCLUDE_DES_OFF					0
#define	INCLUDE_DES_ON						1	// include it


// Used by Net Library to link in the CML encoder
#define	CML_ENCODER_OFF					0
#define	CML_ENCODER_ON						1


#ifndef PUBLIC_STUFF_STRIPPED
// The PalmOptLocale.h file defines LOCALE to be one of these.
// WARNING!!! Use of LOCALE implies non-international code and/or builds,
// which is a VERY BAD thing. LOCALE should ONLY be used as a last
// resort!!!!
#define LOCALE_enUS					0
#define LOCALE_deDE					1
#define LOCALE_esES					2
#define LOCALE_frFR					3
#define LOCALE_itIT					4
#define LOCALE_jpJP					5
#endif // PUBLIC_STUFF_STRIPPED


#endif