[Top][All Lists]
[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 ---