1This document contains instructions on how to cross-build the FreeType 2library on Unix systems, for example, building binaries for Linux/MIPS 3on FreeBSD/i386. Before reading this document, please consult 4INSTALL.UNIX for required tools and the basic self-building procedure. 5 6 7 1. Required Tools 8 ----------------- 9 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'. 13 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'. 20 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. 24 25 26 2. Configuration 27 ---------------- 28 29 2.1. Building and target system 30 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 34 Linux/MIPS, say 35 36 ./configure \ 37 --build=i386-unknown-freebsd \ 38 --host=mips-ip22-linuxelf \ 39 [other options] 40 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 46 47 env CC=mips-ip22-linux-gcc ./configure 48 49 or 50 51 env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure 52 53 doesn't work either; such a configuration confuses the 54 `configure' script while trying to find the cross and native C 55 compilers. 56 57 58 2.2. The prefix to install FreeType2 59 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. 63 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/'. 73 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. 77 78 79 3. Building command 80 ------------------- 81 82 If the configuration finishes successfully, invoking GNU make 83 builds FreeType2. Just say 84 85 make 86 87 or 88 89 gmake 90 91 depending on the name the GNU make binary actually has. 92 93 94 4. Installation 95 --------------- 96 97 Saying 98 99 make install 100 101 as usual to install FreeType2 into the directory tree specified by 102 the argument of the `--prefix' option. 103 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 109 110 make DESTDIR=/mnt/target_system_root/ install 111 112 the built FreeType2 library files are installed into the directory 113 `/mnt/target_system_root/<prefix_in_configure>/lib'. 114 115 116 5. TODO 117 ------- 118 119 Cross building between Cygwin (or MSys) and Unix must be tested. 120 121 122---------------------------------------------------------------------- 123 124Copyright 2006, 2008 by suzuki toshiya 125David Turner, Robert Wilhelm, and Werner Lemberg. 126 127 128This file is part of the FreeType project, and may only be used, 129modified, and distributed under the terms of the FreeType project 130license, LICENSE.TXT. By continuing to use, modify, or distribute 131this file you indicate that you have read the license and understand 132and accept it fully. 133 134 135--- end of INSTALL.CROSS --- 136