173 lines
5.4 KiB
C
173 lines
5.4 KiB
C
|
/*******************************************************************
|
||
|
*
|
||
|
* 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 */
|