blob: 6ed8eddb75a04ee9ff5c4c880462329cc43467f0 [file] [log] [blame]
David Turnerb1748d42002-01-04 16:36:42 +00001
Werner Lembergac812952002-01-06 16:42:44 +00002SPECIAL NOTE FOR UNIX USERS
3===========================
4
5 If you are installing this release of FreeType on a system that
6 already uses release 2.0.5 (or even an older version), you have to
7 perform a few special steps to ensure that everything goes well.
8
9
David Turner944b7292002-01-31 17:42:05 +000010
Werner Lemberg94ffae52002-04-14 00:54:32 +000011 I. Enable the TrueType bytecode hinter if you need it
12 -----------------------------------------------------
Werner Lembergac812952002-01-06 16:42:44 +000013
14 The TrueType bytecode interpreter is disabled in all public
15 releases of the FreeType packages for patents reasons (see
16 http://www.freetype.org/patents.html for more details).
Werner Lemberg94ffae52002-04-14 00:54:32 +000017
Werner Lembergac812952002-01-06 16:42:44 +000018 However, many Linux distributions do enable the interpreter in the
19 FreeType packages (DEB/RPM/etc.) they produce for their platforms.
20 If you are using TrueType fonts on your system, you most probably
21 want to enable it manually by doing the following:
Werner Lemberg94ffae52002-04-14 00:54:32 +000022
David Turnerb1748d42002-01-04 16:36:42 +000023 - open the file "include/freetype/config/ftoption.h"
Werner Lemberg94ffae52002-04-14 00:54:32 +000024
David Turnerb1748d42002-01-04 16:36:42 +000025 - locate a line that says:
Werner Lemberg94ffae52002-04-14 00:54:32 +000026
Werner Lemberg12a87412002-01-29 01:11:23 +000027 #undef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
David Turnerb1748d42002-01-04 16:36:42 +000028
29 - change it to:
30
31 #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
32
Werner Lembergac812952002-01-06 16:42:44 +000033 of course, this must be done _before_ compiling the library
David Turnerb1748d42002-01-04 16:36:42 +000034
35
David Turner944b7292002-01-31 17:42:05 +000036
Werner Lemberg94ffae52002-04-14 00:54:32 +000037 II. Determine the correct installation path
David Turnerd15bc0d2002-04-12 09:31:48 +000038 --------------------------------------------
Werner Lemberg94ffae52002-04-14 00:54:32 +000039
Werner Lembergac812952002-01-06 16:42:44 +000040 By default, the source package will install the library in
41 "/usr/local". However, many Unix distributions now install the
42 library in "/usr", since FreeType is becoming a critical system
43 component.
David Turnerb1748d42002-01-04 16:36:42 +000044
45 If FreeType is already installed on your system, type
Werner Lemberg94ffae52002-04-14 00:54:32 +000046
Werner Lembergac812952002-01-06 16:42:44 +000047 freetype-config --prefix
Werner Lemberg94ffae52002-04-14 00:54:32 +000048
Werner Lembergac812952002-01-06 16:42:44 +000049 on the command line. This should return the installation path to
50 use below (e.g. "/usr" or "/usr/local"). Otherwise, simply use
David Turnerd15bc0d2002-04-12 09:31:48 +000051 "/usr" (or what you think is adequate for your installation).
Werner Lembergac812952002-01-06 16:42:44 +000052
David Turnerd15bc0d2002-04-12 09:31:48 +000053
54
Werner Lemberg94ffae52002-04-14 00:54:32 +000055 III. Ensure that you are using GNU Make
David Turnerd15bc0d2002-04-12 09:31:48 +000056 ---------------------------------------
57
Werner Lemberg94ffae52002-04-14 00:54:32 +000058 The FreeType build system _exclusively_ works with GNU Make. You
59 will not be able to compile the library with the instructions
60 below using any other alternative (including BSD Make).
David Turnerd15bc0d2002-04-12 09:31:48 +000061
Werner Lemberg94ffae52002-04-14 00:54:32 +000062 Trying to compile the library with a different Make tool will
63 print a message like:
64
65 Sorry, GNU make is required to build FreeType2.
66
67 and the build process will be aborted. If this happens, install
68 GNU Make on your system, and use the GNUMAKE environment variable
69 to name it.
David Turnerd15bc0d2002-04-12 09:31:48 +000070
71
Werner Lemberg94ffae52002-04-14 00:54:32 +000072
73 IV. Build and install the library
74 ---------------------------------
75
76 The following should work on all Unix systems where the `make'
77 command invokes GNU Make:
78
David Turnerce9a0442002-01-08 18:33:55 +000079 ./configure --prefix=<yourprefix>
Werner Lembergac812952002-01-06 16:42:44 +000080 make
David Turner944b7292002-01-31 17:42:05 +000081 make install (as root)
Werner Lemberg94ffae52002-04-14 00:54:32 +000082
Werner Lembergac812952002-01-06 16:42:44 +000083 where "<yourprefix>" must be replaced by the prefix returned by
84 the "freetype-config" command.
David Turnerb1748d42002-01-04 16:36:42 +000085
David Turnerd15bc0d2002-04-12 09:31:48 +000086 When using a different command to invoke GNU Make, use the GNUMAKE
Werner Lemberg94ffae52002-04-14 00:54:32 +000087 variable. For example, if `gmake' is the command to use on your
88 system, do something like:
89
90 GNUMAKE=gmake ./configure --prefix=<yourprefix>
David Turnerd15bc0d2002-04-12 09:31:48 +000091 gmake
Werner Lemberg94ffae52002-04-14 00:54:32 +000092 gmake install (as root)
93
94 If this still doesn't work, read the detailed compilation
95 procedure available in the file "docs/BUILD" for troubleshooting.
David Turner944b7292002-01-31 17:42:05 +000096
David Turnerd15bc0d2002-04-12 09:31:48 +000097
Werner Lemberg94ffae52002-04-14 00:54:32 +000098 V. Take care of XFree86 version 4
99 ---------------------------------
David Turnerd15bc0d2002-04-12 09:31:48 +0000100
Werner Lembergac812952002-01-06 16:42:44 +0000101 Certain recent Linux distributions will install _several_ versions
102 of FreeType on your system. For example, on a fresh Mandrake 8.1
103 system, you can find the following files:
Werner Lemberg94ffae52002-04-14 00:54:32 +0000104
Werner Lembergac812952002-01-06 16:42:44 +0000105 /usr/lib/libfreetype.so which links to
106 /usr/lib/libfreetype.6.1.0.so
Werner Lemberg94ffae52002-04-14 00:54:32 +0000107
Werner Lembergac812952002-01-06 16:42:44 +0000108 and
Werner Lemberg94ffae52002-04-14 00:54:32 +0000109
Werner Lembergac812952002-01-06 16:42:44 +0000110 /usr/X11R6/lib/libfreetype.so which links to
111 /usr/X11R6/lib/libfreetype.6.0.so
Werner Lemberg94ffae52002-04-14 00:54:32 +0000112
Werner Lembergac812952002-01-06 16:42:44 +0000113 Note that these files correspond to two distinct versions of the
114 library! It seems that this surprising issue is due to the
115 install scripts of recent XFree86 servers (from 4.1.0) which
116 irremediably install their own (dated) version of the library in
117 "/usr/X11R6/lib".
Werner Lemberg94ffae52002-04-14 00:54:32 +0000118
Werner Lembergac812952002-01-06 16:42:44 +0000119 In certain _rare_ cases you may experience minor problems if you
120 install this release of the library in "/usr" only, namely, that
121 certain applications will not benefit from the bug fixes and
122 rendering improvements you'd expect.
Werner Lemberg94ffae52002-04-14 00:54:32 +0000123
Werner Lembergac812952002-01-06 16:42:44 +0000124 There are two good ways to deal with this situation:
Werner Lemberg94ffae52002-04-14 00:54:32 +0000125
Werner Lembergac812952002-01-06 16:42:44 +0000126 - Install the library _twice_, in "/usr" and in "/usr/X11R6"
127 (you have to do that each time you install a new FreeType
128 release though).
Werner Lemberg94ffae52002-04-14 00:54:32 +0000129
Werner Lembergac812952002-01-06 16:42:44 +0000130 - Change the link in /usr/X11R6/lib/libfreetype.so to point to
David Turnerb1748d42002-01-04 16:36:42 +0000131
Werner Lembergac812952002-01-06 16:42:44 +0000132 /usr/lib/libfreetype.so,
David Turnerb1748d42002-01-04 16:36:42 +0000133
Werner Lembergac812952002-01-06 16:42:44 +0000134 and get rid of
David Turnerb1748d42002-01-04 16:36:42 +0000135
Werner Lembergac812952002-01-06 16:42:44 +0000136 /usr/X11R6/lib/libfreetype.6.0.so
David Turnerb1748d42002-01-04 16:36:42 +0000137
Werner Lembergac812952002-01-06 16:42:44 +0000138 The FreeType Team is not responsible for this problem, so please
139 contact either the XFree86 development team or your Linux
140 distributor to help clear this issue in case the information given
141 here doesn't help.