michael@0: Instructions on how to build FreeType with your own build tool michael@0: ============================================================== michael@0: michael@0: See the file `CUSTOMIZE' to learn how to customize FreeType to michael@0: specific environments. michael@0: michael@0: michael@0: I. Standard procedure michael@0: --------------------- michael@0: michael@0: * DISABLE PRE-COMPILED HEADERS! This is very important for Visual michael@0: C++, because FreeType uses lines like: michael@0: michael@0: #include FT_FREETYPE_H michael@0: michael@0: which are not correctly supported by this compiler while being ISO michael@0: C compliant! michael@0: michael@0: * You need to add the directories `freetype2/include' to your michael@0: include path when compiling the library. michael@0: michael@0: * FreeType 2 is made of several components; each of them is located michael@0: in a subdirectory of `freetype2/src'. For example, michael@0: `freetype2/src/truetype/' contains the TrueType font driver. michael@0: michael@0: * DO NOT COMPILE ALL C FILES! Rather, compile the following ones. michael@0: michael@0: -- base components (required) michael@0: michael@0: src/base/ftsystem.c michael@0: src/base/ftinit.c michael@0: src/base/ftdebug.c michael@0: michael@0: src/base/ftbase.c michael@0: michael@0: src/base/ftbbox.c -- recommended, see michael@0: src/base/ftglyph.c -- recommended, see michael@0: michael@0: src/base/ftbdf.c -- optional, see michael@0: src/base/ftbitmap.c -- optional, see michael@0: src/base/ftcid.c -- optional, see michael@0: src/base/ftfstype.c -- optional michael@0: src/base/ftgasp.c -- optional, see michael@0: src/base/ftgxval.c -- optional, see michael@0: src/base/ftlcdfil.c -- optional, see michael@0: src/base/ftmm.c -- optional, see michael@0: src/base/ftotval.c -- optional, see michael@0: src/base/ftpatent.c -- optional michael@0: src/base/ftpfr.c -- optional, see michael@0: src/base/ftstroke.c -- optional, see michael@0: src/base/ftsynth.c -- optional, see michael@0: src/base/fttype1.c -- optional, see michael@0: src/base/ftwinfnt.c -- optional, see michael@0: src/base/ftxf86.c -- optional, see michael@0: michael@0: src/base/ftmac.c -- only on the Macintosh michael@0: michael@0: -- font drivers (optional; at least one is needed) michael@0: michael@0: src/bdf/bdf.c -- BDF font driver michael@0: src/cff/cff.c -- CFF/OpenType font driver michael@0: src/cid/type1cid.c -- Type 1 CID-keyed font driver michael@0: src/pcf/pcf.c -- PCF font driver michael@0: src/pfr/pfr.c -- PFR/TrueDoc font driver michael@0: src/sfnt/sfnt.c -- SFNT files support michael@0: (TrueType & OpenType) michael@0: src/truetype/truetype.c -- TrueType font driver michael@0: src/type1/type1.c -- Type 1 font driver michael@0: src/type42/type42.c -- Type 42 font driver michael@0: src/winfonts/winfnt.c -- Windows FONT / FNT font driver michael@0: michael@0: -- rasterizers (optional; at least one is needed for vector michael@0: formats) michael@0: michael@0: src/raster/raster.c -- monochrome rasterizer michael@0: src/smooth/smooth.c -- anti-aliasing rasterizer michael@0: michael@0: -- auxiliary modules (optional) michael@0: michael@0: src/autofit/autofit.c -- auto hinting module michael@0: src/cache/ftcache.c -- cache sub-system (in beta) michael@0: src/gzip/ftgzip.c -- support for compressed fonts (.gz) michael@0: src/lzw/ftlzw.c -- support for compressed fonts (.Z) michael@0: src/bzip2/ftbzip2.c -- support for compressed fonts (.bz2) michael@0: src/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation michael@0: src/otvalid/otvalid.c -- OpenType table validation michael@0: src/psaux/psaux.c -- PostScript Type 1 parsing michael@0: src/pshinter/pshinter.c -- PS hinting module michael@0: src/psnames/psnames.c -- PostScript glyph names support michael@0: michael@0: michael@0: Notes: michael@0: michael@0: `ftcache.c' needs `ftglyph.c' michael@0: `ftfstype.c' needs `fttype1.c' michael@0: `ftglyph.c' needs `ftbitmap.c' michael@0: `ftstroke.c' needs `ftglyph.c' michael@0: `ftsynth.c' needs `ftbitmap.c' michael@0: michael@0: `cff.c' needs `sfnt.c', `pshinter.c', and `psnames.c' michael@0: `truetype.c' needs `sfnt.c' and `psnames.c' michael@0: `type1.c' needs `psaux.c' `pshinter.c', and `psnames.c' michael@0: `type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c' michael@0: `type42.c' needs `truetype.c' michael@0: michael@0: To use `ftbzip2.c', an application must be linked with a library michael@0: which implements bzip2 support (and the bzip2 header files must michael@0: be available also during compilation). michael@0: michael@0: michael@0: Read the file `CUSTOMIZE' in case you want to compile only a subset michael@0: of the drivers, renderers, and optional modules; a detailed michael@0: description of the various base extension is given in the top-level michael@0: file `modules.cfg'. michael@0: michael@0: You are done. In case of problems, see the archives of the FreeType michael@0: development mailing list. michael@0: michael@0: michael@0: II. Support for flat-directory compilation michael@0: ------------------------------------------ michael@0: michael@0: It is possible to put all FreeType 2 source files into a single michael@0: directory, with the *exception* of the `include' hierarchy. michael@0: michael@0: 1. Copy all files in current directory michael@0: michael@0: cp freetype2/src/base/*.[hc] . michael@0: cp freetype2/src/raster1/*.[hc] . michael@0: cp freetype2/src/smooth/*.[hc] . michael@0: etc. michael@0: michael@0: 2. Compile sources michael@0: michael@0: cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftsystem.c michael@0: cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftinit.c michael@0: cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftdebug.c michael@0: cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftbase.c michael@0: etc. michael@0: michael@0: You don't need to define the FT_FLAT_COMPILATION macro (as this michael@0: was required in previous releases of FreeType 2). michael@0: michael@0: ---------------------------------------------------------------------- michael@0: michael@0: Copyright 2003, 2005, 2006, 2009, 2010, 2013 by michael@0: David Turner, Robert Wilhelm, and Werner Lemberg. michael@0: michael@0: This file is part of the FreeType project, and may only be used, michael@0: modified, and distributed under the terms of the FreeType project michael@0: license, LICENSE.TXT. By continuing to use, modify, or distribute michael@0: this file you indicate that you have read the license and understand michael@0: and accept it fully. michael@0: michael@0: michael@0: --- end of INSTALL.ANY ---