misc/libfreetype/docs/INSTALL.CROSS
changeset 5172 88f2e05288ba
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/libfreetype/docs/INSTALL.CROSS	Mon Apr 25 01:46:54 2011 +0200
@@ -0,0 +1,135 @@
+This document contains instructions on how to cross-build the FreeType
+library on Unix systems, for example, building binaries for Linux/MIPS
+on  FreeBSD/i386.   Before   reading  this  document,  please  consult
+INSTALL.UNIX for required tools and the basic self-building procedure.
+
+
+  1. Required Tools
+  -----------------
+
+    For self-building the FreeType library  on a Unix system, GNU Make
+    3.80 or  newer is required.   INSTALL.UNIX  contains  hints how to
+    check the installed `make'.
+
+    The GNU C  compiler to cross-build the target  system is required.
+    At present, using non-GNU cross compiler is not tested.  The cross
+    compiler is  expected to be  installed with a system  prefix.  For
+    example, if  your building system  is FreeBSD/i386 and  the target
+    system is Linux/MIPS, the  cross compiler should be installed with
+    the name `mips-ip22-linuxelf-gcc'.
+
+    A C  compiler for a self-build  is required also, to  build a tool
+    that  is executed  during  the building  procedure.  Non-GNU  self
+    compilers are acceptable, but such a setup is not tested yet.
+
+
+  2. Configuration
+  ----------------
+
+    2.1. Building and target system
+
+      To configure for  cross-build, the options `--host=<system>' and
+      `--build=<system>' must be passed to configure.  For example, if
+      your building  system is FreeBSD/i386  and the target  system is
+      Linux/MIPS, say
+
+        ./configure \
+          --build=i386-unknown-freebsd \
+          --host=mips-ip22-linuxelf \
+          [other options]
+
+      It should  be noted that `--host=<system>'  specifies the system
+      where the built binaries will  be executed, not the system where
+      the build actually happens.   Older versions of GNU autoconf use
+      the option  pair `--host=' and `--target='.  This  is broken and
+      doesn't work.  Similarly, an explicit CC specification like
+
+        env CC=mips-ip22-linux-gcc ./configure
+
+      or
+
+        env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure
+
+      doesn't   work  either;  such   a  configuration   confuses  the
+      `configure' script while  trying to find the cross  and native C
+      compilers.
+
+
+    2.2. The prefix to install FreeType2
+
+      Setting `--prefix=<prefix>'  properly is important.   The prefix
+      to install FreeType2 is  written into the freetype-config script
+      and freetype2.pc configuration file.
+
+      If  the built  FreeType  2 library  is  used as  a  part of  the
+      cross-building system,  the prefix  is expected to  be different
+      from the self-building  system.  For example, configuration with
+      `--prefix=/usr/local'  installs binaries  into  the system  wide
+      `/usr/local'  directory  which  then  can't be  executed.   This
+      causes confusion in configuration  of all applications which use
+      FreeType2.   Instead,  use a  prefix to install  the cross-build
+      into     a     separate     system    tree,     for     example,
+      `--prefix=/usr/local/mips-ip22-linux/'.
+
+      On the other  hand, if the built FreeType2 is used  as a part of
+      the target system, the prefix to install should reflect the file
+      system structure of the target system.
+
+
+  3. Building command
+  -------------------
+
+    If  the  configuration  finishes successfully,  invoking  GNU make
+    builds FreeType2.  Just say
+
+      make
+
+    or
+
+      gmake
+
+    depending on the name the GNU make binary actually has.
+
+
+  4. Installation
+  ---------------
+
+    Saying
+
+      make install
+
+    as usual to install FreeType2 into the directory tree specified by
+    the argument of the `--prefix' option.
+
+    As noted in section 2.2,  FreeType2  is sometimes configured to be
+    installed  into the  system directory  of the  target  system, and
+    should  not be installed  in the  cross-building system.   In such
+    cases, the  make variable `DESTDIR'  is useful to change  the root
+    directory in the installation.  For example, after
+
+      make DESTDIR=/mnt/target_system_root/ install
+
+    the built FreeType2 library files are installed into the directory
+    `/mnt/target_system_root/<prefix_in_configure>/lib'.
+
+
+  5. TODO
+  -------
+
+    Cross building between Cygwin (or MSys) and Unix must be tested.
+
+
+----------------------------------------------------------------------
+
+Copyright 2006, 2008 by suzuki toshiya
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+
+This  file is  part of  the FreeType  project, and  may only  be used,
+modified,  and distributed  under the  terms of  the  FreeType project
+license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
+this file you  indicate that you have read  the license and understand
+and accept it fully.
+
+
+--- end of INSTALL.CROSS ---