| Instructions on how to build FreeType with your own build tool | |
| ============================================================== | |
| See the file `CUSTOMIZE' to learn how to customize FreeType to | |
| specific environments. | |
| I. Standard procedure | |
| --------------------- | |
| * DISABLE PRE-COMPILED HEADERS! This is very important for Visual | |
| C++, because FreeType uses lines like: | |
| #include FT_FREETYPE_H | |
| which are not correctly supported by this compiler while being ISO | |
| C compliant! | |
| * You need to add the directory `include' to your include path when | |
| compiling the library. | |
| * FreeType 2 is made of several components; each of them is located | |
| in a subdirectory of `freetype2/src'. For example, | |
| `freetype2/src/truetype/' contains the TrueType font driver. | |
| * DO NOT COMPILE ALL C FILES! Rather, compile the following ones. | |
| -- base components (required) | |
| src/base/ftsystem.c | |
| src/base/ftinit.c | |
| src/base/ftdebug.c | |
| src/base/ftbase.c | |
| src/base/ftbbox.c -- recommended, see <ftbbox.h> | |
| src/base/ftglyph.c -- recommended, see <ftglyph.h> | |
| src/base/ftbdf.c -- optional, see <ftbdf.h> | |
| src/base/ftbitmap.c -- optional, see <ftbitmap.h> | |
| src/base/ftcid.c -- optional, see <ftcid.h> | |
| src/base/ftfntfmt.c -- optional, see <ftfntfmt.h> | |
| src/base/ftfstype.c -- optional | |
| src/base/ftgasp.c -- optional, see <ftgasp.h> | |
| src/base/ftgxval.c -- optional, see <ftgxval.h> | |
| src/base/ftlcdfil.c -- optional, see <ftlcdfil.h> | |
| src/base/ftmm.c -- optional, see <ftmm.h> | |
| src/base/ftotval.c -- optional, see <ftotval.h> | |
| src/base/ftpatent.c -- optional | |
| src/base/ftpfr.c -- optional, see <ftpfr.h> | |
| src/base/ftstroke.c -- optional, see <ftstroke.h> | |
| src/base/ftsynth.c -- optional, see <ftsynth.h> | |
| src/base/fttype1.c -- optional, see <t1tables.h> | |
| src/base/ftwinfnt.c -- optional, see <ftwinfnt.h> | |
| src/base/ftmac.c -- only on the Macintosh | |
| -- font drivers (optional; at least one is needed) | |
| src/bdf/bdf.c -- BDF font driver | |
| src/cff/cff.c -- CFF/OpenType font driver | |
| src/cid/type1cid.c -- Type 1 CID-keyed font driver | |
| src/pcf/pcf.c -- PCF font driver | |
| src/pfr/pfr.c -- PFR/TrueDoc font driver | |
| src/sfnt/sfnt.c -- SFNT files support | |
| (TrueType & OpenType) | |
| src/truetype/truetype.c -- TrueType font driver | |
| src/type1/type1.c -- Type 1 font driver | |
| src/type42/type42.c -- Type 42 font driver | |
| src/winfonts/winfnt.c -- Windows FONT / FNT font driver | |
| -- rasterizers (optional; at least one is needed for vector | |
| formats) | |
| src/raster/raster.c -- monochrome rasterizer | |
| src/smooth/smooth.c -- anti-aliasing rasterizer | |
| -- auxiliary modules (optional) | |
| src/autofit/autofit.c -- auto hinting module | |
| src/cache/ftcache.c -- cache sub-system (in beta) | |
| src/gzip/ftgzip.c -- support for compressed fonts (.gz) | |
| src/lzw/ftlzw.c -- support for compressed fonts (.Z) | |
| src/bzip2/ftbzip2.c -- support for compressed fonts (.bz2) | |
| src/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation | |
| src/otvalid/otvalid.c -- OpenType table validation | |
| src/psaux/psaux.c -- PostScript Type 1 parsing | |
| src/pshinter/pshinter.c -- PS hinting module | |
| src/psnames/psnames.c -- PostScript glyph names support | |
| Notes: | |
| `ftcache.c' needs `ftglyph.c' | |
| `ftfstype.c' needs `fttype1.c' | |
| `ftglyph.c' needs `ftbitmap.c' | |
| `ftstroke.c' needs `ftglyph.c' | |
| `ftsynth.c' needs `ftbitmap.c' | |
| `cff.c' needs `sfnt.c', `pshinter.c', and `psnames.c' | |
| `truetype.c' needs `sfnt.c' and `psnames.c' | |
| `type1.c' needs `psaux.c' `pshinter.c', and `psnames.c' | |
| `type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c' | |
| `type42.c' needs `truetype.c' | |
| Please consult the central `include/freetype/config/ftoption.h' | |
| configuration file for details on additional libraries necessary | |
| for some optional features. | |
| Read the file `CUSTOMIZE' in case you want to compile only a subset | |
| of the drivers, renderers, and optional modules; a detailed | |
| description of the various base extension is given in the top-level | |
| file `modules.cfg'. | |
| You are done. In case of problems, see the archives of the FreeType | |
| development mailing list. | |
| II. Support for flat-directory compilation | |
| ------------------------------------------ | |
| It is possible to put all FreeType 2 source files into a single | |
| directory, with the *exception* of the `include' hierarchy. | |
| 1. Copy all files in current directory | |
| cp freetype2/src/base/*.[hc] . | |
| cp freetype2/src/raster1/*.[hc] . | |
| cp freetype2/src/smooth/*.[hc] . | |
| etc. | |
| 2. Compile sources | |
| cc -c -Iinclude -DFT2_BUILD_LIBRARY ftsystem.c | |
| cc -c -Iinclude -DFT2_BUILD_LIBRARY ftinit.c | |
| cc -c -Iinclude -DFT2_BUILD_LIBRARY ftdebug.c | |
| cc -c -Iinclude -DFT2_BUILD_LIBRARY ftbase.c | |
| etc. | |
| You don't need to define the FT_FLAT_COMPILATION macro (as this | |
| was required in previous releases of FreeType 2). | |
| ---------------------------------------------------------------------- | |
| Copyright 2003-2015 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. | |
| --- end of INSTALL.ANY --- |