Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  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.
  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                 # BAD
  48.  
  49.       or
  50.  
  51.         env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure  # BAD
  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.  
  124. Copyright 2006, 2008, 2012 by suzuki toshiya
  125. David Turner, Robert Wilhelm, and Werner Lemberg.
  126.  
  127.  
  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
  132. and accept it fully.
  133.  
  134.  
  135. --- end of INSTALL.CROSS ---
  136.