| /******************************************************************* |
| * |
| * ftconfig.h |
| * |
| * Unix-specific configuration file |
| * |
| * Copyright 1996-1998 by |
| * David Turner, Robert Wilhelm, and Werner Lemberg. |
| * |
| * This file is part of the FreeType project, and may only be used |
| * modified and distributed under the terms of the FreeType project |
| * license, LICENSE.TXT. By continuing to use, modify, or distribute |
| * this file you indicate that you have read the license and |
| * understand and accept it fully. |
| * |
| * |
| * This header file contains a number of macro definitions that are |
| * used by the rest of the engine. Porters are free to copy this file |
| * and adapt it to suit their own system.. |
| * |
| * IMPORTANT NOTE : |
| * |
| * Porters, read carefully the comments in ftsys.h before trying |
| * to port this file to your system. It contains many essential |
| * remarks, and will ease your work greatly.. |
| * |
| ******************************************************************/ |
| |
| #ifndef FTCONFIG_H |
| #define FTCONFIG_H |
| |
| /*************************************************************************/ |
| /* */ |
| /* PLATFORM-SPECIFIC CONFIGURATION MACROS */ |
| /* */ |
| /* These macros can be toggled to suit a specific system. The current */ |
| /* ones are defaults used to compile FreeType in a 32-bits ANSI C */ |
| /* environment. Copy this file to your own "freetype/arch/<system>" */ |
| /* directory, and edit it to port the engine.. */ |
| /* */ |
| /*************************************************************************/ |
| |
| /* Define to empty if the keyword does not work. */ |
| /* #undef const */ |
| |
| /* Define if you have a working `mmap' system call. */ |
| #define HAVE_MMAP |
| |
| /* Define if you have the ANSI C header files. */ |
| #define STDC_HEADERS 1 |
| |
| /* Define if your processor stores words with the most significant |
| byte first (like Motorola and SPARC, unlike Intel and VAX). */ |
| /* #undef WORDS_BIGENDIAN */ |
| |
| /* Define if the X Window System is missing or not being used. */ |
| /* #undef X_DISPLAY_MISSING */ |
| |
| /* The number of bytes in a int. */ |
| #define SIZEOF_INT 4 |
| |
| /* The number of bytes in a long. */ |
| #define SIZEOF_LONG 4 |
| |
| /* Define if you have the getpagesize function. */ |
| #define HAVE_GETPAGESIZE 1 |
| |
| /* Define if you have the memcpy function. */ |
| #define HAVE_MEMCPY 1 |
| |
| /* Define if you have the <fcntl.h> header file. */ |
| #define HAVE_FCNTL_H 1 |
| |
| /* Define if you have the <unistd.h> header file. */ |
| #define HAVE_UNISTD_H 1 |
| |
| /* Define if you have the <locale.h> header file. */ |
| #define HAVE_LOCALE_H 1 |
| |
| /* Define if you have the <libintl.h> header file. */ |
| #undef HAVE_LIBINTL_H |
| |
| /* Define if you have the libintl library. */ |
| /* #undef HAVE_LIBINTL */ |
| |
| /* Preferred alignment of data */ |
| #define FT_ALIGNMENT 8 |
| |
| /* See the definition of the macro FT_CONFIG_OPTION_LITTLE_ENDIAN */ |
| /* and FT_CONFIG_OPTION_BIG_ENDIAN below, they may need to be set */ |
| /* according to the platform too.. */ |
| |
| |
| #include <ftoption.h> |
| |
| /*************************************************************************/ |
| /* */ |
| /* AUTOMATIC CONFIGURATION MACROS */ |
| /* */ |
| /* These macros are computed from the ones defined above. Don't touch */ |
| /* their definition, unless you know precisely what you're doing. No */ |
| /* porter should need to mess with them. */ |
| /* */ |
| /*************************************************************************/ |
| |
| /* IntN types: */ |
| /* */ |
| /* Used to guarantee the size of some specific integers. */ |
| /* */ |
| |
| typedef signed short FT_Int16; |
| typedef unsigned short FT_Word16; |
| |
| #if SIZEOF_INT == 4 |
| |
| typedef signed int FT_Int32; |
| typedef unsigned int FT_Word32; |
| |
| #elif SIZEOF_LONG == 4 |
| |
| typedef signed long FT_Int32; |
| typedef unsigned long FT_Word32; |
| |
| #else |
| #error "no 32bit type found - please check your configuration files" |
| #endif |
| |
| #if SIZEOF_LONG == 8 |
| |
| /* LONG64 must be defined when a 64-bit type is available */ |
| #define LONG64 |
| #define INT64 long |
| |
| #else |
| |
| /* GCC provides the non-ANSI 'long long' 64-bit type. You can activate it */ |
| /* by defining the FTCALC_USE_LONG_LONG macro in 'ftconfig.h'. Note that */ |
| /* this will produce many -ansi warnings during library compilation. */ |
| #ifdef FTCALC_USE_LONG_LONG |
| |
| #define LONG64 |
| #define INT64 long long |
| |
| #endif /* FTCALC_USE_LONG_LONG */ |
| #endif |
| |
| #ifdef FT_MAKE_OPTION_SINGLE_OBJECT |
| #define LOCAL_DEF static |
| #define LOCAL_FUNC static |
| #else |
| #define LOCAL_DEF extern |
| #define LOCAL_FUNC /* nothing */ |
| #endif |
| |
| #ifdef FT_MAKE_OPTION_SINGLE_LIBRARY_OBJECT |
| #define BASE_DEF LOCAL_DEF |
| #define BASE_FUNC LOCAL_FUNC |
| #else |
| #define BASE_DEF extern |
| #define BASE_FUNC /* nothing */ |
| #endif |
| |
| #ifndef EXPORT_DEF |
| #define EXPORT_DEF extern |
| #endif |
| |
| #ifndef EXPORT_FUNC |
| #define EXPORT_FUNC /* nothing */ |
| #endif |
| |
| |
| #endif /* FTCONFIG_H */ |