blob: 06f65d7c780669477226c05e6c2630617df0c0d3 [file] [log] [blame]
Werner Lemberga16c4a72003-04-21 13:30:27 +00001Instructions on how to build FreeType with your own build tool
2==============================================================
David Turner66cbc202003-03-20 07:04:40 +00003
Werner Lemberg59939242006-01-31 20:17:42 +00004See the file `CUSTOMIZE' to learn how to customize FreeType to
5specific environments.
David Turner66cbc202003-03-20 07:04:40 +00006
David Turner66cbc202003-03-20 07:04:40 +00007
Werner Lemberga16c4a72003-04-21 13:30:27 +00008I. Standard procedure
9---------------------
David Turner66cbc202003-03-20 07:04:40 +000010
Werner Lemberg59939242006-01-31 20:17:42 +000011 * DISABLE PRE-COMPILED HEADERS! This is very important for Visual
David Turner66cbc202003-03-20 07:04:40 +000012 C++, because FreeType uses lines like:
Werner Lemberg9b774e22007-01-16 06:11:27 +000013
Werner Lemberga16c4a72003-04-21 13:30:27 +000014 #include FT_FREETYPE_H
Werner Lemberg9b774e22007-01-16 06:11:27 +000015
Werner Lemberg59939242006-01-31 20:17:42 +000016 which are not correctly supported by this compiler while being ISO
17 C compliant!
David Turner66cbc202003-03-20 07:04:40 +000018
Werner Lemberg59939242006-01-31 20:17:42 +000019 * You need to add the directories `freetype2/include' to your
20 include path when compiling the library.
David Turner66cbc202003-03-20 07:04:40 +000021
Werner Lemberg59939242006-01-31 20:17:42 +000022 * FreeType 2 is made of several components; each of them is located
23 in a subdirectory of `freetype2/src'. For example,
Werner Lembergf20a4d32005-08-10 13:24:51 +000024 `freetype2/src/truetype/' contains the TrueType font driver.
David Turner66cbc202003-03-20 07:04:40 +000025
Werner Lemberg59939242006-01-31 20:17:42 +000026 * DO NOT COMPILE ALL C FILES! Rather, compile the following ones.
David Turner66cbc202003-03-20 07:04:40 +000027
Werner Lemberga16c4a72003-04-21 13:30:27 +000028 -- base components (required)
David Turner66cbc202003-03-20 07:04:40 +000029
Werner Lemberga16c4a72003-04-21 13:30:27 +000030 src/base/ftsystem.c
31 src/base/ftinit.c
32 src/base/ftdebug.c
Werner Lembergf20a4d32005-08-10 13:24:51 +000033
Werner Lemberga16c4a72003-04-21 13:30:27 +000034 src/base/ftbase.c
Werner Lembergf20a4d32005-08-10 13:24:51 +000035
36 src/base/ftbbox.c -- recommended, see <freetype/ftbbox.h>
37 src/base/ftglyph.c -- recommended, see <freetype/ftglyph.h>
38
Werner Lemberga16c4a72003-04-21 13:30:27 +000039 src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>
Werner Lembergf20a4d32005-08-10 13:24:51 +000040 src/base/ftbitmap.c -- optional, see <freetype/ftbitmap.h>
Werner Lemberg07791632005-12-12 07:40:58 +000041 src/base/ftgxval.c -- optional, see <freetype/ftgxval.h>
Werner Lembergf20a4d32005-08-10 13:24:51 +000042 src/base/ftmm.c -- optional, see <freetype/ftmm.h>
Werner Lemberg07791632005-12-12 07:40:58 +000043 src/base/ftotval.c -- optional, see <freetype/ftotval.h>
Werner Lembergf20a4d32005-08-10 13:24:51 +000044 src/base/ftpfr.c -- optional, see <freetype/ftpfr.h>
Werner Lemberg07791632005-12-12 07:40:58 +000045 src/base/ftstroke.c -- optional, see <freetype/ftstroke.h>
46 src/base/ftsynth.c -- optional, see <freetype/ftsynth.h>
47 src/base/fttype1.c -- optional, see <freetype/t1tables.h>
Werner Lemberga16c4a72003-04-21 13:30:27 +000048 src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>
David Turner66cbc202003-03-20 07:04:40 +000049
Werner Lemberga16c4a72003-04-21 13:30:27 +000050 src/base/ftmac.c -- only on the Macintosh
David Turner66cbc202003-03-20 07:04:40 +000051
Werner Lemberg2b428d52005-10-15 05:49:31 +000052 -- font drivers (optional; at least one is needed)
Werner Lembergf20a4d32005-08-10 13:24:51 +000053
54 src/bdf/bdf.c -- BDF font driver
55 src/cff/cff.c -- CFF/OpenType font driver
56 src/cid/type1cid.c -- Type 1 CID-keyed font driver
57 src/pcf/pcf.c -- PCF font driver
58 src/pfr/pfr.c -- PFR/TrueDoc font driver
59 src/sfnt/sfnt.c -- SFNT files support
60 (TrueType & OpenType)
61 src/truetype/truetype.c -- TrueType font driver
62 src/type1/type1.c -- Type 1 font driver
63 src/type42/type42.c -- Type 42 font driver
Werner Lemberg8b560632006-01-19 08:30:58 +000064 src/winfonts/winfnt.c -- Windows FONT / FNT font driver
Werner Lembergf20a4d32005-08-10 13:24:51 +000065
Werner Lemberg59939242006-01-31 20:17:42 +000066 -- rasterizers (optional; at least one is needed for
67 vector formats)
Werner Lembergf20a4d32005-08-10 13:24:51 +000068
Werner Lemberg2b428d52005-10-15 05:49:31 +000069 src/raster/raster.c -- monochrome rasterizer
Werner Lembergf20a4d32005-08-10 13:24:51 +000070 src/smooth/smooth.c -- anti-aliasing rasterizer
71
72 -- auxiliary modules (optional)
David Turner66cbc202003-03-20 07:04:40 +000073
Werner Lemberga37745b2005-03-23 16:45:24 +000074 src/autofit/autofit.c -- auto hinting module
Werner Lemberga16c4a72003-04-21 13:30:27 +000075 src/cache/ftcache.c -- cache sub-system (in beta)
Werner Lembergf20a4d32005-08-10 13:24:51 +000076 src/gzip/ftgzip.c -- support for compressed fonts (.gz)
77 src/lzw/ftlzw.c -- support for compressed fonts (.Z)
Suzuki, Toshiya (鈴木俊哉)a4386212005-08-24 04:31:31 +000078 src/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation
Werner Lembergf20a4d32005-08-10 13:24:51 +000079 src/otvalid/otvalid.c -- OpenType table validation
Werner Lemberga16c4a72003-04-21 13:30:27 +000080 src/psaux/psaux.c -- PostScript Type 1 parsing
Werner Lembergf20a4d32005-08-10 13:24:51 +000081 src/pshinter/pshinter.c -- PS hinting module
82 src/psnames/psnames.c -- PostScript glyph names support
83
David Turner66cbc202003-03-20 07:04:40 +000084
Werner Lemberga16c4a72003-04-21 13:30:27 +000085 Notes:
David Turner66cbc202003-03-20 07:04:40 +000086
Werner Lembergf20a4d32005-08-10 13:24:51 +000087 `cff.c' needs `sfnt.c', `pshinter.c', and `psnames.c'
David Turner66cbc202003-03-20 07:04:40 +000088 `truetype.c' needs `sfnt.c' and `psnames.c'
Werner Lembergf20a4d32005-08-10 13:24:51 +000089 `type1.c' needs `psaux.c' `pshinter.c', and `psnames.c'
90 `type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'
91 `type42.c' needs `truetype.c'
David Turner66cbc202003-03-20 07:04:40 +000092
Werner Lemberga16c4a72003-04-21 13:30:27 +000093
Werner Lemberg59939242006-01-31 20:17:42 +000094 Read the file `CUSTOMIZE' in case you want to compile only a subset
95 of the drivers, renderers, and optional modules; a detailed
96 description of the various base extension is given in the top-level
97 file `modules.cfg'.
Werner Lemberga7235262005-08-30 00:22:46 +000098
Werner Lemberg59939242006-01-31 20:17:42 +000099 You are done. In case of problems, see the archives of the FreeType
Werner Lemberga16c4a72003-04-21 13:30:27 +0000100 development mailing list.
David Turner66cbc202003-03-20 07:04:40 +0000101
102
103II. Support for flat-directory compilation
104------------------------------------------
105
Werner Lemberg59939242006-01-31 20:17:42 +0000106 It is possible to put all FreeType 2 source files into a single
David Turner66cbc202003-03-20 07:04:40 +0000107 directory, with the *exception* of the `include' hierarchy.
108
Werner Lemberga16c4a72003-04-21 13:30:27 +0000109 1. Copy all files in current directory
David Turner66cbc202003-03-20 07:04:40 +0000110
Werner Lemberga16c4a72003-04-21 13:30:27 +0000111 cp freetype2/src/base/*.[hc] .
112 cp freetype2/src/raster1/*.[hc] .
113 cp freetype2/src/smooth/*.[hc] .
114 etc.
David Turner66cbc202003-03-20 07:04:40 +0000115
Werner Lemberga16c4a72003-04-21 13:30:27 +0000116 2. Compile sources
David Turner66cbc202003-03-20 07:04:40 +0000117
Werner Lemberga16c4a72003-04-21 13:30:27 +0000118 cc -c -Ifreetype2/include ftsystem.c
119 cc -c -Ifreetype2/include ftinit.c
120 cc -c -Ifreetype2/include ftdebug.c
121 cc -c -Ifreetype2/include ftbase.c
122 etc.
David Turner66cbc202003-03-20 07:04:40 +0000123
Werner Lemberg59939242006-01-31 20:17:42 +0000124 You don't need to define the FT_FLAT_COMPILATION macro (as this
125 was required in previous releases of FreeType 2).
David Turner66cbc202003-03-20 07:04:40 +0000126
Werner Lemberg59939242006-01-31 20:17:42 +0000127----------------------------------------------------------------------
Werner Lemberg56c368c2005-06-04 23:00:25 +0000128
Werner Lemberg8b560632006-01-19 08:30:58 +0000129Copyright 2003, 2005, 2006 by
Werner Lemberg56c368c2005-06-04 23:00:25 +0000130David Turner, Robert Wilhelm, and Werner Lemberg.
131
Werner Lemberg59939242006-01-31 20:17:42 +0000132This file is part of the FreeType project, and may only be used,
133modified, and distributed under the terms of the FreeType project
134license, LICENSE.TXT. By continuing to use, modify, or distribute
135this file you indicate that you have read the license and understand
136and accept it fully.
Werner Lemberg56c368c2005-06-04 23:00:25 +0000137
Werner Lemberga16c4a72003-04-21 13:30:27 +0000138
139--- end of INSTALL.ANY ---