2002-01-04 19:36:42 +03:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
SPECIAL NOTE FOR UNIX USERS
|
|
|
|
===========================
|
|
|
|
|
|
|
|
If you are installing this release of FreeType on a system that
|
|
|
|
already uses release 2.0.5 (or even an older version), you have to
|
|
|
|
perform a few special steps to ensure that everything goes well.
|
|
|
|
|
|
|
|
|
2002-01-31 20:42:05 +03:00
|
|
|
|
2002-04-14 04:54:32 +04:00
|
|
|
I. Enable the TrueType bytecode hinter if you need it
|
|
|
|
-----------------------------------------------------
|
2002-01-06 19:42:44 +03:00
|
|
|
|
|
|
|
The TrueType bytecode interpreter is disabled in all public
|
|
|
|
releases of the FreeType packages for patents reasons (see
|
|
|
|
http://www.freetype.org/patents.html for more details).
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
However, many Linux distributions do enable the interpreter in the
|
|
|
|
FreeType packages (DEB/RPM/etc.) they produce for their platforms.
|
|
|
|
If you are using TrueType fonts on your system, you most probably
|
|
|
|
want to enable it manually by doing the following:
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-04 19:36:42 +03:00
|
|
|
- open the file "include/freetype/config/ftoption.h"
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-04 19:36:42 +03:00
|
|
|
- locate a line that says:
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-29 04:11:23 +03:00
|
|
|
#undef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
2002-01-04 19:36:42 +03:00
|
|
|
|
|
|
|
- change it to:
|
|
|
|
|
|
|
|
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
of course, this must be done _before_ compiling the library
|
2002-01-04 19:36:42 +03:00
|
|
|
|
|
|
|
|
2002-01-31 20:42:05 +03:00
|
|
|
|
2002-04-14 04:54:32 +04:00
|
|
|
II. Determine the correct installation path
|
* README.UNX: updated the Unix-specific quick-compilation guide to
warn about the GNU Make requirement at compile time..
* include/freetype/config/ftstdlib.h,
include/freetype/config/ftconfig.h,
include/freetype/config/ftheader.h,
include/freetype/internal/ftmemory.h,
include/freetype/internal/ftobjs.h,
src/autohint/ahoptim.c,
src/base/ftdbgmem.c, src/base/ftdebug.c,
src/base/ftmac.c, src/base/ftobjs.c,
src/base/ftsystem.c,
src/cache/ftcimage.c, src/cache/ftcsbits.c,
src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
src/pcf/pcfdriver.c, src/pcf/pcfread.c,
src/psaux/t1cmap.c, src/psaux/t1decode.c,
src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
src/pshinter/pshrec.c,
src/psnames/psmodule.c,
src/raster/ftraster.c,
src/sfnt/sfdriver.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
src/smooth/ftgrays.c,
src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c:
added the new configuration file "ftstdlib.h" used to define
aliases for all ISO C library functions used by the engine
(e.g. strlen, qsort, setjmp, etc...)
this eases the porting of FreeType 2 to exotic environments like
XFree86 modules/extensions..
also removed many #include <string.h>, #include <stdlib.h>, etc...
from the engine's sources where they're not needed..
2002-04-12 13:31:48 +04:00
|
|
|
--------------------------------------------
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
By default, the source package will install the library in
|
|
|
|
"/usr/local". However, many Unix distributions now install the
|
|
|
|
library in "/usr", since FreeType is becoming a critical system
|
|
|
|
component.
|
2002-01-04 19:36:42 +03:00
|
|
|
|
|
|
|
If FreeType is already installed on your system, type
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
freetype-config --prefix
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
on the command line. This should return the installation path to
|
|
|
|
use below (e.g. "/usr" or "/usr/local"). Otherwise, simply use
|
* README.UNX: updated the Unix-specific quick-compilation guide to
warn about the GNU Make requirement at compile time..
* include/freetype/config/ftstdlib.h,
include/freetype/config/ftconfig.h,
include/freetype/config/ftheader.h,
include/freetype/internal/ftmemory.h,
include/freetype/internal/ftobjs.h,
src/autohint/ahoptim.c,
src/base/ftdbgmem.c, src/base/ftdebug.c,
src/base/ftmac.c, src/base/ftobjs.c,
src/base/ftsystem.c,
src/cache/ftcimage.c, src/cache/ftcsbits.c,
src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
src/pcf/pcfdriver.c, src/pcf/pcfread.c,
src/psaux/t1cmap.c, src/psaux/t1decode.c,
src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
src/pshinter/pshrec.c,
src/psnames/psmodule.c,
src/raster/ftraster.c,
src/sfnt/sfdriver.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
src/smooth/ftgrays.c,
src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c:
added the new configuration file "ftstdlib.h" used to define
aliases for all ISO C library functions used by the engine
(e.g. strlen, qsort, setjmp, etc...)
this eases the porting of FreeType 2 to exotic environments like
XFree86 modules/extensions..
also removed many #include <string.h>, #include <stdlib.h>, etc...
from the engine's sources where they're not needed..
2002-04-12 13:31:48 +04:00
|
|
|
"/usr" (or what you think is adequate for your installation).
|
2002-01-06 19:42:44 +03:00
|
|
|
|
* README.UNX: updated the Unix-specific quick-compilation guide to
warn about the GNU Make requirement at compile time..
* include/freetype/config/ftstdlib.h,
include/freetype/config/ftconfig.h,
include/freetype/config/ftheader.h,
include/freetype/internal/ftmemory.h,
include/freetype/internal/ftobjs.h,
src/autohint/ahoptim.c,
src/base/ftdbgmem.c, src/base/ftdebug.c,
src/base/ftmac.c, src/base/ftobjs.c,
src/base/ftsystem.c,
src/cache/ftcimage.c, src/cache/ftcsbits.c,
src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
src/pcf/pcfdriver.c, src/pcf/pcfread.c,
src/psaux/t1cmap.c, src/psaux/t1decode.c,
src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
src/pshinter/pshrec.c,
src/psnames/psmodule.c,
src/raster/ftraster.c,
src/sfnt/sfdriver.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
src/smooth/ftgrays.c,
src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c:
added the new configuration file "ftstdlib.h" used to define
aliases for all ISO C library functions used by the engine
(e.g. strlen, qsort, setjmp, etc...)
this eases the porting of FreeType 2 to exotic environments like
XFree86 modules/extensions..
also removed many #include <string.h>, #include <stdlib.h>, etc...
from the engine's sources where they're not needed..
2002-04-12 13:31:48 +04:00
|
|
|
|
|
|
|
|
2002-04-14 04:54:32 +04:00
|
|
|
III. Ensure that you are using GNU Make
|
* README.UNX: updated the Unix-specific quick-compilation guide to
warn about the GNU Make requirement at compile time..
* include/freetype/config/ftstdlib.h,
include/freetype/config/ftconfig.h,
include/freetype/config/ftheader.h,
include/freetype/internal/ftmemory.h,
include/freetype/internal/ftobjs.h,
src/autohint/ahoptim.c,
src/base/ftdbgmem.c, src/base/ftdebug.c,
src/base/ftmac.c, src/base/ftobjs.c,
src/base/ftsystem.c,
src/cache/ftcimage.c, src/cache/ftcsbits.c,
src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
src/pcf/pcfdriver.c, src/pcf/pcfread.c,
src/psaux/t1cmap.c, src/psaux/t1decode.c,
src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
src/pshinter/pshrec.c,
src/psnames/psmodule.c,
src/raster/ftraster.c,
src/sfnt/sfdriver.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
src/smooth/ftgrays.c,
src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c:
added the new configuration file "ftstdlib.h" used to define
aliases for all ISO C library functions used by the engine
(e.g. strlen, qsort, setjmp, etc...)
this eases the porting of FreeType 2 to exotic environments like
XFree86 modules/extensions..
also removed many #include <string.h>, #include <stdlib.h>, etc...
from the engine's sources where they're not needed..
2002-04-12 13:31:48 +04:00
|
|
|
---------------------------------------
|
|
|
|
|
2002-04-14 04:54:32 +04:00
|
|
|
The FreeType build system _exclusively_ works with GNU Make. You
|
|
|
|
will not be able to compile the library with the instructions
|
|
|
|
below using any other alternative (including BSD Make).
|
|
|
|
|
|
|
|
Trying to compile the library with a different Make tool will
|
|
|
|
print a message like:
|
|
|
|
|
|
|
|
Sorry, GNU make is required to build FreeType2.
|
|
|
|
|
|
|
|
and the build process will be aborted. If this happens, install
|
|
|
|
GNU Make on your system, and use the GNUMAKE environment variable
|
|
|
|
to name it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IV. Build and install the library
|
|
|
|
---------------------------------
|
|
|
|
|
|
|
|
The following should work on all Unix systems where the `make'
|
|
|
|
command invokes GNU Make:
|
|
|
|
|
2002-01-08 21:33:55 +03:00
|
|
|
./configure --prefix=<yourprefix>
|
2002-01-06 19:42:44 +03:00
|
|
|
make
|
2002-01-31 20:42:05 +03:00
|
|
|
make install (as root)
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
where "<yourprefix>" must be replaced by the prefix returned by
|
|
|
|
the "freetype-config" command.
|
2002-01-04 19:36:42 +03:00
|
|
|
|
* README.UNX: updated the Unix-specific quick-compilation guide to
warn about the GNU Make requirement at compile time..
* include/freetype/config/ftstdlib.h,
include/freetype/config/ftconfig.h,
include/freetype/config/ftheader.h,
include/freetype/internal/ftmemory.h,
include/freetype/internal/ftobjs.h,
src/autohint/ahoptim.c,
src/base/ftdbgmem.c, src/base/ftdebug.c,
src/base/ftmac.c, src/base/ftobjs.c,
src/base/ftsystem.c,
src/cache/ftcimage.c, src/cache/ftcsbits.c,
src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
src/pcf/pcfdriver.c, src/pcf/pcfread.c,
src/psaux/t1cmap.c, src/psaux/t1decode.c,
src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
src/pshinter/pshrec.c,
src/psnames/psmodule.c,
src/raster/ftraster.c,
src/sfnt/sfdriver.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
src/smooth/ftgrays.c,
src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c:
added the new configuration file "ftstdlib.h" used to define
aliases for all ISO C library functions used by the engine
(e.g. strlen, qsort, setjmp, etc...)
this eases the porting of FreeType 2 to exotic environments like
XFree86 modules/extensions..
also removed many #include <string.h>, #include <stdlib.h>, etc...
from the engine's sources where they're not needed..
2002-04-12 13:31:48 +04:00
|
|
|
When using a different command to invoke GNU Make, use the GNUMAKE
|
2002-04-14 04:54:32 +04:00
|
|
|
variable. For example, if `gmake' is the command to use on your
|
|
|
|
system, do something like:
|
|
|
|
|
|
|
|
GNUMAKE=gmake ./configure --prefix=<yourprefix>
|
* README.UNX: updated the Unix-specific quick-compilation guide to
warn about the GNU Make requirement at compile time..
* include/freetype/config/ftstdlib.h,
include/freetype/config/ftconfig.h,
include/freetype/config/ftheader.h,
include/freetype/internal/ftmemory.h,
include/freetype/internal/ftobjs.h,
src/autohint/ahoptim.c,
src/base/ftdbgmem.c, src/base/ftdebug.c,
src/base/ftmac.c, src/base/ftobjs.c,
src/base/ftsystem.c,
src/cache/ftcimage.c, src/cache/ftcsbits.c,
src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
src/pcf/pcfdriver.c, src/pcf/pcfread.c,
src/psaux/t1cmap.c, src/psaux/t1decode.c,
src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
src/pshinter/pshrec.c,
src/psnames/psmodule.c,
src/raster/ftraster.c,
src/sfnt/sfdriver.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
src/smooth/ftgrays.c,
src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c:
added the new configuration file "ftstdlib.h" used to define
aliases for all ISO C library functions used by the engine
(e.g. strlen, qsort, setjmp, etc...)
this eases the porting of FreeType 2 to exotic environments like
XFree86 modules/extensions..
also removed many #include <string.h>, #include <stdlib.h>, etc...
from the engine's sources where they're not needed..
2002-04-12 13:31:48 +04:00
|
|
|
gmake
|
2002-04-14 04:54:32 +04:00
|
|
|
gmake install (as root)
|
* README.UNX: updated the Unix-specific quick-compilation guide to
warn about the GNU Make requirement at compile time..
* include/freetype/config/ftstdlib.h,
include/freetype/config/ftconfig.h,
include/freetype/config/ftheader.h,
include/freetype/internal/ftmemory.h,
include/freetype/internal/ftobjs.h,
src/autohint/ahoptim.c,
src/base/ftdbgmem.c, src/base/ftdebug.c,
src/base/ftmac.c, src/base/ftobjs.c,
src/base/ftsystem.c,
src/cache/ftcimage.c, src/cache/ftcsbits.c,
src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
src/pcf/pcfdriver.c, src/pcf/pcfread.c,
src/psaux/t1cmap.c, src/psaux/t1decode.c,
src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
src/pshinter/pshrec.c,
src/psnames/psmodule.c,
src/raster/ftraster.c,
src/sfnt/sfdriver.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
src/smooth/ftgrays.c,
src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c:
added the new configuration file "ftstdlib.h" used to define
aliases for all ISO C library functions used by the engine
(e.g. strlen, qsort, setjmp, etc...)
this eases the porting of FreeType 2 to exotic environments like
XFree86 modules/extensions..
also removed many #include <string.h>, #include <stdlib.h>, etc...
from the engine's sources where they're not needed..
2002-04-12 13:31:48 +04:00
|
|
|
|
2002-04-14 04:54:32 +04:00
|
|
|
If this still doesn't work, read the detailed compilation
|
|
|
|
procedure available in the file "docs/BUILD" for troubleshooting.
|
* README.UNX: updated the Unix-specific quick-compilation guide to
warn about the GNU Make requirement at compile time..
* include/freetype/config/ftstdlib.h,
include/freetype/config/ftconfig.h,
include/freetype/config/ftheader.h,
include/freetype/internal/ftmemory.h,
include/freetype/internal/ftobjs.h,
src/autohint/ahoptim.c,
src/base/ftdbgmem.c, src/base/ftdebug.c,
src/base/ftmac.c, src/base/ftobjs.c,
src/base/ftsystem.c,
src/cache/ftcimage.c, src/cache/ftcsbits.c,
src/cff/cffdriver.c, src/cff/cffload.c, src/cff/cffobjs.c,
src/cid/cidload.c, src/cid/cidparse.c, src/cid/cidriver.c,
src/pcf/pcfdriver.c, src/pcf/pcfread.c,
src/psaux/t1cmap.c, src/psaux/t1decode.c,
src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.c,
src/pshinter/pshrec.c,
src/psnames/psmodule.c,
src/raster/ftraster.c,
src/sfnt/sfdriver.c, src/sfnt/ttload.c, src/sfnt/ttpost.c,
src/smooth/ftgrays.c,
src/type1/t1afm.c, src/type1/t1driver.c, src/type1/t1gload.c,
src/type1/t1load.c, src/type1/t1objs.c, src/type1/t1parse.c:
added the new configuration file "ftstdlib.h" used to define
aliases for all ISO C library functions used by the engine
(e.g. strlen, qsort, setjmp, etc...)
this eases the porting of FreeType 2 to exotic environments like
XFree86 modules/extensions..
also removed many #include <string.h>, #include <stdlib.h>, etc...
from the engine's sources where they're not needed..
2002-04-12 13:31:48 +04:00
|
|
|
|
|
|
|
|
2002-04-14 04:54:32 +04:00
|
|
|
V. Take care of XFree86 version 4
|
|
|
|
---------------------------------
|
2002-01-31 20:42:05 +03:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
Certain recent Linux distributions will install _several_ versions
|
|
|
|
of FreeType on your system. For example, on a fresh Mandrake 8.1
|
|
|
|
system, you can find the following files:
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
/usr/lib/libfreetype.so which links to
|
|
|
|
/usr/lib/libfreetype.6.1.0.so
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
and
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
/usr/X11R6/lib/libfreetype.so which links to
|
|
|
|
/usr/X11R6/lib/libfreetype.6.0.so
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
Note that these files correspond to two distinct versions of the
|
|
|
|
library! It seems that this surprising issue is due to the
|
|
|
|
install scripts of recent XFree86 servers (from 4.1.0) which
|
|
|
|
irremediably install their own (dated) version of the library in
|
|
|
|
"/usr/X11R6/lib".
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
In certain _rare_ cases you may experience minor problems if you
|
|
|
|
install this release of the library in "/usr" only, namely, that
|
|
|
|
certain applications will not benefit from the bug fixes and
|
|
|
|
rendering improvements you'd expect.
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
There are two good ways to deal with this situation:
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
- Install the library _twice_, in "/usr" and in "/usr/X11R6"
|
|
|
|
(you have to do that each time you install a new FreeType
|
|
|
|
release though).
|
2002-04-14 04:54:32 +04:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
- Change the link in /usr/X11R6/lib/libfreetype.so to point to
|
2002-01-04 19:36:42 +03:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
/usr/lib/libfreetype.so,
|
2002-01-04 19:36:42 +03:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
and get rid of
|
2002-01-04 19:36:42 +03:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
/usr/X11R6/lib/libfreetype.6.0.so
|
2002-01-04 19:36:42 +03:00
|
|
|
|
2002-01-06 19:42:44 +03:00
|
|
|
The FreeType Team is not responsible for this problem, so please
|
|
|
|
contact either the XFree86 development team or your Linux
|
|
|
|
distributor to help clear this issue in case the information given
|
|
|
|
here doesn't help.
|