mirror of https://github.com/freetype/freetype
182 lines
5.4 KiB
Plaintext
182 lines
5.4 KiB
Plaintext
|
This document contains instructions on how to build the FreeType library
|
||
|
on Unix systems. This also works for emulations like Cygwin or MSys on
|
||
|
Win32:
|
||
|
|
||
|
|
||
|
I. Ensure that you are using GNU Make
|
||
|
-------------------------------------
|
||
|
|
||
|
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:
|
||
|
|
||
|
./configure --prefix=<yourprefix>
|
||
|
make
|
||
|
make install (as root)
|
||
|
|
||
|
where "<yourprefix>" must be replaced by the prefix returned by
|
||
|
the "freetype-config" command.
|
||
|
|
||
|
When using a different command to invoke GNU Make, use the GNUMAKE
|
||
|
variable. For example, if `gmake' is the command to use on your
|
||
|
system, do something like:
|
||
|
|
||
|
GNUMAKE=gmake ./configure --prefix=<yourprefix>
|
||
|
gmake
|
||
|
gmake install (as root)
|
||
|
|
||
|
If this still doesn't work, something's rotten on your system(
|
||
|
(e.g. you're using a very old version of GNU Make)
|
||
|
|
||
|
|
||
|
|
||
|
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.
|
||
|
|
||
|
|
||
|
--- end of INSTALL --
|