1Instructions on how to build FreeType with your own build tool 2============================================================== 3 4See the file `CUSTOMIZE' to learn how to customize FreeType to 5specific environments. 6 7 8I. Standard procedure 9--------------------- 10 11 * If you use macro names for FreeType header files (while mandatory 12 in earlier versions, this is now optional since FreeType version 13 2.10.3) it is necessary to disable pre-compiled headers. This is 14 very important for Visual C++, because lines like 15 16 #include FT_FREETYPE_H 17 18 are not correctly supported by this compiler while being ISO C 19 compliant! 20 21 * You need to add the directory `include' to your include path when 22 compiling the library. 23 24 * FreeType 2 is made of several components; each of them is located 25 in a subdirectory of `freetype2/src'. For example, 26 `freetype2/src/truetype/' contains the TrueType font driver. 27 28 * DO NOT COMPILE ALL C FILES! Rather, compile the following ones. 29 30 -- base components (required) 31 32 src/base/ftsystem.c 33 src/base/ftinit.c 34 src/base/ftdebug.c 35 36 src/base/ftbase.c 37 38 src/base/ftbbox.c -- recommended, see <ftbbox.h> 39 src/base/ftglyph.c -- recommended, see <ftglyph.h> 40 41 src/base/ftbdf.c -- optional, see <ftbdf.h> 42 src/base/ftbitmap.c -- optional, see <ftbitmap.h> 43 src/base/ftcid.c -- optional, see <ftcid.h> 44 src/base/ftfstype.c -- optional 45 src/base/ftgasp.c -- optional, see <ftgasp.h> 46 src/base/ftgxval.c -- optional, see <ftgxval.h> 47 src/base/ftmm.c -- optional, see <ftmm.h> 48 src/base/ftotval.c -- optional, see <ftotval.h> 49 src/base/ftpatent.c -- optional 50 src/base/ftpfr.c -- optional, see <ftpfr.h> 51 src/base/ftstroke.c -- optional, see <ftstroke.h> 52 src/base/ftsynth.c -- optional, see <ftsynth.h> 53 src/base/fttype1.c -- optional, see <t1tables.h> 54 src/base/ftwinfnt.c -- optional, see <ftwinfnt.h> 55 56 src/base/ftmac.c -- only on the Macintosh 57 58 -- font drivers (optional; at least one is needed) 59 60 src/bdf/bdf.c -- BDF font driver 61 src/cff/cff.c -- CFF/OpenType font driver 62 src/cid/type1cid.c -- Type 1 CID-keyed font driver 63 src/pcf/pcf.c -- PCF font driver 64 src/pfr/pfr.c -- PFR/TrueDoc font driver 65 src/sfnt/sfnt.c -- SFNT files support 66 (TrueType & OpenType) 67 src/truetype/truetype.c -- TrueType font driver 68 src/type1/type1.c -- Type 1 font driver 69 src/type42/type42.c -- Type 42 font driver 70 src/winfonts/winfnt.c -- Windows FONT / FNT font driver 71 72 -- rasterizers (optional; at least one is needed for vector 73 formats) 74 75 src/raster/raster.c -- monochrome rasterizer 76 src/smooth/smooth.c -- anti-aliasing rasterizer 77 78 -- auxiliary modules (optional) 79 80 src/autofit/autofit.c -- auto hinting module 81 src/cache/ftcache.c -- cache sub-system (in beta) 82 src/gzip/ftgzip.c -- support for compressed fonts (.gz) 83 src/lzw/ftlzw.c -- support for compressed fonts (.Z) 84 src/bzip2/ftbzip2.c -- support for compressed fonts (.bz2) 85 src/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation 86 src/otvalid/otvalid.c -- OpenType table validation 87 src/psaux/psaux.c -- PostScript Type 1 parsing 88 src/pshinter/pshinter.c -- PS hinting module 89 src/psnames/psnames.c -- PostScript glyph names support 90 91 92 Notes: 93 94 `ftcache.c' needs `ftglyph.c' 95 `ftfstype.c' needs `fttype1.c' 96 `ftglyph.c' needs `ftbitmap.c' 97 `ftstroke.c' needs `ftglyph.c' 98 `ftsynth.c' needs `ftbitmap.c' 99 100 `cff.c' needs `sfnt.c', `pshinter.c', and `psnames.c' 101 `truetype.c' needs `sfnt.c' and `psnames.c' 102 `type1.c' needs `psaux.c' `pshinter.c', and `psnames.c' 103 `type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c' 104 `type42.c' needs `truetype.c' 105 106 Please consult the central `include/freetype/config/ftoption.h' 107 configuration file for details on additional libraries necessary 108 for some optional features. 109 110 111 Read the file `CUSTOMIZE' in case you want to compile only a subset 112 of the drivers, renderers, and optional modules; a detailed 113 description of the various base extension is given in the top-level 114 file `modules.cfg'. 115 116 You are done. In case of problems, see the archives of the FreeType 117 development mailing list. 118 119 120II. Support for flat-directory compilation 121------------------------------------------ 122 123 It is possible to put all FreeType 2 source files into a single 124 directory, with the *exception* of the `include' hierarchy. 125 126 1. Copy all files in current directory 127 128 cp freetype2/src/base/*.[hc] . 129 cp freetype2/src/raster1/*.[hc] . 130 cp freetype2/src/smooth/*.[hc] . 131 etc. 132 133 2. Compile sources 134 135 cc -c -Iinclude -DFT2_BUILD_LIBRARY ftsystem.c 136 cc -c -Iinclude -DFT2_BUILD_LIBRARY ftinit.c 137 cc -c -Iinclude -DFT2_BUILD_LIBRARY ftdebug.c 138 cc -c -Iinclude -DFT2_BUILD_LIBRARY ftbase.c 139 etc. 140 141 You don't need to define the FT_FLAT_COMPILATION macro (as this 142 was required in previous releases of FreeType 2). 143 144---------------------------------------------------------------------- 145 146Copyright (C) 2003-2020 by 147David Turner, Robert Wilhelm, and Werner Lemberg. 148 149This file is part of the FreeType project, and may only be used, 150modified, and distributed under the terms of the FreeType project 151license, LICENSE.TXT. By continuing to use, modify, or distribute 152this file you indicate that you have read the license and understand 153and accept it fully. 154 155 156--- end of INSTALL.ANY --- 157