blob: af3f6e7a311d01a2ef7ef15835931db3f6054746 [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 Lemberga16c4a72003-04-21 13:30:27 +000045 src/autohint/autohint.c -- auto hinting module
46 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 Lemberga16c4a72003-04-21 13:30:27 +000098
99--- end of INSTALL.ANY ---