This commit was manufactured by cvs2svn to create branch 'captive'.
[reactos.git] / subsys / win32k / freetype / builds / unix / ftconfig.in
1 /***************************************************************************/
2 /*                                                                         */
3 /*  ftconfig.in                                                            */
4 /*                                                                         */
5 /*    UNIX-specific configuration file (specification only).               */
6 /*                                                                         */
7 /*  Copyright 1996-2000 by                                                 */
8 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9 /*                                                                         */
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.                                        */
15 /*                                                                         */
16 /***************************************************************************/
17
18
19   /*************************************************************************/
20   /*                                                                       */
21   /* This header file contains a number of macro definitions that are used */
22   /* by the rest of the engine.  Most of the macros here are automatically */
23   /* determined at compile time, and you should not need to change it to   */
24   /* port FreeType, except to compile the library with a non-ANSI          */
25   /* compiler.                                                             */
26   /*                                                                       */
27   /* Note however that if some specific modifications are needed, we       */
28   /* advise you to place a modified copy in your build directory.          */
29   /*                                                                       */
30   /* The build directory is usually `freetype/builds/<system>', and        */
31   /* contains system-specific files that are always included first when    */
32   /* building the library.                                                 */
33   /*                                                                       */
34   /*************************************************************************/
35
36
37 #ifndef FTCONFIG_H
38 #define FTCONFIG_H
39
40
41   /* Include the header file containing all developer build options */
42 #include <freetype/config/ftoption.h>
43
44
45   /*************************************************************************/
46   /*                                                                       */
47   /*               PLATFORM-SPECIFIC CONFIGURATION MACROS                  */
48   /*                                                                       */
49   /* These macros can be toggled to suit a specific system.  The current   */
50   /* ones are defaults used to compile FreeType in an ANSI C environment   */
51   /* (16bit compilers are also supported).  Copy this file to your own     */
52   /* `freetype/builds/<system>' directory, and edit it to port the engine. */
53   /*                                                                       */
54   /*************************************************************************/
55
56
57 #define HAVE_UNISTD_H  0
58 #define HAVE_FCNTL_H   0
59
60 #define SIZEOF_INT   2
61 #define SIZEOF_LONG  2
62
63
64 #define FT_SIZEOF_INT   SIZEOF_INT
65 #define FT_SIZEOF_LONG  SIZEOF_LONG
66
67
68   /* Preferred alignment of data */
69 #define FT_ALIGNMENT  8
70
71
72   /* UNUSED is a macro used to indicate that a given parameter is not used */
73   /* -- this is only used to get rid of unpleasant compiler warnings       */
74 #ifndef FT_UNUSED
75 #define FT_UNUSED( arg )  ( (arg) = (arg) )
76 #endif
77
78
79   /*************************************************************************/
80   /*                                                                       */
81   /*                     AUTOMATIC CONFIGURATION MACROS                    */
82   /*                                                                       */
83   /* These macros are computed from the ones defined above.  Don't touch   */
84   /* their definition, unless you know precisely what you are doing.  No   */
85   /* porter should need to mess with them.                                 */
86   /*                                                                       */
87   /*************************************************************************/
88
89
90   /*************************************************************************/
91   /*                                                                       */
92   /* IntN types                                                            */
93   /*                                                                       */
94   /*   Used to guarantee the size of some specific integers.               */
95   /*                                                                       */
96   typedef signed short    FT_Int16;
97   typedef unsigned short  FT_UInt16;
98
99 #if FT_SIZEOF_INT == 4
100
101   typedef signed int      FT_Int32;
102   typedef unsigned int    FT_UInt32;
103
104 #elif FT_SIZEOF_LONG == 4
105
106   typedef signed long     FT_Int32;
107   typedef unsigned long   FT_UInt32;
108
109 #else
110 #error "no 32bit type found -- please check your configuration files"
111 #endif
112
113 #if FT_SIZEOF_LONG == 8
114
115   /* FT_LONG64 must be defined if a 64-bit type is available */
116 #define FT_LONG64
117 #define FT_INT64   long
118
119 #else
120
121
122   /*************************************************************************/
123   /*                                                                       */
124   /* Many compilers provide the non-ANSI `long long' 64-bit type.  You can */
125   /* activate it by defining the FTCALC_USE_LONG_LONG macro in             */
126   /* `ftoption.h'.                                                         */
127   /*                                                                       */
128   /* Note that this will produce many -ansi warnings during library        */
129   /* compilation, and that in many cases,  the generated code will be      */
130   /* neither smaller nor faster!                                           */
131   /*                                                                       */
132 #ifdef FTCALC_USE_LONG_LONG
133
134 #define FT_LONG64
135 #define FT_INT64   long long
136
137 #endif /* FTCALC_USE_LONG_LONG */
138 #endif /* FT_SIZEOF_LONG == 8 */
139
140
141 #ifdef FT_MAKE_OPTION_SINGLE_OBJECT
142 #define  LOCAL_DEF   static
143 #define  LOCAL_FUNC  static
144 #else
145 #define  LOCAL_DEF   extern
146 #define  LOCAL_FUNC  /* nothing */
147 #endif
148
149 #ifdef FT_MAKE_OPTION_SINGLE_LIBRARY_OBJECT
150 #define  BASE_DEF( x )   static  x
151 #define  BASE_FUNC( x )  static  x
152 #else
153 #define  BASE_DEF( x )   extern  x
154 #define  BASE_FUNC( x )  extern  x
155 #endif
156
157 #ifndef  FT_EXPORT_DEF
158 #define  FT_EXPORT_DEF( x )   extern  x
159 #endif
160
161 #ifndef  FT_EXPORT_FUNC
162 #define  FT_EXPORT_FUNC( x )  extern  x
163 #endif
164
165 #ifndef  FT_EXPORT_VAR
166 #define  FT_EXPORT_VAR( x )   extern  x
167 #endif
168
169 #endif /* FTCONFIG_H */
170
171
172 /* END */