186 lines
5.6 KiB
Plaintext
186 lines
5.6 KiB
Plaintext
|
In order to build the library, read the `BUILD' document in the `docs'
|
||
|
directory. This is only a quick starter.
|
||
|
|
||
|
|
||
|
I. Unix systems
|
||
|
---------------
|
||
|
|
||
|
If you have GNU Make installed, simply type
|
||
|
|
||
|
./configure
|
||
|
make
|
||
|
make install
|
||
|
|
||
|
on the command line to configure, build and install FreeType on your
|
||
|
system. Note that the default installation path is "/usr/local".
|
||
|
|
||
|
Please read the file README.UNX, it contains _critical_ information
|
||
|
regarding the installation of FreeType on many Unix systems.
|
||
|
|
||
|
|
||
|
II. From the command line
|
||
|
-------------------------
|
||
|
|
||
|
If you are not using Unix, 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 is
|
||
|
possible to build a shared library through the "libtool" script.
|
||
|
You 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 cc"
|
||
|
export LINK="libtool --mode=link cc"
|
||
|
jam
|
||
|
|
||
|
In later releases of FT2, building shared libraries with Jam
|
||
|
should become automatic on Unix systems.
|
||
|
|
||
|
|
||
|
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://makepp.sourceforge.net
|
||
|
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
|
||
|
|
||
|
If the configure script isn't run, try to add `unix' as a target
|
||
|
on the command line, e.g.:
|
||
|
|
||
|
- make setup unix CFG="--prefix=/opt/experimental"
|
||
|
|
||
|
|
||
|
- 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
|
||
|
|
||
|
|
||
|
If you want to build FreeType 2 in another directory, you must set
|
||
|
two environment variables, `OJB_DIR' and `TOP_DIR'. The former
|
||
|
gives the directory where the object files and the library should be
|
||
|
created (this directory must exist), the latter the top directory of
|
||
|
the FreeType 2 source tree. Example:
|
||
|
|
||
|
OBJ_DIR=~/freetype2.compiled TOP_DIR=~/freetype2 \
|
||
|
make -f$TOP_DIR/Makefile setup ansi
|
||
|
OBJ_DIR=~/freetype2.compiled TOP_DIR=~/freetype2 \
|
||
|
make -f$TOP_DIR/Makefile
|
||
|
|
||
|
On Unix boxes, calling `configure' from the build directory is
|
||
|
sufficient; it will build a small Makefile which calls the
|
||
|
FreeType 2 Makefile with the necessary parameters.
|
||
|
|
||
|
|
||
|
III. 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 --
|