Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: third_party/freetype2/include/ftconfig.h

Issue 2300973002: NOT FOR LANDING Update FreeType to upstream 57a6733dcf7828fe3db9254edab33fda7c9f6a10. (Closed)
Patch Set: Rebase, see trybot results again Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/freetype2/freetype2.patch ('k') | third_party/freetype2/include/ftmodule.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* ftconfig.h. Generated from ftconfig.in by configure. */ 1 /* ftconfig.h. Generated from ftconfig.in by configure. */
2 /***************************************************************************/ 2 /***************************************************************************/
3 /* */ 3 /* */
4 /* ftconfig.in */ 4 /* ftconfig.in */
5 /* */ 5 /* */
6 /* UNIX-specific configuration file (specification only). */ 6 /* UNIX-specific configuration file (specification only). */
7 /* */ 7 /* */
8 /* Copyright 1996-2004, 2006-2009, 2011 by */ 8 /* Copyright 1996-2016 by */
9 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
10 /* */ 10 /* */
11 /* This file is part of the FreeType project, and may only be used, */ 11 /* This file is part of the FreeType project, and may only be used, */
12 /* modified, and distributed under the terms of the FreeType project */ 12 /* modified, and distributed under the terms of the FreeType project */
13 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
14 /* this file you indicate that you have read the license and */ 14 /* this file you indicate that you have read the license and */
15 /* understand and accept it fully. */ 15 /* understand and accept it fully. */
16 /* */ 16 /* */
17 /***************************************************************************/ 17 /***************************************************************************/
18 18
19 19
20 /*************************************************************************/ 20 /*************************************************************************/
21 /* */ 21 /* */
22 /* This header file contains a number of macro definitions that are used */ 22 /* This header file contains a number of macro definitions that are used */
23 /* by the rest of the engine. Most of the macros here are automatically */ 23 /* by the rest of the engine. Most of the macros here are automatically */
24 /* determined at compile time, and you should not need to change it to */ 24 /* determined at compile time, and you should not need to change it to */
25 /* port FreeType, except to compile the library with a non-ANSI */ 25 /* port FreeType, except to compile the library with a non-ANSI */
26 /* compiler. */ 26 /* compiler. */
27 /* */ 27 /* */
28 /* Note however that if some specific modifications are needed, we */ 28 /* Note however that if some specific modifications are needed, we */
29 /* advise you to place a modified copy in your build directory. */ 29 /* advise you to place a modified copy in your build directory. */
30 /* */ 30 /* */
31 /* The build directory is usually `freetype/builds/<system>', and */ 31 /* The build directory is usually `builds/<system>', and contains */
32 /* contains system-specific files that are always included first when */ 32 /* system-specific files that are always included first when building */
33 /* building the library. */ 33 /* the library. */
34 /* */ 34 /* */
35 /*************************************************************************/ 35 /*************************************************************************/
36 36
37 37
38 #ifndef __FTCONFIG_H__ 38 #ifndef FTCONFIG_H_
39 #define __FTCONFIG_H__ 39 #define FTCONFIG_H_
40 40
41 #include <ft2build.h> 41 #include <ft2build.h>
42 #include FT_CONFIG_OPTIONS_H 42 #include FT_CONFIG_OPTIONS_H
43 #include FT_CONFIG_STANDARD_LIBRARY_H 43 #include FT_CONFIG_STANDARD_LIBRARY_H
44 44
45 45
46 FT_BEGIN_HEADER 46 FT_BEGIN_HEADER
47 47
48 48
49 /*************************************************************************/ 49 /*************************************************************************/
50 /* */ 50 /* */
51 /* PLATFORM-SPECIFIC CONFIGURATION MACROS */ 51 /* PLATFORM-SPECIFIC CONFIGURATION MACROS */
52 /* */ 52 /* */
53 /* These macros can be toggled to suit a specific system. The current */ 53 /* These macros can be toggled to suit a specific system. The current */
54 /* ones are defaults used to compile FreeType in an ANSI C environment */ 54 /* ones are defaults used to compile FreeType in an ANSI C environment */
55 /* (16bit compilers are also supported). Copy this file to your own */ 55 /* (16bit compilers are also supported). Copy this file to your own */
56 /* `freetype/builds/<system>' directory, and edit it to port the engine. */ 56 /* `builds/<system>' directory, and edit it to port the engine. */
57 /* */ 57 /* */
58 /*************************************************************************/ 58 /*************************************************************************/
59 59
60 60
61 #define HAVE_UNISTD_H 1 61 #define HAVE_UNISTD_H 1
62 #define HAVE_FCNTL_H 1 62 #define HAVE_FCNTL_H 1
63 #define HAVE_STDINT_H 1 63 #define HAVE_STDINT_H 1
64 64
65 65
66 /* There are systems (like the Texas Instruments 'C54x) where a `char' */ 66 /* There are systems (like the Texas Instruments 'C54x) where a `char' */
(...skipping 16 matching lines...) Expand all
83 #define SIZEOF_LONG 8 83 #define SIZEOF_LONG 8
84 #define FT_SIZEOF_INT SIZEOF_INT 84 #define FT_SIZEOF_INT SIZEOF_INT
85 #define FT_SIZEOF_LONG SIZEOF_LONG 85 #define FT_SIZEOF_LONG SIZEOF_LONG
86 86
87 #else /* !FT_USE_AUTOCONF_SIZEOF_TYPES */ 87 #else /* !FT_USE_AUTOCONF_SIZEOF_TYPES */
88 88
89 /* Following cpp computation of the bit length of int and long */ 89 /* Following cpp computation of the bit length of int and long */
90 /* is copied from default include/freetype/config/ftconfig.h. */ 90 /* is copied from default include/freetype/config/ftconfig.h. */
91 /* If any improvement is required for this file, it should be */ 91 /* If any improvement is required for this file, it should be */
92 /* applied to the original header file for the builders that */ 92 /* applied to the original header file for the builders that */
93 /* does not use configure script. */ 93 /* do not use configure script. */
94 94
95 /* The size of an `int' type. */ 95 /* The size of an `int' type. */
96 #if FT_UINT_MAX == 0xFFFFUL 96 #if FT_UINT_MAX == 0xFFFFUL
97 #define FT_SIZEOF_INT (16 / FT_CHAR_BIT) 97 #define FT_SIZEOF_INT (16 / FT_CHAR_BIT)
98 #elif FT_UINT_MAX == 0xFFFFFFFFUL 98 #elif FT_UINT_MAX == 0xFFFFFFFFUL
99 #define FT_SIZEOF_INT (32 / FT_CHAR_BIT) 99 #define FT_SIZEOF_INT (32 / FT_CHAR_BIT)
100 #elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL 100 #elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL
101 #define FT_SIZEOF_INT (64 / FT_CHAR_BIT) 101 #define FT_SIZEOF_INT (64 / FT_CHAR_BIT)
102 #else 102 #else
103 #error "Unsupported size of `int' type!" 103 #error "Unsupported size of `int' type!"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 /*************************************************************************/ 136 /*************************************************************************/
137 137
138 138
139 /*************************************************************************/ 139 /*************************************************************************/
140 /* */ 140 /* */
141 /* Mac support */ 141 /* Mac support */
142 /* */ 142 /* */
143 /* This is the only necessary change, so it is defined here instead */ 143 /* This is the only necessary change, so it is defined here instead */
144 /* providing a new configuration file. */ 144 /* providing a new configuration file. */
145 /* */ 145 /* */
146 #if ( defined( __APPLE__ ) && !defined( DARWIN_NO_CARBON ) ) || \ 146 #if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) )
147 ( defined( __MWERKS__ ) && defined( macintosh ) )
148 /* no Carbon frameworks for 64bit 10.4.x */ 147 /* no Carbon frameworks for 64bit 10.4.x */
149 /* AvailabilityMacros.h is available since Mac OS X 10.2, */ 148 /* AvailabilityMacros.h is available since Mac OS X 10.2, */
150 /* so guess the system version by maximum errno before inclusion */ 149 /* so guess the system version by maximum errno before inclusion */
151 #include <errno.h> 150 #include <errno.h>
152 #ifdef ECANCELED /* defined since 10.2 */ 151 #ifdef ECANCELED /* defined since 10.2 */
153 #include "AvailabilityMacros.h" 152 #include "AvailabilityMacros.h"
154 #endif 153 #endif
155 #if defined( __LP64__ ) && \ 154 #if defined( __LP64__ ) && \
156 ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 ) 155 ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
157 #define DARWIN_NO_CARBON 1 156 #undef FT_MACINTOSH
158 #else
159 #define FT_MACINTOSH 1
160 #endif 157 #endif
161 158
162 #elif defined( __SC__ ) || defined( __MRC__ ) 159 #elif defined( __SC__ ) || defined( __MRC__ )
163 /* Classic MacOS compilers */ 160 /* Classic MacOS compilers */
164 #include "ConditionalMacros.h" 161 #include "ConditionalMacros.h"
165 #if TARGET_OS_MAC 162 #if TARGET_OS_MAC
166 #define FT_MACINTOSH 1 163 #define FT_MACINTOSH 1
167 #endif 164 #endif
168 165
169 #endif 166 #endif
170 167
171 168
172 /* Fix compiler warning with sgi compiler */ 169 /* Fix compiler warning with sgi compiler */
173 #if defined( __sgi ) && !defined( __GNUC__ ) 170 #if defined( __sgi ) && !defined( __GNUC__ )
174 #if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 ) 171 #if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 )
175 #pragma set woff 3505 172 #pragma set woff 3505
176 #endif 173 #endif
177 #endif 174 #endif
178 175
179 176
180 /*************************************************************************/ 177 /*************************************************************************/
181 /* */ 178 /* */
182 /* IntN types */ 179 /* <Section> */
180 /* basic_types */
183 /* */ 181 /* */
184 /* Used to guarantee the size of some specific integers. */ 182 /*************************************************************************/
183
184
185 /*************************************************************************/
185 /* */ 186 /* */
186 typedef signed short FT_Int16; 187 /* <Type> */
188 /* FT_Int16 */
189 /* */
190 /* <Description> */
191 /* A typedef for a 16bit signed integer type. */
192 /* */
193 typedef signed short FT_Int16;
194
195
196 /*************************************************************************/
197 /* */
198 /* <Type> */
199 /* FT_UInt16 */
200 /* */
201 /* <Description> */
202 /* A typedef for a 16bit unsigned integer type. */
203 /* */
187 typedef unsigned short FT_UInt16; 204 typedef unsigned short FT_UInt16;
188 205
206 /* */
207
208
209 /* this #if 0 ... #endif clause is for documentation purposes */
210 #if 0
211
212 /*************************************************************************/
213 /* */
214 /* <Type> */
215 /* FT_Int32 */
216 /* */
217 /* <Description> */
218 /* A typedef for a 32bit signed integer type. The size depends on */
219 /* the configuration. */
220 /* */
221 typedef signed XXX FT_Int32;
222
223
224 /*************************************************************************/
225 /* */
226 /* <Type> */
227 /* FT_UInt32 */
228 /* */
229 /* A typedef for a 32bit unsigned integer type. The size depends on */
230 /* the configuration. */
231 /* */
232 typedef unsigned XXX FT_UInt32;
233
234
235 /*************************************************************************/
236 /* */
237 /* <Type> */
238 /* FT_Int64 */
239 /* */
240 /* A typedef for a 64bit signed integer type. The size depends on */
241 /* the configuration. Only defined if there is real 64bit support; */
242 /* otherwise, it gets emulated with a structure (if necessary). */
243 /* */
244 typedef signed XXX FT_Int64;
245
246
247 /*************************************************************************/
248 /* */
249 /* <Type> */
250 /* FT_UInt64 */
251 /* */
252 /* A typedef for a 64bit unsigned integer type. The size depends on */
253 /* the configuration. Only defined if there is real 64bit support; */
254 /* otherwise, it gets emulated with a structure (if necessary). */
255 /* */
256 typedef unsigned XXX FT_UInt64;
257
258 /* */
259
260 #endif
261
189 #if FT_SIZEOF_INT == 4 262 #if FT_SIZEOF_INT == 4
190 263
191 typedef signed int FT_Int32; 264 typedef signed int FT_Int32;
192 typedef unsigned int FT_UInt32; 265 typedef unsigned int FT_UInt32;
193 266
194 #elif FT_SIZEOF_LONG == 4 267 #elif FT_SIZEOF_LONG == 4
195 268
196 typedef signed long FT_Int32; 269 typedef signed long FT_Int32;
197 typedef unsigned long FT_UInt32; 270 typedef unsigned long FT_UInt32;
198 271
(...skipping 15 matching lines...) Expand all
214 287
215 #endif 288 #endif
216 289
217 290
218 /* determine whether we have a 64-bit int type for platforms without */ 291 /* determine whether we have a 64-bit int type for platforms without */
219 /* Autoconf */ 292 /* Autoconf */
220 #if FT_SIZEOF_LONG == 8 293 #if FT_SIZEOF_LONG == 8
221 294
222 /* FT_LONG64 must be defined if a 64-bit type is available */ 295 /* FT_LONG64 must be defined if a 64-bit type is available */
223 #define FT_LONG64 296 #define FT_LONG64
224 #define FT_INT64 long 297 #define FT_INT64 long
298 #define FT_UINT64 unsigned long
299
300 /*************************************************************************/
301 /* */
302 /* A 64-bit data type may create compilation problems if you compile */
303 /* in strict ANSI mode. To avoid them, we disable other 64-bit data */
304 /* types if __STDC__ is defined. You can however ignore this rule */
305 /* by defining the FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */
306 /* */
307 #elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 )
308
309 #if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
310
311 #define FT_LONG64
312 #define FT_INT64 long long int
313 #define FT_UINT64 unsigned long long int
225 314
226 #elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */ 315 #elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */
227 316
228 /* this compiler provides the __int64 type */ 317 /* this compiler provides the __int64 type */
229 #define FT_LONG64 318 #define FT_LONG64
230 #define FT_INT64 __int64 319 #define FT_INT64 __int64
320 #define FT_UINT64 unsigned __int64
231 321
232 #elif defined( __BORLANDC__ ) /* Borland C++ */ 322 #elif defined( __BORLANDC__ ) /* Borland C++ */
233 323
234 /* XXXX: We should probably check the value of __BORLANDC__ in order */ 324 /* XXXX: We should probably check the value of __BORLANDC__ in order */
235 /* to test the compiler version. */ 325 /* to test the compiler version. */
236 326
237 /* this compiler provides the __int64 type */ 327 /* this compiler provides the __int64 type */
238 #define FT_LONG64 328 #define FT_LONG64
239 #define FT_INT64 __int64 329 #define FT_INT64 __int64
330 #define FT_UINT64 unsigned __int64
240 331
241 #elif defined( __WATCOMC__ ) /* Watcom C++ */ 332 #elif defined( __WATCOMC__ ) /* Watcom C++ */
242 333
243 /* Watcom doesn't provide 64-bit data types */ 334 /* Watcom doesn't provide 64-bit data types */
244 335
245 #elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */ 336 #elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */
246 337
247 #define FT_LONG64 338 #define FT_LONG64
248 #define FT_INT64 long long int 339 #define FT_INT64 long long int
340 #define FT_UINT64 unsigned long long int
249 341
250 #elif defined( __GNUC__ ) 342 #elif defined( __GNUC__ )
251 343
252 /* GCC provides the `long long' type */ 344 /* GCC provides the `long long' type */
253 #define FT_LONG64 345 #define FT_LONG64
254 #define FT_INT64 long long int 346 #define FT_INT64 long long int
347 #define FT_UINT64 unsigned long long int
348
349 #endif /* __STDC_VERSION__ >= 199901L */
255 350
256 #endif /* FT_SIZEOF_LONG == 8 */ 351 #endif /* FT_SIZEOF_LONG == 8 */
257 352
353 #ifdef FT_LONG64
354 typedef FT_INT64 FT_Int64;
355 typedef FT_UINT64 FT_UInt64;
356 #endif
357
258 358
259 /*************************************************************************/ 359 /*************************************************************************/
260 /* */ 360 /* */
261 /* A 64-bit data type will create compilation problems if you compile */ 361 /* miscellaneous */
262 /* in strict ANSI mode. To avoid them, we disable its use if __STDC__ */
263 /* is defined. You can however ignore this rule by defining the */
264 /* FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */
265 /* */ 362 /* */
266 #if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 ) 363 /*************************************************************************/
267
268 #ifdef __STDC__
269
270 /* Undefine the 64-bit macros in strict ANSI compilation mode. */
271 /* Since `#undef' doesn't survive in configuration header files */
272 /* we use the postprocessing facility of AC_CONFIG_HEADERS to */
273 /* replace the leading `/' with `#'. */
274 #undef FT_LONG64
275 #undef FT_INT64
276
277 #endif /* __STDC__ */
278
279 #endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */
280 364
281 365
282 #define FT_BEGIN_STMNT do { 366 #define FT_BEGIN_STMNT do {
283 #define FT_END_STMNT } while ( 0 ) 367 #define FT_END_STMNT } while ( 0 )
284 #define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT 368 #define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
285 369
286 370
287 #ifndef FT_CONFIG_OPTION_NO_ASSEMBLER 371 /* typeof condition taken from gnulib's `intprops.h' header file */
288 /* Provide assembler fragments for performance-critical functions. */ 372 #if ( __GNUC__ >= 2 || \
289 /* These must be defined `static __inline__' with GCC. */ 373 defined( __IBM__TYPEOF__ ) || \
290 374 ( __SUNPRO_C >= 0x5110 && !__STDC__ ) )
291 #if defined( __CC_ARM ) || defined( __ARMCC__ ) /* RVCT */ 375 #define FT_TYPEOF( type ) (__typeof__ (type))
292 #define FT_MULFIX_ASSEMBLER FT_MulFix_arm 376 #else
293 377 #define FT_TYPEOF( type ) /* empty */
294 /* documentation is in freetype.h */
295
296 static __inline FT_Int32
297 FT_MulFix_arm( FT_Int32 a,
298 FT_Int32 b )
299 {
300 register FT_Int32 t, t2;
301
302
303 __asm
304 {
305 smull t2, t, b, a /* (lo=t2,hi=t) = a*b */
306 mov a, t, asr #31 /* a = (hi >> 31) */
307 add a, a, #0x8000 /* a += 0x8000 */
308 adds t2, t2, a /* t2 += a */
309 adc t, t, #0 /* t += carry */
310 mov a, t2, lsr #16 /* a = t2 >> 16 */
311 orr a, a, t, lsl #16 /* a |= t << 16 */
312 }
313 return a;
314 }
315
316 #endif /* __CC_ARM || __ARMCC__ */
317
318
319 #ifdef __GNUC__
320
321 #if defined( __arm__ ) && !defined( __thumb__ ) && \
322 !( defined( __CC_ARM ) || defined( __ARMCC__ ) )
323 #define FT_MULFIX_ASSEMBLER FT_MulFix_arm
324
325 /* documentation is in freetype.h */
326
327 static __inline__ FT_Int32
328 FT_MulFix_arm( FT_Int32 a,
329 FT_Int32 b )
330 {
331 register FT_Int32 t, t2;
332
333
334 __asm__ __volatile__ (
335 "smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */
336 "mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */
337 "add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */
338 "adds %1, %1, %0\n\t" /* %1 += %0 */
339 "adc %2, %2, #0\n\t" /* %2 += carry */
340 "mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */
341 "orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */
342 : "=r"(a), "=&r"(t2), "=&r"(t)
343 : "r"(a), "r"(b) );
344 return a;
345 }
346
347 #endif /* __arm__ && !__thumb__ && !( __CC_ARM || __ARMCC__ ) */
348
349 #if defined( __i386__ )
350 #define FT_MULFIX_ASSEMBLER FT_MulFix_i386
351
352 /* documentation is in freetype.h */
353
354 static __inline__ FT_Int32
355 FT_MulFix_i386( FT_Int32 a,
356 FT_Int32 b )
357 {
358 register FT_Int32 result;
359
360
361 __asm__ __volatile__ (
362 "imul %%edx\n"
363 "movl %%edx, %%ecx\n"
364 "sarl $31, %%ecx\n"
365 "addl $0x8000, %%ecx\n"
366 "addl %%ecx, %%eax\n"
367 "adcl $0, %%edx\n"
368 "shrl $16, %%eax\n"
369 "shll $16, %%edx\n"
370 "addl %%edx, %%eax\n"
371 : "=a"(result), "=d"(b)
372 : "a"(a), "d"(b)
373 : "%ecx", "cc" );
374 return result;
375 }
376
377 #endif /* i386 */
378
379 #endif /* __GNUC__ */
380
381
382 #ifdef _MSC_VER /* Visual C++ */
383
384 #ifdef _M_IX86
385
386 #define FT_MULFIX_ASSEMBLER FT_MulFix_i386
387
388 /* documentation is in freetype.h */
389
390 static __inline FT_Int32
391 FT_MulFix_i386( FT_Int32 a,
392 FT_Int32 b )
393 {
394 register FT_Int32 result;
395
396 __asm
397 {
398 mov eax, a
399 mov edx, b
400 imul edx
401 mov ecx, edx
402 sar ecx, 31
403 add ecx, 8000h
404 add eax, ecx
405 adc edx, 0
406 shr eax, 16
407 shl edx, 16
408 add eax, edx
409 mov result, eax
410 }
411 return result;
412 }
413
414 #endif /* _M_IX86 */
415
416 #endif /* _MSC_VER */
417
418 #endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */
419
420
421 #ifdef FT_CONFIG_OPTION_INLINE_MULFIX
422 #ifdef FT_MULFIX_ASSEMBLER
423 #define FT_MULFIX_INLINED FT_MULFIX_ASSEMBLER
424 #endif
425 #endif 378 #endif
426 379
427 380
428 #ifdef FT_MAKE_OPTION_SINGLE_OBJECT 381 #ifdef FT_MAKE_OPTION_SINGLE_OBJECT
429 382
430 #define FT_LOCAL( x ) static x 383 #define FT_LOCAL( x ) static x
431 #define FT_LOCAL_DEF( x ) static x 384 #define FT_LOCAL_DEF( x ) static x
432 385
433 #else 386 #else
434 387
435 #ifdef __cplusplus 388 #ifdef __cplusplus
436 #define FT_LOCAL( x ) extern "C" x 389 #define FT_LOCAL( x ) extern "C" x
437 #define FT_LOCAL_DEF( x ) extern "C" x 390 #define FT_LOCAL_DEF( x ) extern "C" x
438 #else 391 #else
439 #define FT_LOCAL( x ) extern x 392 #define FT_LOCAL( x ) extern x
440 #define FT_LOCAL_DEF( x ) x 393 #define FT_LOCAL_DEF( x ) x
441 #endif 394 #endif
442 395
443 #endif /* FT_MAKE_OPTION_SINGLE_OBJECT */ 396 #endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
444 397
398 #define FT_LOCAL_ARRAY( x ) extern const x
399 #define FT_LOCAL_ARRAY_DEF( x ) const x
400
445 401
446 #ifndef FT_BASE 402 #ifndef FT_BASE
447 403
448 #ifdef __cplusplus 404 #ifdef __cplusplus
449 #define FT_BASE( x ) extern "C" x 405 #define FT_BASE( x ) extern "C" x
450 #else 406 #else
451 #define FT_BASE( x ) extern x 407 #define FT_BASE( x ) extern x
452 #endif 408 #endif
453 409
454 #endif /* !FT_BASE */ 410 #endif /* !FT_BASE */
455 411
456 412
457 #ifndef FT_BASE_DEF 413 #ifndef FT_BASE_DEF
458 414
459 #ifdef __cplusplus 415 #ifdef __cplusplus
460 #define FT_BASE_DEF( x ) x 416 #define FT_BASE_DEF( x ) x
461 #else 417 #else
462 #define FT_BASE_DEF( x ) x 418 #define FT_BASE_DEF( x ) x
463 #endif 419 #endif
464 420
465 #endif /* !FT_BASE_DEF */ 421 #endif /* !FT_BASE_DEF */
466 422
467 423
468 #ifndef FT_EXPORT 424 #ifndef FT_EXPORT
469 425
470 #ifdef __cplusplus 426 #ifdef __cplusplus
471 #define FT_EXPORT( x ) __attribute__((visibility("default"))) extern "C" x 427 #define FT_EXPORT( x ) __attribute__ ((visibility ("default"))) extern "C" x
472 #else 428 #else
473 #define FT_EXPORT( x ) __attribute__((visibility("default"))) extern x 429 #define FT_EXPORT( x ) __attribute__ ((visibility ("default"))) extern x
474 #endif 430 #endif
475 431
476 #endif /* !FT_EXPORT */ 432 #endif /* !FT_EXPORT */
477 433
478 434
479 #ifndef FT_EXPORT_DEF 435 #ifndef FT_EXPORT_DEF
480 436
481 #ifdef __cplusplus 437 #ifdef __cplusplus
482 #define FT_EXPORT_DEF( x ) __attribute__((visibility("default"))) extern "C" x 438 #define FT_EXPORT_DEF( x ) __attribute__((visibility("default"))) extern "C" x
483 #else 439 #else
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 #else 491 #else
536 #define FT_CALLBACK_TABLE extern 492 #define FT_CALLBACK_TABLE extern
537 #define FT_CALLBACK_TABLE_DEF /* nothing */ 493 #define FT_CALLBACK_TABLE_DEF /* nothing */
538 #endif 494 #endif
539 #endif /* FT_CALLBACK_TABLE */ 495 #endif /* FT_CALLBACK_TABLE */
540 496
541 497
542 FT_END_HEADER 498 FT_END_HEADER
543 499
544 500
545 #endif /* __FTCONFIG_H__ */ 501 #endif /* FTCONFIG_H_ */
546 502
547 503
548 /* END */ 504 /* END */
OLDNEW
« no previous file with comments | « third_party/freetype2/freetype2.patch ('k') | third_party/freetype2/include/ftmodule.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698