freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ft-devel] Re: autoconf-based cross-building patch ([ft] FT2 Cross-compi


From: mpsuzuki
Subject: [ft-devel] Re: autoconf-based cross-building patch ([ft] FT2 Cross-compile Error)
Date: Sat, 14 Oct 2006 22:11:09 +0900

Dear Sir,

Thank you for improvement and formatting,
just I've committed cross-building patch to CVS!

Regards,
mpsuzuki

On Sat, 14 Oct 2006 08:30:38 +0200 (CEST)
Werner LEMBERG <address@hidden> wrote:

>
>> I see. Following is my manuscript for INSTALL.CROSS, Please give me
>> comment.
>
>Below is a revised version.
>
>
>    Werner
>
>
>======================================================================
>
>
>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.78.1 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
>      FreeType 2.   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 successfuly, 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,  FreeType 2 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 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 ---




reply via email to

[Prev in Thread] Current Thread [Next in Thread]