contrib/OWB: add correct SDL dependency, fix compilers used
[AROS-Contrib.git] / freetype1 / lib / arch / os2 / ft_conf.h
blobc7026c711e28621836b58017480c3b98ed2427cb
1 /*******************************************************************
3 * ft_conf.h (OS/2 version)
5 * High-level interface specification.
7 * Copyright 1996-1998 by
8 * David Turner, Robert Wilhelm, and Werner Lemberg.
10 * This file is part of the FreeType project and may only be used,
11 * modified, and distributed under the terms of the FreeType project
12 * license, LICENSE.TXT. By continuing to use, modify, or distribute
13 * this file you indicate that you have read the license and
14 * understand and accept it fully.
17 * This file is used to contain the definition of several
18 * configuration-specific macros.
20 ******************************************************************/
22 /* we need the following because there are some typedefs in this file */
24 #ifndef FT_CONF_H
25 #define FT_CONF_H
28 /**********************************************************************/
29 /* */
30 /* We begin by a series of macros that are automatically set by the */
31 /* 'configure' script on Unix. They must be set manually on OS/2, */
32 /* so here they are : */
33 /* */
34 /**********************************************************************/
36 #define OS2
38 /* Define to empty if the keyword "const" does not work. */
39 /* #undef const */
41 /* The number of bytes in a int. */
42 #define SIZEOF_INT 4
44 /* The number of bytes in a long. */
45 #define SIZEOF_LONG 4
47 /* Define if you have the memcpy function. */
48 #define HAVE_MEMCPY
50 /* Define if you have the memmove function. */
51 #define HAVE_MEMMOVE
53 /* Define if you have the <stdlib.h> header file. */
54 #define HAVE_STDLIB_H
56 /* Define if you have the <fcntl.h> header file. */
57 #undef HAVE_FCNTL_H
59 /* Define if you have the <unistd.h> header file. */
60 #undef HAVE_UNISTD_H
62 /* Define if you need <conio.h> for console I/O functions. */
63 #if defined(__EMX__) || defined(__IBMC__)
64 #define HAVE_CONIO_H
65 #endif
67 /* Define if you have the valloc function. */
68 #undef HAVE_VALLOC
70 /* Define if you have the getpagesize function. */
71 #undef HAVE_GETPAGESIZE
73 /* Define if you have a working `mmap' system call. */
74 #undef HAVE_MMAP
76 /**********************************************************************/
77 /* */
78 /* The following configuration macros can be tweaked manually by */
79 /* a developer to turn on or off certain features or options in the */
80 /* TrueType engine. This may be useful to tune it for specific */
81 /* purposes.. */
82 /* */
83 /**********************************************************************/
86 /*************************************************************************/
87 /* Define this if the underlying operating system uses a different */
88 /* character width than 8bit for file names. You must then also supply */
89 /* a typedef declaration for defining 'TT_Text'. Default is off. */
91 /* #define HAVE_TT_TEXT */
94 /*************************************************************************/
95 /* Define this if you want to generate code to support engine extensions */
96 /* Default is on, but if you're satisfied by the basic services provided */
97 /* by the engine and need no extensions, undefine this configuration */
98 /* macro to save a few more bytes. */
100 #define TT_CONFIG_OPTION_EXTEND_ENGINE
103 /*************************************************************************/
104 /* Define this if you want to generate code to support gray-scaling, */
105 /* a.k.a. font-smoothing or anti-aliasing. Default is on, but you can */
106 /* disable it if you don't need it. */
108 #define TT_CONFIG_OPTION_GRAY_SCALING
111 /*************************************************************************/
112 /* Define this if you want to completely disable the use of the bytecode */
113 /* interpreter. Doing so will produce a much smaller library, but the */
114 /* quality of the rendered glyphs will enormously suffer from this. */
115 /* */
116 /* This switch was introduced due to the Apple patents issue which */
117 /* emerged recently on the FreeType lists. We still do not have Apple's */
118 /* opinion on the subject and will change this as soon as we have. */
120 #undef TT_CONFIG_OPTION_NO_INTERPRETER
123 /*************************************************************************/
124 /* Define this if you want to use a big 'switch' statement within the */
125 /* bytecode interpreter. Because some non-optimizing compilers are not */
126 /* able to produce jump tables from such statements, undefining this */
127 /* configuration macro will generate the appropriate C jump table in */
128 /* ttinterp.c. If you use an optimizing compiler, you should leave it */
129 /* defined for better performance and code compactness.. */
131 #define TT_CONFIG_OPTION_INTERPRETER_SWITCH
134 /*************************************************************************/
135 /* Define this if you want to build a 'static' version of the TrueType */
136 /* bytecode interpreter. This will produce much bigger code, which */
137 /* _may_ be faster on some architectures.. */
138 /* */
139 /* Do NOT DEFINE THIS is you build a thread-safe version of the engine */
140 /* */
141 #undef TT_CONFIG_OPTION_STATIC_INTERPRETER
144 /*************************************************************************/
145 /* Define this if you want to build a 'static' version of the scan-line */
146 /* converter (the component which in charge of converting outlines into */
147 /* bitmaps). This will produce a bigger object file for "ttraster.c", */
148 /* which _may_ be faster on some architectures.. */
149 /* */
150 /* Do NOT DEFINE THIS is you build a thread-safe version of the engine */
151 /* */
152 #undef TT_CONFIG_OPTION_STATIC_RASTER
156 /*************************************************************************/
157 /* Define TT_CONFIG_THREAD_SAFE if you want to build a thread-safe */
158 /* version of the library. */
160 #undef TT_CONFIG_OPTION_THREAD_SAFE
163 /**********************************************************************/
164 /* */
165 /* The following macros are used to define the debug level, as well */
166 /* as individual tracing levels for each component. There are */
167 /* currently three modes of operation : */
168 /* */
169 /* - trace mode (define DEBUG_LEVEL_TRACE) */
170 /* */
171 /* The engine prints all error messages, as well as tracing */
172 /* ones, filtered by each component's level */
173 /* */
174 /* - debug mode (define DEBUG_LEVEL_ERROR) */
175 /* */
176 /* Disable tracing, but keeps error output and assertion */
177 /* checks. */
178 /* */
179 /* - release mode (don't define anything) */
180 /* */
181 /* Don't include error-checking or tracing code in the */
182 /* engine's code. Ideal for releases. */
183 /* */
184 /* NOTE : */
185 /* */
186 /* Each component's tracing level is defined in its own source. */
187 /* */
188 /**********************************************************************/
190 /* Define if you want to use the tracing debug mode */
191 #undef DEBUG_LEVEL_TRACE
193 /* Define if you want to use the error debug mode - ignored if */
194 /* DEBUG_LEVEL_TRACE is defined */
195 #undef DEBUG_LEVEL_ERROR
198 /**************************************************************************/
199 /* Definition of various integer sizes. These types are used by ttcalc */
200 /* and ttinterp (for the 64-bit integers) only.. */
202 #if SIZEOF_INT == 4
204 typedef signed int TT_Int32;
205 typedef unsigned int TT_Word32;
207 #elif SIZEOF_LONG == 4
209 typedef signed long TT_Int32;
210 typedef unsigned long TT_Word32;
212 #else
213 #error "no 32bit type found"
214 #endif
216 #if SIZEOF_LONG == 8
218 /* LONG64 must be defined when a 64-bit type is available */
219 /* INT64 must then be defined to this type.. */
220 #define LONG64
221 #define INT64 long
223 #else
225 /* GCC provides the non-ANSI 'long long' 64-bit type. You can activate */
226 /* by defining the TT_USE_LONG_LONG macro in 'ft_conf.h'. Note that this */
227 /* will produce many -ansi warnings during library compilation. */
228 #ifdef TT_USE_LONG_LONG
230 #define LONG64
231 #define INT64 long long
233 #endif /* TT_USE_LONG_LONG */
234 #endif
236 #endif /* FT_CONF_H */
239 /* END */