misc/libfreetype/include/freetype/config/ftconfig.h
author koda
Mon, 25 Apr 2011 01:46:54 +0200
changeset 5172 88f2e05288ba
child 6041 04bbe344b8d3
permissions -rw-r--r--
aaand let's add freetype as well while we are at it other smaller changes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5172
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     1
/***************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     2
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     3
/*  ftconfig.h                                                             */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     4
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     5
/*    ANSI-specific configuration file (specification only).               */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     6
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     7
/*  Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007, 2008, 2010 by       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     8
/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     9
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    10
/*  This file is part of the FreeType project, and may only be used,       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    11
/*  modified, and distributed under the terms of the FreeType project      */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    12
/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    13
/*  this file you indicate that you have read the license and              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    14
/*  understand and accept it fully.                                        */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    15
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    16
/***************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    17
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    18
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    19
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    20
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    21
  /* This header file contains a number of macro definitions that are used */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    22
  /* by the rest of the engine.  Most of the macros here are automatically */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    23
  /* determined at compile time, and you should not need to change it to   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    24
  /* port FreeType, except to compile the library with a non-ANSI          */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    25
  /* compiler.                                                             */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    26
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    27
  /* Note however that if some specific modifications are needed, we       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    28
  /* advise you to place a modified copy in your build directory.          */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    29
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    30
  /* The build directory is usually `freetype/builds/<system>', and        */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    31
  /* contains system-specific files that are always included first when    */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    32
  /* building the library.                                                 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    33
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    34
  /* This ANSI version should stay in `include/freetype/config'.           */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    35
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    36
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    37
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    38
#ifndef __FTCONFIG_H__
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    39
#define __FTCONFIG_H__
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    40
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    41
#include <ft2build.h>
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    42
#include FT_CONFIG_OPTIONS_H
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    43
#include FT_CONFIG_STANDARD_LIBRARY_H
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    44
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    45
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    46
FT_BEGIN_HEADER
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    47
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    48
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    49
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    50
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    51
  /*               PLATFORM-SPECIFIC CONFIGURATION MACROS                  */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    52
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    53
  /* These macros can be toggled to suit a specific system.  The current   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    54
  /* ones are defaults used to compile FreeType in an ANSI C environment   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    55
  /* (16bit compilers are also supported).  Copy this file to your own     */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    56
  /* `freetype/builds/<system>' directory, and edit it to port the engine. */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    57
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    58
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    59
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    60
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    61
  /* There are systems (like the Texas Instruments 'C54x) where a `char' */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    62
  /* has 16 bits.  ANSI C says that sizeof(char) is always 1.  Since an  */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    63
  /* `int' has 16 bits also for this system, sizeof(int) gives 1 which   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    64
  /* is probably unexpected.                                             */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    65
  /*                                                                     */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    66
  /* `CHAR_BIT' (defined in limits.h) gives the number of bits in a      */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    67
  /* `char' type.                                                        */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    68
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    69
#ifndef FT_CHAR_BIT
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    70
#define FT_CHAR_BIT  CHAR_BIT
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    71
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    72
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    73
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    74
  /* The size of an `int' type.  */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    75
#if                                 FT_UINT_MAX == 0xFFFFUL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    76
#define FT_SIZEOF_INT  (16 / FT_CHAR_BIT)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    77
#elif                               FT_UINT_MAX == 0xFFFFFFFFUL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    78
#define FT_SIZEOF_INT  (32 / FT_CHAR_BIT)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    79
#elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    80
#define FT_SIZEOF_INT  (64 / FT_CHAR_BIT)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    81
#else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    82
#error "Unsupported size of `int' type!"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    83
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    84
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    85
  /* The size of a `long' type.  A five-byte `long' (as used e.g. on the */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    86
  /* DM642) is recognized but avoided.                                   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    87
#if                                  FT_ULONG_MAX == 0xFFFFFFFFUL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    88
#define FT_SIZEOF_LONG  (32 / FT_CHAR_BIT)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    89
#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    90
#define FT_SIZEOF_LONG  (32 / FT_CHAR_BIT)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    91
#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    92
#define FT_SIZEOF_LONG  (64 / FT_CHAR_BIT)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    93
#else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    94
#error "Unsupported size of `long' type!"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    95
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    96
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    97
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    98
  /* Preferred alignment of data */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    99
#define FT_ALIGNMENT  8
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   100
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   101
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   102
  /* FT_UNUSED is a macro used to indicate that a given parameter is not  */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   103
  /* used -- this is only used to get rid of unpleasant compiler warnings */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   104
#ifndef FT_UNUSED
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   105
#define FT_UNUSED( arg )  ( (arg) = (arg) )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   106
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   107
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   108
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   109
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   110
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   111
  /*                     AUTOMATIC CONFIGURATION MACROS                    */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   112
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   113
  /* These macros are computed from the ones defined above.  Don't touch   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   114
  /* their definition, unless you know precisely what you are doing.  No   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   115
  /* porter should need to mess with them.                                 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   116
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   117
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   118
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   119
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   120
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   121
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   122
  /* Mac support                                                           */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   123
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   124
  /*   This is the only necessary change, so it is defined here instead    */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   125
  /*   providing a new configuration file.                                 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   126
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   127
#if ( defined( __APPLE__ ) && !defined( DARWIN_NO_CARBON ) ) || \
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   128
    ( defined( __MWERKS__ ) && defined( macintosh )        )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   129
  /* no Carbon frameworks for 64bit 10.4.x */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   130
#include "AvailabilityMacros.h"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   131
#if defined( __LP64__ ) && \
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   132
    ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   133
#define DARWIN_NO_CARBON 1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   134
#else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   135
#define FT_MACINTOSH 1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   136
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   137
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   138
#elif defined( __SC__ ) || defined( __MRC__ )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   139
  /* Classic MacOS compilers */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   140
#include "ConditionalMacros.h"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   141
#if TARGET_OS_MAC
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   142
#define FT_MACINTOSH 1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   143
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   144
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   145
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   146
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   147
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   148
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   149
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   150
  /* <Section>                                                             */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   151
  /*    basic_types                                                        */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   152
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   153
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   154
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   155
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   156
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   157
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   158
  /* <Type>                                                                */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   159
  /*    FT_Int16                                                           */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   160
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   161
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   162
  /*    A typedef for a 16bit signed integer type.                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   163
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   164
  typedef signed short  FT_Int16;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   165
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   166
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   167
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   168
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   169
  /* <Type>                                                                */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   170
  /*    FT_UInt16                                                          */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   171
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   172
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   173
  /*    A typedef for a 16bit unsigned integer type.                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   174
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   175
  typedef unsigned short  FT_UInt16;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   176
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   177
  /* */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   178
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   179
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   180
  /* this #if 0 ... #endif clause is for documentation purposes */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   181
#if 0
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   182
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   183
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   184
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   185
  /* <Type>                                                                */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   186
  /*    FT_Int32                                                           */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   187
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   188
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   189
  /*    A typedef for a 32bit signed integer type.  The size depends on    */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   190
  /*    the configuration.                                                 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   191
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   192
  typedef signed XXX  FT_Int32;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   193
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   194
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   195
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   196
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   197
  /* <Type>                                                                */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   198
  /*    FT_UInt32                                                          */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   199
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   200
  /*    A typedef for a 32bit unsigned integer type.  The size depends on  */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   201
  /*    the configuration.                                                 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   202
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   203
  typedef unsigned XXX  FT_UInt32;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   204
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   205
  /* */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   206
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   207
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   208
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   209
#if FT_SIZEOF_INT == (32 / FT_CHAR_BIT)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   210
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   211
  typedef signed int      FT_Int32;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   212
  typedef unsigned int    FT_UInt32;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   213
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   214
#elif FT_SIZEOF_LONG == (32 / FT_CHAR_BIT)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   215
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   216
  typedef signed long     FT_Int32;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   217
  typedef unsigned long   FT_UInt32;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   218
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   219
#else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   220
#error "no 32bit type found -- please check your configuration files"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   221
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   222
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   223
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   224
  /* look up an integer type that is at least 32 bits */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   225
#if FT_SIZEOF_INT >= (32 / FT_CHAR_BIT)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   226
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   227
  typedef int            FT_Fast;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   228
  typedef unsigned int   FT_UFast;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   229
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   230
#elif FT_SIZEOF_LONG >= (32 / FT_CHAR_BIT)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   231
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   232
  typedef long           FT_Fast;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   233
  typedef unsigned long  FT_UFast;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   234
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   235
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   236
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   237
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   238
  /* determine whether we have a 64-bit int type for platforms without */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   239
  /* Autoconf                                                          */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   240
#if FT_SIZEOF_LONG == (64 / FT_CHAR_BIT)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   241
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   242
  /* FT_LONG64 must be defined if a 64-bit type is available */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   243
#define FT_LONG64
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   244
#define FT_INT64  long
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   245
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   246
#elif defined( _MSC_VER ) && _MSC_VER >= 900  /* Visual C++ (and Intel C++) */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   247
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   248
  /* this compiler provides the __int64 type */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   249
#define FT_LONG64
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   250
#define FT_INT64  __int64
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   251
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   252
#elif defined( __BORLANDC__ )  /* Borland C++ */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   253
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   254
  /* XXXX: We should probably check the value of __BORLANDC__ in order */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   255
  /*       to test the compiler version.                               */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   256
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   257
  /* this compiler provides the __int64 type */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   258
#define FT_LONG64
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   259
#define FT_INT64  __int64
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   260
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   261
#elif defined( __WATCOMC__ )   /* Watcom C++ */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   262
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   263
  /* Watcom doesn't provide 64-bit data types */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   264
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   265
#elif defined( __MWERKS__ )    /* Metrowerks CodeWarrior */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   266
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   267
#define FT_LONG64
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   268
#define FT_INT64  long long int
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   269
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   270
#elif defined( __GNUC__ )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   271
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   272
  /* GCC provides the `long long' type */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   273
#define FT_LONG64
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   274
#define FT_INT64  long long int
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   275
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   276
#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   277
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   278
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   279
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   280
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   281
  /* A 64-bit data type will create compilation problems if you compile    */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   282
  /* in strict ANSI mode.  To avoid them, we disable its use if __STDC__   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   283
  /* is defined.  You can however ignore this rule by defining the         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   284
  /* FT_CONFIG_OPTION_FORCE_INT64 configuration macro.                     */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   285
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   286
#if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   287
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   288
#ifdef __STDC__
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   289
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   290
  /* undefine the 64-bit macros in strict ANSI compilation mode */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   291
#undef FT_LONG64
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   292
#undef FT_INT64
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   293
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   294
#endif /* __STDC__ */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   295
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   296
#endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   297
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   298
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   299
#define FT_BEGIN_STMNT  do {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   300
#define FT_END_STMNT    } while ( 0 )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   301
#define FT_DUMMY_STMNT  FT_BEGIN_STMNT FT_END_STMNT
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   302
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   303
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   304
#ifndef  FT_CONFIG_OPTION_NO_ASSEMBLER
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   305
  /* Provide assembler fragments for performance-critical functions. */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   306
  /* These must be defined `static __inline__' with GCC.             */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   307
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   308
#if defined( __CC_ARM ) || defined( __ARMCC__ )  /* RVCT */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   309
#define FT_MULFIX_ASSEMBLER  FT_MulFix_arm
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   310
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   311
  /* documentation is in freetype.h */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   312
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   313
  static __inline FT_Int32
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   314
  FT_MulFix_arm( FT_Int32  a,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   315
                 FT_Int32  b )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   316
  {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   317
    register FT_Int32  t, t2;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   318
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   319
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   320
    __asm
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   321
    {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   322
      smull t2, t,  b,  a           /* (lo=t2,hi=t) = a*b */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   323
      mov   a,  t,  asr #31         /* a   = (hi >> 31) */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   324
      add   a,  a,  #0x8000         /* a  += 0x8000 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   325
      adds  t2, t2, a               /* t2 += a */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   326
      adc   t,  t,  #0              /* t  += carry */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   327
      mov   a,  t2, lsr #16         /* a   = t2 >> 16 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   328
      orr   a,  a,  t,  lsl #16     /* a  |= t << 16 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   329
    }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   330
    return a;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   331
  }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   332
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   333
#endif /* __CC_ARM || __ARMCC__ */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   334
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   335
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   336
#ifdef __GNUC__
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   337
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   338
#if defined( __arm__ ) && !defined( __thumb__ )    && \
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   339
    !( defined( __CC_ARM ) || defined( __ARMCC__ ) )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   340
#define FT_MULFIX_ASSEMBLER  FT_MulFix_arm
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   341
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   342
  /* documentation is in freetype.h */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   343
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   344
  static __inline__ FT_Int32
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   345
  FT_MulFix_arm( FT_Int32  a,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   346
                 FT_Int32  b )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   347
  {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   348
    register FT_Int32  t, t2;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   349
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   350
<<<<<<< Updated upstream
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   351
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   352
    __asm__ __volatile__ (
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   353
      "smull  %1, %2, %4, %3\n\t"       /* (lo=%1,hi=%2) = a*b */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   354
      "mov    %0, %2, asr #31\n\t"      /* %0  = (hi >> 31) */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   355
      "add    %0, %0, #0x8000\n\t"      /* %0 += 0x8000 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   356
      "adds   %1, %1, %0\n\t"           /* %1 += %0 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   357
      "adc    %2, %2, #0\n\t"           /* %2 += carry */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   358
      "mov    %0, %1, lsr #16\n\t"      /* %0  = %1 >> 16 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   359
      "orr    %0, %0, %2, lsl #16\n\t"  /* %0 |= %2 << 16 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   360
=======
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   361
#warning Should this be __asm__ ?
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   362
    asm __volatile__ (
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   363
      "smull  %1, %2, %4, %3\n\t"   /* (lo=%1,hi=%2) = a*b */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   364
      "mov    %0, %2, asr #31\n\t"  /* %0  = (hi >> 31) */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   365
      "add    %0, %0, #0x8000\n\t"  /* %0 += 0x8000 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   366
      "adds   %1, %1, %0\n\t"       /* %1 += %0 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   367
      "adc    %2, %2, #0\n\t"       /* %2 += carry */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   368
      "mov    %0, %1, lsr #16\n\t"  /* %0  = %1 >> 16 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   369
      "orr    %0, %2, lsl #16\n\t"  /* %0 |= %2 << 16 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   370
>>>>>>> Stashed changes
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   371
      : "=r"(a), "=&r"(t2), "=&r"(t)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   372
      : "r"(a), "r"(b) );
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   373
    return a;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   374
  }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   375
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   376
#endif /* __arm__ && !__thumb__ && !( __CC_ARM || __ARMCC__ ) */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   377
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   378
#if defined( __i386__ )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   379
#define FT_MULFIX_ASSEMBLER  FT_MulFix_i386
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   380
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   381
  /* documentation is in freetype.h */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   382
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   383
  static __inline__ FT_Int32
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   384
  FT_MulFix_i386( FT_Int32  a,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   385
                  FT_Int32  b )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   386
  {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   387
    register FT_Int32  result;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   388
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   389
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   390
    __asm__ __volatile__ (
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   391
      "imul  %%edx\n"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   392
      "movl  %%edx, %%ecx\n"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   393
      "sarl  $31, %%ecx\n"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   394
      "addl  $0x8000, %%ecx\n"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   395
      "addl  %%ecx, %%eax\n"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   396
      "adcl  $0, %%edx\n"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   397
      "shrl  $16, %%eax\n"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   398
      "shll  $16, %%edx\n"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   399
      "addl  %%edx, %%eax\n"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   400
      : "=a"(result), "=d"(b)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   401
      : "a"(a), "d"(b)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   402
      : "%ecx", "cc" );
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   403
    return result;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   404
  }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   405
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   406
#endif /* i386 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   407
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   408
#endif /* __GNUC__ */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   409
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   410
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   411
#ifdef _MSC_VER /* Visual C++ */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   412
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   413
#ifdef _M_IX86
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   414
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   415
#define FT_MULFIX_ASSEMBLER  FT_MulFix_i386
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   416
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   417
  /* documentation is in freetype.h */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   418
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   419
  static __inline FT_Int32
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   420
  FT_MulFix_i386( FT_Int32  a,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   421
                  FT_Int32  b )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   422
  {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   423
    register FT_Int32  result;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   424
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   425
    __asm
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   426
    {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   427
      mov eax, a
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   428
      mov edx, b
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   429
      imul edx
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   430
      mov ecx, edx
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   431
      sar ecx, 31
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   432
      add ecx, 8000h
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   433
      add eax, ecx
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   434
      adc edx, 0
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   435
      shr eax, 16
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   436
      shl edx, 16
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   437
      add eax, edx
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   438
      mov result, eax
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   439
    }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   440
    return result;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   441
  }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   442
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   443
#endif /* _M_IX86 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   444
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   445
#endif /* _MSC_VER */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   446
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   447
#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   448
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   449
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   450
#ifdef FT_CONFIG_OPTION_INLINE_MULFIX
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   451
#ifdef FT_MULFIX_ASSEMBLER
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   452
#define FT_MULFIX_INLINED  FT_MULFIX_ASSEMBLER
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   453
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   454
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   455
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   456
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   457
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   458
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   459
#define FT_LOCAL( x )      static  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   460
#define FT_LOCAL_DEF( x )  static  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   461
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   462
#else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   463
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   464
#ifdef __cplusplus
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   465
#define FT_LOCAL( x )      extern "C"  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   466
#define FT_LOCAL_DEF( x )  extern "C"  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   467
#else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   468
#define FT_LOCAL( x )      extern  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   469
#define FT_LOCAL_DEF( x )  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   470
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   471
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   472
#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   473
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   474
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   475
#ifndef FT_BASE
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   476
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   477
#ifdef __cplusplus
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   478
#define FT_BASE( x )  extern "C"  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   479
#else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   480
#define FT_BASE( x )  extern  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   481
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   482
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   483
#endif /* !FT_BASE */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   484
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   485
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   486
#ifndef FT_BASE_DEF
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   487
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   488
#ifdef __cplusplus
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   489
#define FT_BASE_DEF( x )  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   490
#else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   491
#define FT_BASE_DEF( x )  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   492
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   493
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   494
#endif /* !FT_BASE_DEF */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   495
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   496
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   497
#ifndef FT_EXPORT
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   498
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   499
#ifdef __cplusplus
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   500
#define FT_EXPORT( x )  extern "C"  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   501
#else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   502
#define FT_EXPORT( x )  extern  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   503
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   504
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   505
#endif /* !FT_EXPORT */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   506
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   507
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   508
#ifndef FT_EXPORT_DEF
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   509
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   510
#ifdef __cplusplus
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   511
#define FT_EXPORT_DEF( x )  extern "C"  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   512
#else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   513
#define FT_EXPORT_DEF( x )  extern  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   514
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   515
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   516
#endif /* !FT_EXPORT_DEF */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   517
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   518
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   519
#ifndef FT_EXPORT_VAR
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   520
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   521
#ifdef __cplusplus
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   522
#define FT_EXPORT_VAR( x )  extern "C"  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   523
#else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   524
#define FT_EXPORT_VAR( x )  extern  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   525
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   526
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   527
#endif /* !FT_EXPORT_VAR */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   528
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   529
  /* The following macros are needed to compile the library with a   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   530
  /* C++ compiler and with 16bit compilers.                          */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   531
  /*                                                                 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   532
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   533
  /* This is special.  Within C++, you must specify `extern "C"' for */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   534
  /* functions which are used via function pointers, and you also    */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   535
  /* must do that for structures which contain function pointers to  */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   536
  /* assure C linkage -- it's not possible to have (local) anonymous */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   537
  /* functions which are accessed by (global) function pointers.     */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   538
  /*                                                                 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   539
  /*                                                                 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   540
  /* FT_CALLBACK_DEF is used to _define_ a callback function.        */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   541
  /*                                                                 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   542
  /* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   543
  /* contains pointers to callback functions.                        */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   544
  /*                                                                 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   545
  /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   546
  /* that contains pointers to callback functions.                   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   547
  /*                                                                 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   548
  /*                                                                 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   549
  /* Some 16bit compilers have to redefine these macros to insert    */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   550
  /* the infamous `_cdecl' or `__fastcall' declarations.             */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   551
  /*                                                                 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   552
#ifndef FT_CALLBACK_DEF
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   553
#ifdef __cplusplus
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   554
#define FT_CALLBACK_DEF( x )  extern "C"  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   555
#else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   556
#define FT_CALLBACK_DEF( x )  static  x
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   557
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   558
#endif /* FT_CALLBACK_DEF */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   559
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   560
#ifndef FT_CALLBACK_TABLE
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   561
#ifdef __cplusplus
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   562
#define FT_CALLBACK_TABLE      extern "C"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   563
#define FT_CALLBACK_TABLE_DEF  extern "C"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   564
#else
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   565
#define FT_CALLBACK_TABLE      extern
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   566
#define FT_CALLBACK_TABLE_DEF  /* nothing */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   567
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   568
#endif /* FT_CALLBACK_TABLE */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   569
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   570
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   571
FT_END_HEADER
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   572
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   573
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   574
#endif /* __FTCONFIG_H__ */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   575
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   576
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   577
/* END */