/***************************************************************************/
/*                                                                         */
/*  ftbuild.h                                                              */
/*                                                                         */
/*    Build macros of the FreeType 2 library.                              */
/*                                                                         */
/*  Copyright 1996-2000 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.                                        */
/*                                                                         */
/***************************************************************************/


#ifndef __FT_BUILD_H__
#define __FT_BUILD_H__


  /*************************************************************************/
  /*                                                                       */
  /* The macro FT_ROOT is used to define the root of all public header     */
  /* files for FreeType 2.  By default, it is set to "freetype", which     */
  /* means that all public files should be included with a line like:      */
  /*                                                                       */
  /*   #include <freetype/...>                                             */
  /*                                                                       */
  /* Redefine it to something different if necessary, depending where the  */
  /* library is installed on the particular system.                        */
  /*                                                                       */
#ifndef FT_ROOT
#define FT_ROOT  freetype
#endif


  /*************************************************************************/
  /*                                                                       */
  /* The macro FT_CONFIG_ROOT is used to define the root of all            */
  /* configuration header files for FreeType 2.  By default, it is set to  */
  /* "freetype/config", which means that all config files should be        */
  /* include with a line like:                                             */
  /*                                                                       */
  /*   #include <freetype/config/...>                                      */
  /*                                                                       */
  /* Redefine it to something different, depending where the library is    */
  /* installed on the particular system.                                   */
  /*                                                                       */
#ifndef FT_CONFIG_ROOT
#define FT_CONFIG_ROOT  FT_ROOT/config
#endif


  /*************************************************************************/
  /*                                                                       */
  /* The macro FT_PUBLIC_FILE is used to include a FreeType 2 public file. */
  /* Its parameter is the file pathname, relative to the public root of a  */
  /* given header file.                                                    */
  /*                                                                       */
#define FT_PUBLIC_FILE( x )  <FT_ROOT/x>


  /*************************************************************************/
  /*                                                                       */
  /* The macro FT_CONFIG_FILE is used to include a FreeType 2 config file. */
  /* Its parameter is the file pathname, relative to the configuration     */
  /* root directory of a given header file.                                */
  /*                                                                       */
#define FT_CONFIG_FILE( x )  <FT_CONFIG_ROOT/x>


  /*************************************************************************/
  /*                                                                       */
  /* The macro FT_INTERNAL_FILE is used to include a FreeType 2 internal   */
  /* file.  Its parameter is the file pathname, relative to the            */
  /* configuration root directory of a given header file.                  */
  /*                                                                       */
#define FT_INTERNAL_FILE( x )  <FT_ROOT/internal/x>


  /*************************************************************************/
  /*                                                                       */
  /* The macro FT_COMPONENT_FILE is used to include a given FreeType 2     */
  /* component source file (be it a header, a C source file, or an         */
  /* included file).                                                       */
  /*                                                                       */
  /* Its first argument is the component/module's directory according to   */
  /* the normal FreeType 2 source directory hierarchy, and the second one  */
  /* the file name.                                                        */
  /*                                                                       */
  /* Note that you can also put all library source files in a single       */
  /* directory and compile them normally by defining the macro             */
  /* FT_FLAT_COMPILATION.                                                  */
  /*                                                                       */
#define FT_COMPONENT_FILE( d, x )  <FT_ROOT/d/x>


  /*************************************************************************/
  /*                                                                       */
  /* The macro FT_SOURCE_FILE is used to include a given FreeType 2        */
  /* component source file (be it a header, a C source file, or an         */
  /* included file).                                                       */
  /*                                                                       */
  /* Its first argument is the component/module's directory according to   */
  /* the normal FreeType 2 source directory hierarchy, and the second one  */
  /* the file name.                                                        */
  /*                                                                       */
  /* Note that you can also put all library source files in a single       */
  /* directory and compile them normally by defining the macro             */
  /* FT_FLAT_COMPILATION.                                                  */
  /*                                                                       */
#ifdef  FT_FLAT_COMPILATION
#define FT_SOURCE_FILE( d, x )  <d/x>
#else
#define FT_SOURCE_FILE( d, x )  "x"
#endif


  /*************************************************************************/
  /*                                                                       */
  /* <Macro>                                                               */
  /*    FT_BEGIN_HEADER                                                    */
  /*                                                                       */
  /* <Description>                                                         */
  /*    This macro is used in association with @FT_END_HEADER in header    */
  /*    files to ensure that the declarations within are properly          */
  /*    encapsulated in an `extern "C" { .. }' block when included from a  */
  /*    C++ compiler.                                                      */
  /*                                                                       */
#ifdef __cplusplus
#define FT_BEGIN_HEADER  extern "C" {
#else
#define FT_BEGIN_HEADER  /* nothing */
#endif


  /*************************************************************************/
  /*                                                                       */
  /* <Macro>                                                               */
  /*    FT_END_HEADER                                                      */
  /*                                                                       */
  /* <Description>                                                         */
  /*    This macro is used in association with @FT_BEGIN_HEADER in header  */
  /*    files to ensure that the declarations within are properly          */
  /*    encapsulated in an `extern "C" { .. }' block when included from a  */
  /*    C++ compiler.                                                      */
  /*                                                                       */
#ifdef __cplusplus
#define FT_END_HEADER  }
#else
#define FT_END_HEADER  /* nothing */
#endif


  /*************************************************************************/
  /*                                                                       */
  /* Aliases for the FreeType 2 public and configuration files.            */
  /*                                                                       */
  /*************************************************************************/

  /* don't add spaces around arguments to FT_CONFIG_FILE! */

  /* configuration files */
#ifndef   FT_CONFIG_CONFIG_H
#  define FT_CONFIG_CONFIG_H     FT_CONFIG_FILE(ftconfig.h)
#endif

#ifndef   FT_CONFIG_OPTIONS_H
#  define FT_CONFIG_OPTIONS_H    FT_CONFIG_FILE(ftoption.h)
#endif

#ifndef   FT_CONFIG_MODULES_H
#  define FT_CONFIG_MODULES_H    FT_CONFIG_FILE(ftmodule.h)
#endif

  /* public headers */
#define FT_ERRORS_H            FT_PUBLIC_FILE(fterrors.h)
#define FT_SYSTEM_H            FT_PUBLIC_FILE(ftsystem.h)
#define FT_IMAGE_H             FT_PUBLIC_FILE(ftimage.h)

#define FT_TYPES_H             FT_PUBLIC_FILE(fttypes.h)

#define FT_FREETYPE_H          FT_PUBLIC_FILE(freetype.h)
#define FT_GLYPH_H             FT_PUBLIC_FILE(ftglyph.h)
#define FT_BBOX_H              FT_PUBLIC_FILE(ftbbox.h)
#define FT_CACHE_H             FT_PUBLIC_FILE(ftcache.h)
#define FT_LIST_H              FT_PUBLIC_FILE(ftlist.h)
#define FT_MAC_H               FT_PUBLIC_FILE(ftmac.h)
#define FT_MULTIPLE_MASTERS_H  FT_PUBLIC_FILE(ftmm.h)
#define FT_MODULE_H            FT_PUBLIC_FILE(ftmodule.h)
#define FT_NAMES_H             FT_PUBLIC_FILE(ftnames.h)
#define FT_OUTLINE_H           FT_PUBLIC_FILE(ftoutln.h)
#define FT_RENDER_H            FT_PUBLIC_FILE(ftrender.h)
#define FT_SYNTHESIS_H         FT_PUBLIC_FILE(ftsynth.h)
#define FT_TYPE1_TABLES_H      FT_PUBLIC_FILE(t1tables.h)
#define FT_TRUETYPE_NAMES_H    FT_PUBLIC_FILE(ttnameid.h)
#define FT_TRUETYPE_TABLES_H   FT_PUBLIC_FILE(tttables.h)
#define FT_TRUETYPE_TAGS_H     FT_PUBLIC_FILE(tttags.h)


  /* now include internal headers definitions from <freetype/internal/...> */
#include FT_PUBLIC_FILE(internal/internal.h)


#endif /* __FT_BUILD_H__ */


/* END */
