blob: 07c2641b69892577cf7fd9dd2ae3fa4218c71bb9 [file] [log] [blame]
Werner Lemberg098ab262000-11-02 07:53:08 +00001In order to build the library, read the `BUILD' document in the `docs'
Werner Lemberg5a2fdc02000-12-14 22:57:17 +00002directory. This is only a quick starter.
David Turnerc3c7e7f2000-03-13 14:19:31 +00003
Werner Lemberge4b32a52000-10-31 20:42:18 +00004
Werner Lemberg5a2fdc02000-12-14 22:57:17 +00005I. From the command line
6------------------------
7
Werner Lemberg9a8b5362001-03-12 22:33:52 +00008 You need to have GNU Make (version 3.78.1 or newer) installed on
9 your system to compile the library from the command line. This will
David Turner6ce03ef2001-03-20 14:50:04 +000010 _NOT_ work with other make tools (including BSD make)!
Werner Lemberg5a2fdc02000-12-14 22:57:17 +000011
12 [Well, this is not really correct. Recently, a perl implementation
13 of make called `makepp' has appeared which can also build FreeType 2
14 successfully on Unix platforms. See http://LNC.usc.edu/~holt/makepp
15 for more details.]
David Turnerb1aabf42000-11-30 23:48:22 +000016
Werner Lemberg4c80f0c2000-12-01 17:25:58 +000017 - Go to the `freetype2' directory.
David Turnerb1aabf42000-11-30 23:48:22 +000018
Werner Lemberg5a2fdc02000-12-14 22:57:17 +000019 - Unix (any C compiler should work):
David Turnerb1aabf42000-11-30 23:48:22 +000020
Werner Lemberg4c80f0c2000-12-01 17:25:58 +000021 - make setup (don't worry, this will invoke a configure script)
22 - make
23 - make install
David Turner5ef3c952000-08-22 23:15:23 +000024
Werner Lemberg5a2fdc02000-12-14 22:57:17 +000025 Alternatively, you can pass parameters to the configure script
Werner Lemberg4c80f0c2000-12-01 17:25:58 +000026 within the CFG variable, as in:
David Turner896b6042000-10-03 17:51:29 +000027
Werner Lemberg4c80f0c2000-12-01 17:25:58 +000028 - make setup CFG="--prefix=/usr"
29 - make
30 - make install
David Turner5f5b4462000-07-26 19:13:51 +000031
Werner Lemberg5a2fdc02000-12-14 22:57:17 +000032 - Windows:
David Turner5f5b4462000-07-26 19:13:51 +000033
Werner Lemberg5a2fdc02000-12-14 22:57:17 +000034 We provide a version of GNU Make for Win32 on the FreeType site.
Werner Lemberg4c80f0c2000-12-01 17:25:58 +000035 See http://www.freetype.org/download.html for details.
Werner Lemberge4b32a52000-10-31 20:42:18 +000036
Werner Lemberg5a2fdc02000-12-14 22:57:17 +000037 - gcc (Mingw, _not_ CygWin):
David Turner859a18a2000-12-14 18:50:40 +000038
Werner Lemberg5a2fdc02000-12-14 22:57:17 +000039 - make setup
40 - make
David Turner5f5b4462000-07-26 19:13:51 +000041
David Turner5f5b4462000-07-26 19:13:51 +000042
Werner Lemberg5a2fdc02000-12-14 22:57:17 +000043 - Visual C++:
David Turnerb1aabf42000-11-30 23:48:22 +000044
Werner Lemberg5a2fdc02000-12-14 22:57:17 +000045 - make setup visualc
46 - make
David Turner859a18a2000-12-14 18:50:40 +000047
48
Werner Lemberg5a2fdc02000-12-14 22:57:17 +000049 - other compilers:
David Turnerb1aabf42000-11-30 23:48:22 +000050
David Turner859a18a2000-12-14 18:50:40 +000051 - make setup xxxx
52 - make
53
David Turner859a18a2000-12-14 18:50:40 +000054 where "xxxx" is a special target corresponding to your compiler.
55 To see a list of supported compilers in this release, type:
56
Werner Lemberg5a2fdc02000-12-14 22:57:17 +000057 make setup list
David Turner859a18a2000-12-14 18:50:40 +000058
Werner Lemberge4b32a52000-10-31 20:42:18 +000059
Werner Lemberg5a2fdc02000-12-14 22:57:17 +000060II. In your own environment (IDE)
61---------------------------------
Werner Lemberge4b32a52000-10-31 20:42:18 +000062
Werner Lemberg521a2d72001-03-20 22:58:56 +000063 You need to add the directories "freetype2/include" to your include
64 path when compiling the library.
David Turnerb1aabf42000-11-30 23:48:22 +000065
Werner Lemberg521a2d72001-03-20 22:58:56 +000066 FreeType 2 is made of several components; each one of them is
67 located in a subdirectory of "freetype2/src". For example,
68 `freetype2/src/truetype/' contains the TrueType font driver.
David Turner6ce03ef2001-03-20 14:50:04 +000069
Werner Lemberg521a2d72001-03-20 22:58:56 +000070 DO NOT COMPILE ALL C FILES! Rather, compile the following ones:
David Turnerb1aabf42000-11-30 23:48:22 +000071
Werner Lemberg4c80f0c2000-12-01 17:25:58 +000072 -- base components (required)
David Turnerb1aabf42000-11-30 23:48:22 +000073
Werner Lemberg4c80f0c2000-12-01 17:25:58 +000074 src/base/ftsystem.c
75 src/base/ftinit.c
76 src/base/ftdebug.c
77 src/base/ftbase.c
78 src/base/ftglyph.c
79 src/base/ftbbox.c
80 src/base/ftmm.c
David Turnerb1aabf42000-11-30 23:48:22 +000081
Werner Lemberg5a2fdc02000-12-14 22:57:17 +000082 src/base/ftmac.c -- only on the Macintosh
David Turnerb1aabf42000-11-30 23:48:22 +000083
Werner Lemberg4c80f0c2000-12-01 17:25:58 +000084 -- other components are optional
David Turnerb1aabf42000-11-30 23:48:22 +000085
Werner Lemberg5a2fdc02000-12-14 22:57:17 +000086 src/autohint/autohint.c -- auto hinting module
87 src/cache/ftcache.c -- cache sub-system (in beta)
88 src/sfnt/sfnt.c -- SFNT files support (TrueType & OpenType)
89 src/cff/cff.c -- CFF/OpenType font driver
90 src/psnames/psnames.c -- Postscript glyph names support
91 src/psaux/psaux.c -- Postscript Type 1 parsing
92 src/truetype/truetype.c -- TrueType font driver
93 src/type1/type1.c -- Type 1 font driver
94 src/cid/type1cid.c -- Type 1 CID-keyed font driver
95 src/winfonts/winfonts.c -- Windows FONT / FNT font driver
David Turnerb1aabf42000-11-30 23:48:22 +000096
Werner Lemberg4c80f0c2000-12-01 17:25:58 +000097 Note:
David Turnerb1aabf42000-11-30 23:48:22 +000098
Werner Lemberg4c80f0c2000-12-01 17:25:58 +000099 `truetype.c' needs `sfnt.c' and `psnames.c'
100 `type1.c' needs `psaux.c' and `psnames.c'
101 `type1cid.c' needs `psaux.c' and `psnames.c'
102 `cff.c' needs `sfnt.c', `psaux.c', and `psnames.c'
Werner Lemberge4b32a52000-10-31 20:42:18 +0000103
Werner Lemberg4c80f0c2000-12-01 17:25:58 +0000104 etc.
105
106
107--- end of INSTALL --