/***************************************************************************/
/*                                                                         */
/*  ft2build.h                                                             */
/*                                                                         */
/*    FreeType 2 build and setup macros.                                   */
/*    (Generic version)                                                    */
/*                                                                         */
/*  Copyright 1996-2001, 2003 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 is a development version of <ft2build.h> that is used
  *  to build the library in debug mode.  Its only difference with
  *  the reference is that it forces the use of the local "ftoption.h"
  *  which contains different settings for all configuration macros.
  *
  *  To use it, you must define the environment variable FT2_BUILD_INCLUDE
  *  to point to the directory containing these two files ("ft2build.h" and
  *  "ftoption.h"), then invoke Jam as usual.
  */

#ifndef __FT2_BUILD_GENERIC_H__
#define __FT2_BUILD_GENERIC_H__

#define  FT_CONFIG_OPTIONS_H   <ftoption.h>

#include <freetype/config/ftheader.h>

#endif /* __FT2_BUILD_GENERIC_H__ */


/* END */
