1
This document contains instructions on how to cross-build the FreeType
2
library on Unix systems, for example, building binaries for Linux/MIPS
3
on FreeBSD/i386. Before reading this document, please consult
4
INSTALL.UNIX for required tools and the basic self-building procedure.
10
For self-building the FreeType library on a Unix system, GNU Make
11
3.80 or newer is required. INSTALL.UNIX contains hints how to
12
check the installed `make'.
14
The GNU C compiler to cross-build the target system is required.
15
At present, using non-GNU cross compiler is not tested. The cross
16
compiler is expected to be installed with a system prefix. For
17
example, if your building system is FreeBSD/i386 and the target
18
system is Linux/MIPS, the cross compiler should be installed with
19
the name `mips-ip22-linuxelf-gcc'.
21
A C compiler for a self-build is required also, to build a tool
22
that is executed during the building procedure. Non-GNU self
23
compilers are acceptable, but such a setup is not tested yet.
29
2.1. Building and target system
31
To configure for cross-build, the options `--host=<system>' and
32
`--build=<system>' must be passed to configure. For example, if
33
your building system is FreeBSD/i386 and the target system is
37
--build=i386-unknown-freebsd \
38
--host=mips-ip22-linuxelf \
41
It should be noted that `--host=<system>' specifies the system
42
where the built binaries will be executed, not the system where
43
the build actually happens. Older versions of GNU autoconf use
44
the option pair `--host=' and `--target='. This is broken and
45
doesn't work. Similarly, an explicit CC specification like
47
env CC=mips-ip22-linux-gcc ./configure
51
env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure
53
doesn't work either; such a configuration confuses the
54
`configure' script while trying to find the cross and native C
58
2.2. The prefix to install FreeType2
60
Setting `--prefix=<prefix>' properly is important. The prefix
61
to install FreeType2 is written into the freetype-config script
62
and freetype2.pc configuration file.
64
If the built FreeType 2 library is used as a part of the
65
cross-building system, the prefix is expected to be different
66
from the self-building system. For example, configuration with
67
`--prefix=/usr/local' installs binaries into the system wide
68
`/usr/local' directory which then can't be executed. This
69
causes confusion in configuration of all applications which use
70
FreeType2. Instead, use a prefix to install the cross-build
71
into a separate system tree, for example,
72
`--prefix=/usr/local/mips-ip22-linux/'.
74
On the other hand, if the built FreeType2 is used as a part of
75
the target system, the prefix to install should reflect the file
76
system structure of the target system.
82
If the configuration finishes successfully, invoking GNU make
83
builds FreeType2. Just say
91
depending on the name the GNU make binary actually has.
101
as usual to install FreeType2 into the directory tree specified by
102
the argument of the `--prefix' option.
104
As noted in section 2.2, FreeType2 is sometimes configured to be
105
installed into the system directory of the target system, and
106
should not be installed in the cross-building system. In such
107
cases, the make variable `DESTDIR' is useful to change the root
108
directory in the installation. For example, after
110
make DESTDIR=/mnt/target_system_root/ install
112
the built FreeType2 library files are installed into the directory
113
`/mnt/target_system_root/<prefix_in_configure>/lib'.
119
Cross building between Cygwin (or MSys) and Unix must be tested.
122
----------------------------------------------------------------------
124
Copyright 2006, 2008 by suzuki toshiya
125
David Turner, Robert Wilhelm, and Werner Lemberg.
128
This file is part of the FreeType project, and may only be used,
129
modified, and distributed under the terms of the FreeType project
130
license, LICENSE.TXT. By continuing to use, modify, or distribute
131
this file you indicate that you have read the license and understand
135
--- end of INSTALL.CROSS ---