diff options
Diffstat (limited to 'thirdparties/common/include/libfreetype/freetype2/freetype/config/ftconfig.h')
-rwxr-xr-x | thirdparties/common/include/libfreetype/freetype2/freetype/config/ftconfig.h | 500 |
1 files changed, 249 insertions, 251 deletions
diff --git a/thirdparties/common/include/libfreetype/freetype2/freetype/config/ftconfig.h b/thirdparties/common/include/libfreetype/freetype2/freetype/config/ftconfig.h index 3e28f77..4e06af9 100755 --- a/thirdparties/common/include/libfreetype/freetype2/freetype/config/ftconfig.h +++ b/thirdparties/common/include/libfreetype/freetype2/freetype/config/ftconfig.h @@ -17,22 +17,22 @@ /***************************************************************************/ - /*************************************************************************/ - /* */ - /* This header file contains a number of macro definitions that are used */ - /* by the rest of the engine. Most of the macros here are automatically */ - /* determined at compile time, and you should not need to change it to */ - /* port FreeType, except to compile the library with a non-ANSI */ - /* compiler. */ - /* */ - /* Note however that if some specific modifications are needed, we */ - /* advise you to place a modified copy in your build directory. */ - /* */ - /* The build directory is usually `freetype/builds/<system>', and */ - /* contains system-specific files that are always included first when */ - /* building the library. */ - /* */ - /*************************************************************************/ +/*************************************************************************/ +/* */ +/* This header file contains a number of macro definitions that are used */ +/* by the rest of the engine. Most of the macros here are automatically */ +/* determined at compile time, and you should not need to change it to */ +/* port FreeType, except to compile the library with a non-ANSI */ +/* compiler. */ +/* */ +/* Note however that if some specific modifications are needed, we */ +/* advise you to place a modified copy in your build directory. */ +/* */ +/* The build directory is usually `freetype/builds/<system>', and */ +/* contains system-specific files that are always included first when */ +/* building the library. */ +/* */ +/*************************************************************************/ #ifndef __FTCONFIG_H__ @@ -46,16 +46,16 @@ FT_BEGIN_HEADER - /*************************************************************************/ - /* */ - /* PLATFORM-SPECIFIC CONFIGURATION MACROS */ - /* */ - /* These macros can be toggled to suit a specific system. The current */ - /* ones are defaults used to compile FreeType in an ANSI C environment */ - /* (16bit compilers are also supported). Copy this file to your own */ - /* `freetype/builds/<system>' directory, and edit it to port the engine. */ - /* */ - /*************************************************************************/ +/*************************************************************************/ +/* */ +/* PLATFORM-SPECIFIC CONFIGURATION MACROS */ +/* */ +/* These macros can be toggled to suit a specific system. The current */ +/* ones are defaults used to compile FreeType in an ANSI C environment */ +/* (16bit compilers are also supported). Copy this file to your own */ +/* `freetype/builds/<system>' directory, and edit it to port the engine. */ +/* */ +/*************************************************************************/ #undef HAVE_UNISTD_H @@ -63,13 +63,13 @@ FT_BEGIN_HEADER #undef HAVE_STDINT_H - /* There are systems (like the Texas Instruments 'C54x) where a `char' */ - /* has 16 bits. ANSI C says that sizeof(char) is always 1. Since an */ - /* `int' has 16 bits also for this system, sizeof(int) gives 1 which */ - /* is probably unexpected. */ - /* */ - /* `CHAR_BIT' (defined in limits.h) gives the number of bits in a */ - /* `char' type. */ +/* There are systems (like the Texas Instruments 'C54x) where a `char' */ +/* has 16 bits. ANSI C says that sizeof(char) is always 1. Since an */ +/* `int' has 16 bits also for this system, sizeof(int) gives 1 which */ +/* is probably unexpected. */ +/* */ +/* `CHAR_BIT' (defined in limits.h) gives the number of bits in a */ +/* `char' type. */ #ifndef FT_CHAR_BIT #define FT_CHAR_BIT CHAR_BIT @@ -86,13 +86,13 @@ FT_BEGIN_HEADER #else /* !FT_USE_AUTOCONF_SIZEOF_TYPES */ - /* Following cpp computation of the bit length of int and long */ - /* is copied from default include/freetype/config/ftconfig.h. */ - /* If any improvement is required for this file, it should be */ - /* applied to the original header file for the builders that */ - /* does not use configure script. */ +/* Following cpp computation of the bit length of int and long */ +/* is copied from default include/freetype/config/ftconfig.h. */ +/* If any improvement is required for this file, it should be */ +/* applied to the original header file for the builders that */ +/* does not use configure script. */ - /* The size of an `int' type. */ +/* The size of an `int' type. */ #if FT_UINT_MAX == 0xFFFFUL #define FT_SIZEOF_INT (16 / FT_CHAR_BIT) #elif FT_UINT_MAX == 0xFFFFFFFFUL @@ -103,8 +103,8 @@ FT_BEGIN_HEADER #error "Unsupported size of `int' type!" #endif - /* The size of a `long' type. A five-byte `long' (as used e.g. on the */ - /* DM642) is recognized but avoided. */ +/* The size of a `long' type. A five-byte `long' (as used e.g. on the */ +/* DM642) is recognized but avoided. */ #if FT_ULONG_MAX == 0xFFFFFFFFUL #define FT_SIZEOF_LONG (32 / FT_CHAR_BIT) #elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL @@ -118,35 +118,35 @@ FT_BEGIN_HEADER #endif /* !FT_USE_AUTOCONF_SIZEOF_TYPES */ - /* FT_UNUSED is a macro used to indicate that a given parameter is not */ - /* used -- this is only used to get rid of unpleasant compiler warnings */ +/* FT_UNUSED is a macro used to indicate that a given parameter is not */ +/* used -- this is only used to get rid of unpleasant compiler warnings */ #ifndef FT_UNUSED #define FT_UNUSED( arg ) ( (arg) = (arg) ) #endif - /*************************************************************************/ - /* */ - /* AUTOMATIC CONFIGURATION MACROS */ - /* */ - /* These macros are computed from the ones defined above. Don't touch */ - /* their definition, unless you know precisely what you are doing. No */ - /* porter should need to mess with them. */ - /* */ - /*************************************************************************/ - - - /*************************************************************************/ - /* */ - /* Mac support */ - /* */ - /* This is the only necessary change, so it is defined here instead */ - /* providing a new configuration file. */ - /* */ +/*************************************************************************/ +/* */ +/* AUTOMATIC CONFIGURATION MACROS */ +/* */ +/* These macros are computed from the ones defined above. Don't touch */ +/* their definition, unless you know precisely what you are doing. No */ +/* porter should need to mess with them. */ +/* */ +/*************************************************************************/ + + +/*************************************************************************/ +/* */ +/* Mac support */ +/* */ +/* This is the only necessary change, so it is defined here instead */ +/* providing a new configuration file. */ +/* */ #if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) ) - /* no Carbon frameworks for 64bit 10.4.x */ - /* AvailabilityMacros.h is available since Mac OS X 10.2, */ - /* so guess the system version by maximum errno before inclusion */ +/* no Carbon frameworks for 64bit 10.4.x */ +/* AvailabilityMacros.h is available since Mac OS X 10.2, */ +/* so guess the system version by maximum errno before inclusion */ #include <errno.h> #ifdef ECANCELED /* defined since 10.2 */ #include "AvailabilityMacros.h" @@ -157,7 +157,7 @@ FT_BEGIN_HEADER #endif #elif defined( __SC__ ) || defined( __MRC__ ) - /* Classic MacOS compilers */ +/* Classic MacOS compilers */ #include "ConditionalMacros.h" #if TARGET_OS_MAC #define FT_MACINTOSH 1 @@ -166,7 +166,7 @@ FT_BEGIN_HEADER #endif - /* Fix compiler warning with sgi compiler */ +/* Fix compiler warning with sgi compiler */ #if defined( __sgi ) && !defined( __GNUC__ ) #if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 ) #pragma set woff 3505 @@ -174,134 +174,134 @@ FT_BEGIN_HEADER #endif - /*************************************************************************/ - /* */ - /* <Section> */ - /* basic_types */ - /* */ - /*************************************************************************/ +/*************************************************************************/ +/* */ +/* <Section> */ +/* basic_types */ +/* */ +/*************************************************************************/ - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_Int16 */ - /* */ - /* <Description> */ - /* A typedef for a 16bit signed integer type. */ - /* */ - typedef signed short FT_Int16; +/*************************************************************************/ +/* */ +/* <Type> */ +/* FT_Int16 */ +/* */ +/* <Description> */ +/* A typedef for a 16bit signed integer type. */ +/* */ +typedef signed short FT_Int16; - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_UInt16 */ - /* */ - /* <Description> */ - /* A typedef for a 16bit unsigned integer type. */ - /* */ - typedef unsigned short FT_UInt16; +/*************************************************************************/ +/* */ +/* <Type> */ +/* FT_UInt16 */ +/* */ +/* <Description> */ +/* A typedef for a 16bit unsigned integer type. */ +/* */ +typedef unsigned short FT_UInt16; - /* */ +/* */ - /* this #if 0 ... #endif clause is for documentation purposes */ +/* this #if 0 ... #endif clause is for documentation purposes */ #if 0 - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_Int32 */ - /* */ - /* <Description> */ - /* A typedef for a 32bit signed integer type. The size depends on */ - /* the configuration. */ - /* */ - typedef signed XXX FT_Int32; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_UInt32 */ - /* */ - /* A typedef for a 32bit unsigned integer type. The size depends on */ - /* the configuration. */ - /* */ - typedef unsigned XXX FT_UInt32; - - - /*************************************************************************/ - /* */ - /* <Type> */ - /* FT_Int64 */ - /* */ - /* A typedef for a 64bit signed integer type. The size depends on */ - /* the configuration. Only defined if there is real 64bit support; */ - /* otherwise, it gets emulated with a structure (if necessary). */ - /* */ - typedef signed XXX FT_Int64; - - /* */ +/*************************************************************************/ +/* */ +/* <Type> */ +/* FT_Int32 */ +/* */ +/* <Description> */ +/* A typedef for a 32bit signed integer type. The size depends on */ +/* the configuration. */ +/* */ +typedef signed XXX FT_Int32; + + +/*************************************************************************/ +/* */ +/* <Type> */ +/* FT_UInt32 */ +/* */ +/* A typedef for a 32bit unsigned integer type. The size depends on */ +/* the configuration. */ +/* */ +typedef unsigned XXX FT_UInt32; + + +/*************************************************************************/ +/* */ +/* <Type> */ +/* FT_Int64 */ +/* */ +/* A typedef for a 64bit signed integer type. The size depends on */ +/* the configuration. Only defined if there is real 64bit support; */ +/* otherwise, it gets emulated with a structure (if necessary). */ +/* */ +typedef signed XXX FT_Int64; + +/* */ #endif #if FT_SIZEOF_INT == 4 - typedef signed int FT_Int32; - typedef unsigned int FT_UInt32; +typedef signed int FT_Int32; +typedef unsigned int FT_UInt32; #elif FT_SIZEOF_LONG == 4 - typedef signed long FT_Int32; - typedef unsigned long FT_UInt32; +typedef signed long FT_Int32; +typedef unsigned long FT_UInt32; #else #error "no 32bit type found -- please check your configuration files" #endif - /* look up an integer type that is at least 32 bits */ +/* look up an integer type that is at least 32 bits */ #if FT_SIZEOF_INT >= 4 - typedef int FT_Fast; - typedef unsigned int FT_UFast; +typedef int FT_Fast; +typedef unsigned int FT_UFast; #elif FT_SIZEOF_LONG >= 4 - typedef long FT_Fast; - typedef unsigned long FT_UFast; +typedef long FT_Fast; +typedef unsigned long FT_UFast; #endif - /* determine whether we have a 64-bit int type for platforms without */ - /* Autoconf */ +/* determine whether we have a 64-bit int type for platforms without */ +/* Autoconf */ #if FT_SIZEOF_LONG == 8 - /* FT_LONG64 must be defined if a 64-bit type is available */ +/* FT_LONG64 must be defined if a 64-bit type is available */ #define FT_LONG64 #define FT_INT64 long #elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */ - /* this compiler provides the __int64 type */ +/* this compiler provides the __int64 type */ #define FT_LONG64 #define FT_INT64 __int64 #elif defined( __BORLANDC__ ) /* Borland C++ */ - /* XXXX: We should probably check the value of __BORLANDC__ in order */ - /* to test the compiler version. */ +/* XXXX: We should probably check the value of __BORLANDC__ in order */ +/* to test the compiler version. */ - /* this compiler provides the __int64 type */ +/* this compiler provides the __int64 type */ #define FT_LONG64 #define FT_INT64 __int64 #elif defined( __WATCOMC__ ) /* Watcom C++ */ - /* Watcom doesn't provide 64-bit data types */ +/* Watcom doesn't provide 64-bit data types */ #elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */ @@ -310,28 +310,28 @@ FT_BEGIN_HEADER #elif defined( __GNUC__ ) - /* GCC provides the `long long' type */ +/* GCC provides the `long long' type */ #define FT_LONG64 #define FT_INT64 long long int #endif /* FT_SIZEOF_LONG == 8 */ - /*************************************************************************/ - /* */ - /* A 64-bit data type will create compilation problems if you compile */ - /* in strict ANSI mode. To avoid them, we disable its use if __STDC__ */ - /* is defined. You can however ignore this rule by defining the */ - /* FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */ - /* */ +/*************************************************************************/ +/* */ +/* A 64-bit data type will create compilation problems if you compile */ +/* in strict ANSI mode. To avoid them, we disable its use if __STDC__ */ +/* is defined. You can however ignore this rule by defining the */ +/* FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */ +/* */ #if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 ) #ifdef __STDC__ - /* Undefine the 64-bit macros in strict ANSI compilation mode. */ - /* Since `#undef' doesn't survive in configuration header files */ - /* we use the postprocessing facility of AC_CONFIG_HEADERS to */ - /* replace the leading `/' with `#'. */ +/* Undefine the 64-bit macros in strict ANSI compilation mode. */ +/* Since `#undef' doesn't survive in configuration header files */ +/* we use the postprocessing facility of AC_CONFIG_HEADERS to */ +/* replace the leading `/' with `#'. */ #undef FT_LONG64 #undef FT_INT64 @@ -340,7 +340,7 @@ FT_BEGIN_HEADER #endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */ #ifdef FT_LONG64 - typedef FT_INT64 FT_Int64; +typedef FT_INT64 FT_Int64; #endif @@ -350,33 +350,32 @@ FT_BEGIN_HEADER #ifndef FT_CONFIG_OPTION_NO_ASSEMBLER - /* Provide assembler fragments for performance-critical functions. */ - /* These must be defined `static __inline__' with GCC. */ +/* Provide assembler fragments for performance-critical functions. */ +/* These must be defined `static __inline__' with GCC. */ #if defined( __CC_ARM ) || defined( __ARMCC__ ) /* RVCT */ #define FT_MULFIX_ASSEMBLER FT_MulFix_arm - /* documentation is in freetype.h */ +/* documentation is in freetype.h */ - static __inline FT_Int32 - FT_MulFix_arm( FT_Int32 a, - FT_Int32 b ) - { +static __inline FT_Int32 +FT_MulFix_arm( FT_Int32 a, + FT_Int32 b ) +{ register FT_Int32 t, t2; - __asm - { - smull t2, t, b, a /* (lo=t2,hi=t) = a*b */ - mov a, t, asr #31 /* a = (hi >> 31) */ - add a, a, #0x8000 /* a += 0x8000 */ - adds t2, t2, a /* t2 += a */ - adc t, t, #0 /* t += carry */ - mov a, t2, lsr #16 /* a = t2 >> 16 */ - orr a, a, t, lsl #16 /* a |= t << 16 */ + __asm { + smull t2, t, b, a /* (lo=t2,hi=t) = a*b */ + mov a, t, asr #31 /* a = (hi >> 31) */ + add a, a, #0x8000 /* a += 0x8000 */ + adds t2, t2, a /* t2 += a */ + adc t, t, #0 /* t += carry */ + mov a, t2, lsr #16 /* a = t2 >> 16 */ + orr a, a, t, lsl #16 /* a |= t << 16 */ } return a; - } +} #endif /* __CC_ARM || __ARMCC__ */ @@ -387,58 +386,58 @@ FT_BEGIN_HEADER !( defined( __CC_ARM ) || defined( __ARMCC__ ) ) #define FT_MULFIX_ASSEMBLER FT_MulFix_arm - /* documentation is in freetype.h */ +/* documentation is in freetype.h */ - static __inline__ FT_Int32 - FT_MulFix_arm( FT_Int32 a, - FT_Int32 b ) - { +static __inline__ FT_Int32 +FT_MulFix_arm( FT_Int32 a, + FT_Int32 b ) +{ register FT_Int32 t, t2; __asm__ __volatile__ ( - "smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */ - "mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */ - "add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */ - "adds %1, %1, %0\n\t" /* %1 += %0 */ - "adc %2, %2, #0\n\t" /* %2 += carry */ - "mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */ - "orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */ - : "=r"(a), "=&r"(t2), "=&r"(t) - : "r"(a), "r"(b) - : "cc" ); + "smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */ + "mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */ + "add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */ + "adds %1, %1, %0\n\t" /* %1 += %0 */ + "adc %2, %2, #0\n\t" /* %2 += carry */ + "mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */ + "orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */ + : "=r"(a), "=&r"(t2), "=&r"(t) + : "r"(a), "r"(b) + : "cc" ); return a; - } +} #endif /* __arm__ && !__thumb__ && !( __CC_ARM || __ARMCC__ ) */ #if defined( __i386__ ) #define FT_MULFIX_ASSEMBLER FT_MulFix_i386 - /* documentation is in freetype.h */ +/* documentation is in freetype.h */ - static __inline__ FT_Int32 - FT_MulFix_i386( FT_Int32 a, - FT_Int32 b ) - { +static __inline__ FT_Int32 +FT_MulFix_i386( FT_Int32 a, + FT_Int32 b ) +{ register FT_Int32 result; __asm__ __volatile__ ( - "imul %%edx\n" - "movl %%edx, %%ecx\n" - "sarl $31, %%ecx\n" - "addl $0x8000, %%ecx\n" - "addl %%ecx, %%eax\n" - "adcl $0, %%edx\n" - "shrl $16, %%eax\n" - "shll $16, %%edx\n" - "addl %%edx, %%eax\n" - : "=a"(result), "=d"(b) - : "a"(a), "d"(b) - : "%ecx", "cc" ); + "imul %%edx\n" + "movl %%edx, %%ecx\n" + "sarl $31, %%ecx\n" + "addl $0x8000, %%ecx\n" + "addl %%ecx, %%eax\n" + "adcl $0, %%edx\n" + "shrl $16, %%eax\n" + "shll $16, %%edx\n" + "addl %%edx, %%eax\n" + : "=a"(result), "=d"(b) + : "a"(a), "d"(b) + : "%ecx", "cc" ); return result; - } +} #endif /* i386 */ @@ -451,31 +450,30 @@ FT_BEGIN_HEADER #define FT_MULFIX_ASSEMBLER FT_MulFix_i386 - /* documentation is in freetype.h */ +/* documentation is in freetype.h */ - static __inline FT_Int32 - FT_MulFix_i386( FT_Int32 a, - FT_Int32 b ) - { +static __inline FT_Int32 +FT_MulFix_i386( FT_Int32 a, + FT_Int32 b ) +{ register FT_Int32 result; - __asm - { - mov eax, a - mov edx, b - imul edx - mov ecx, edx - sar ecx, 31 - add ecx, 8000h - add eax, ecx - adc edx, 0 - shr eax, 16 - shl edx, 16 - add eax, edx - mov result, eax + __asm { + mov eax, a + mov edx, b + imul edx + mov ecx, edx + sar ecx, 31 + add ecx, 8000h + add eax, ecx + adc edx, 0 + shr eax, 16 + shl edx, 16 + add eax, edx + mov result, eax } return result; - } +} #endif /* _M_IX86 */ @@ -563,29 +561,29 @@ FT_BEGIN_HEADER #endif /* !FT_EXPORT_VAR */ - /* The following macros are needed to compile the library with a */ - /* C++ compiler and with 16bit compilers. */ - /* */ - - /* This is special. Within C++, you must specify `extern "C"' for */ - /* functions which are used via function pointers, and you also */ - /* must do that for structures which contain function pointers to */ - /* assure C linkage -- it's not possible to have (local) anonymous */ - /* functions which are accessed by (global) function pointers. */ - /* */ - /* */ - /* FT_CALLBACK_DEF is used to _define_ a callback function. */ - /* */ - /* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */ - /* contains pointers to callback functions. */ - /* */ - /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */ - /* that contains pointers to callback functions. */ - /* */ - /* */ - /* Some 16bit compilers have to redefine these macros to insert */ - /* the infamous `_cdecl' or `__fastcall' declarations. */ - /* */ +/* The following macros are needed to compile the library with a */ +/* C++ compiler and with 16bit compilers. */ +/* */ + +/* This is special. Within C++, you must specify `extern "C"' for */ +/* functions which are used via function pointers, and you also */ +/* must do that for structures which contain function pointers to */ +/* assure C linkage -- it's not possible to have (local) anonymous */ +/* functions which are accessed by (global) function pointers. */ +/* */ +/* */ +/* FT_CALLBACK_DEF is used to _define_ a callback function. */ +/* */ +/* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */ +/* contains pointers to callback functions. */ +/* */ +/* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */ +/* that contains pointers to callback functions. */ +/* */ +/* */ +/* Some 16bit compilers have to redefine these macros to insert */ +/* the infamous `_cdecl' or `__fastcall' declarations. */ +/* */ #ifndef FT_CALLBACK_DEF #ifdef __cplusplus #define FT_CALLBACK_DEF( x ) extern "C" x |