1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
In order to build the library, read the `BUILD' document in the `docs'
directory. This is only a quick starter.
I. From the command line
------------------------
There are two ways to quickly build FreeType 2 from the command line.
The first, and favorite one, is to use the "Jam" build tool. Jam is
a highly portable replacement for Make whose control files do not
depend on the current platform or compiler toolset.
For more information, please see: http://www.freetype.org/jam/index.html
The second one is to use "GNU Make" (and NO OTHER MAKE TOOL).
1. Building FT2 with "Jam":
===========================
once you've got *our version* of the Jam tool installed on your
system, simply go to the top-level FT2 directory, then type:
"jam"
on the command line. This will build the library and place it
in the "objs" directory.
By default, a static library is built. On Unix systems, it's possible
to build a shared library through the "libtool" script. You'll need
to have libtool installed on your system, then re-define a few
environment variables before invoking Jam, as in:
export CC="libtool --mode=compile"
export LINK="libtool --mode=link"
jam
In later releases of FT2, building shared libraries with Jam should
become automatic..
2. Building FT2 with "GNU Make":
================================
You need to have GNU Make (version 3.78.1 or newer) installed on
your system to compile the library from the command line. This will
_NOT_ work with other make tools (including BSD make)!
[Well, this is not really correct. Recently, a perl implementation
of make called `makepp' has appeared which can also build FreeType 2
successfully on Unix platforms. See http://LNC.usc.edu/~holt/makepp
for more details.]
- Go to the `freetype2' directory.
- Unix (any C compiler should work):
- make setup (don't worry, this will invoke a configure script)
- make
- make install
Alternatively, you can pass parameters to the configure script
within the CFG variable, as in:
- make setup CFG="--prefix=/usr"
- make
- make install
- Windows:
We provide a version of GNU Make for Win32 on the FreeType site.
See http://www.freetype.org/download.html for details.
- gcc (Mingw, _not_ CygWin):
- make setup
- make
- Visual C++:
- make setup visualc
- make
- other compilers:
- make setup bcc32 -> Borland C++ 32 bits
- make setup intelc -> Intel C++
- make setup watcom -> Watcom C++
- make setup lcc -> Win32-LCC
II. In your own environment (IDE)
---------------------------------
You need to add the directories "freetype2/include" to your include
path when compiling the library.
FreeType 2 is made of several components; each one of them is
located in a subdirectory of "freetype2/src". For example,
`freetype2/src/truetype/' contains the TrueType font driver.
DO NOT COMPILE ALL C FILES! Rather, compile the following ones:
-- base components (required)
src/base/ftsystem.c
src/base/ftinit.c
src/base/ftdebug.c
src/base/ftbase.c
src/base/ftglyph.c
src/base/ftbbox.c
src/base/ftmm.c
src/base/ftmac.c -- only on the Macintosh
-- other components are optional
src/autohint/autohint.c -- auto hinting module
src/cache/ftcache.c -- cache sub-system (in beta)
src/sfnt/sfnt.c -- SFNT files support (TrueType & OpenType)
src/cff/cff.c -- CFF/OpenType font driver
src/psnames/psnames.c -- Postscript glyph names support
src/psaux/psaux.c -- Postscript Type 1 parsing
src/truetype/truetype.c -- TrueType font driver
src/type1/type1.c -- Type 1 font driver
src/cid/type1cid.c -- Type 1 CID-keyed font driver
src/winfonts/winfonts.c -- Windows FONT / FNT font driver
Note:
`truetype.c' needs `sfnt.c' and `psnames.c'
`type1.c' needs `psaux.c' and `psnames.c'
`type1cid.c' needs `psaux.c' and `psnames.c'
`cff.c' needs `sfnt.c', `psaux.c', and `psnames.c'
etc.
For more information, please consult "docs/BUILD" !!
--- end of INSTALL --