blob: 133b45fe6e1443b59bd58bc8edba603ba5c41fc6 [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 Lemberga16c4a72003-04-21 13:30:27 +00004See the file "CUSTOMIZE" to learn how to customize FreeType to specific
5environments.
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 Lemberga16c4a72003-04-21 13:30:27 +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:
13
Werner Lemberga16c4a72003-04-21 13:30:27 +000014 #include FT_FREETYPE_H
David Turner66cbc202003-03-20 07:04:40 +000015
Werner Lemberga16c4a72003-04-21 13:30:27 +000016 which are not correctly supported by this compiler while being ISO C
17 compliant!
David Turner66cbc202003-03-20 07:04:40 +000018
19 * You need to add the directories "freetype2/include" to your include
20 path when compiling the library.
21
Werner Lemberga16c4a72003-04-21 13:30:27 +000022 * FreeType 2 is made of several components; each of them is located in
23 a subdirectory of "freetype2/src". For example,
David Turner66cbc202003-03-20 07:04:40 +000024 'freetype2/src/truetype/' contains the TrueType font driver.
25
26 * DO NOT COMPILE ALL C FILES! Rather, compile the following ones:
27
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
33 src/base/ftbase.c
34 src/base/ftglyph.c
35 src/base/ftbbox.c
36 src/base/ftmm.c
37 src/base/ftpfr.c -- optional, see <freetype/ftpfr.h>
38 src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>
39 src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>
David Turner66cbc202003-03-20 07:04:40 +000040
Werner Lemberga16c4a72003-04-21 13:30:27 +000041 src/base/ftmac.c -- only on the Macintosh
David Turner66cbc202003-03-20 07:04:40 +000042
Werner Lemberga16c4a72003-04-21 13:30:27 +000043 -- other components (optional)
David Turner66cbc202003-03-20 07:04:40 +000044
Werner Lemberga37745b2005-03-23 16:45:24 +000045 src/autofit/autofit.c -- auto hinting module
Werner Lemberga16c4a72003-04-21 13:30:27 +000046 src/cache/ftcache.c -- cache sub-system (in beta)
47 src/sfnt/sfnt.c -- SFNT files support
48 (TrueType & OpenType)
49 src/cff/cff.c -- CFF/OpenType font driver
50 src/pfr/pfr.c -- PFR/TrueDoc font driver
51 src/bdf/bdf.c -- BDF font driver
52 src/pcf/pcf.c -- PCF font driver
53 src/psnames/psnames.c -- PostScript glyph names support
54 src/psaux/psaux.c -- PostScript Type 1 parsing
55 src/truetype/truetype.c -- TrueType font driver
56 src/type1/type1.c -- Type 1 font driver
57 src/cid/type1cid.c -- Type 1 CID-keyed font driver
58 src/winfonts/winfonts.c -- Windows FONT / FNT font driver
59 src/raster1/raster1.c -- monochrome rasterizer
60 src/smooth/smooth.c -- anti-aliasing rasterizer
David Turner66cbc202003-03-20 07:04:40 +000061
Werner Lemberga16c4a72003-04-21 13:30:27 +000062 Notes:
David Turner66cbc202003-03-20 07:04:40 +000063
64 `truetype.c' needs `sfnt.c' and `psnames.c'
65 `type1.c' needs `psaux.c' and `psnames.c'
66 `type1cid.c' needs `psaux.c' and `psnames.c'
67 `cff.c' needs `sfnt.c', `psaux.c', and `psnames.c'
68
Werner Lemberga16c4a72003-04-21 13:30:27 +000069
70 You are done. In case of problems, see the archives of the FreeType
71 development mailing list.
David Turner66cbc202003-03-20 07:04:40 +000072
73
74II. Support for flat-directory compilation
75------------------------------------------
76
Werner Lemberga16c4a72003-04-21 13:30:27 +000077 It is possible to put all FreeType 2 source files into a single
David Turner66cbc202003-03-20 07:04:40 +000078 directory, with the *exception* of the `include' hierarchy.
79
Werner Lemberga16c4a72003-04-21 13:30:27 +000080 1. Copy all files in current directory
David Turner66cbc202003-03-20 07:04:40 +000081
Werner Lemberga16c4a72003-04-21 13:30:27 +000082 cp freetype2/src/base/*.[hc] .
83 cp freetype2/src/raster1/*.[hc] .
84 cp freetype2/src/smooth/*.[hc] .
85 etc.
David Turner66cbc202003-03-20 07:04:40 +000086
Werner Lemberga16c4a72003-04-21 13:30:27 +000087 2. Compile sources
David Turner66cbc202003-03-20 07:04:40 +000088
Werner Lemberga16c4a72003-04-21 13:30:27 +000089 cc -c -Ifreetype2/include ftsystem.c
90 cc -c -Ifreetype2/include ftinit.c
91 cc -c -Ifreetype2/include ftdebug.c
92 cc -c -Ifreetype2/include ftbase.c
93 etc.
David Turner66cbc202003-03-20 07:04:40 +000094
Werner Lemberga16c4a72003-04-21 13:30:27 +000095 You don't need to define the FT_FLAT_COMPILATION macro (as this was
96 required in previous releases of FreeType 2).
David Turner66cbc202003-03-20 07:04:40 +000097
Werner Lemberg56c368c2005-06-04 23:00:25 +000098------------------------------------------------------------------------
99
100Copyright 2003, 2005 by
101David Turner, Robert Wilhelm, and Werner Lemberg.
102
103This file is part of the FreeType project, and may only be used,
104modified, and distributed under the terms of the FreeType project
105license, LICENSE.TXT. By continuing to use, modify, or distribute this
106file you indicate that you have read the license and understand and
107accept it fully.
108
Werner Lemberga16c4a72003-04-21 13:30:27 +0000109
110--- end of INSTALL.ANY ---