Sindbad~EG File Manager

Current Path : /usr/local/share/doc/db5/installation/
Upload File :
Current File : /usr/local/share/doc/db5/installation/cross_compile_unix.html

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Cross-Compiling on Unix</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB Installation and Build Guide" />
    <link rel="up" href="build_unix.html" title="Chapter 7.  Building Berkeley DB for UNIX/POSIX" />
    <link rel="prev" href="build_unix_flags.html" title="Changing compile or load options" />
    <link rel="next" href="build_unix_install.html" title="Installing Berkeley DB" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 11.2.5.3</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Cross-Compiling on Unix</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="build_unix_flags.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 7. 
		Building Berkeley DB for UNIX/POSIX
        </th>
          <td width="20%" align="right"> <a accesskey="n" href="build_unix_install.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="cross_compile_unix"></a>Cross-Compiling on Unix</h2>
          </div>
        </div>
      </div>
      <p>
        The purpose of cross-compiling is to build a Berkeley DB library on
        one platform that is to be used on a different platform. This
        section demonstrates how to build a library compatible with the ARM
        platform from a 32-bit x86 Linux platform. You will need to adjust
        the build tools and options to match your particular platforms.
    </p>
      <div class="orderedlist">
        <ol type="1">
          <li>
            <p>
                Download, install, and test a toolchain that can build the
                desired target binaries. In this example, we use the
                <code class="literal">arm-linux-gnueabi-gcc</code> package.
            </p>
          </li>
          <li>
            <p>
                Decide on your configuration options, and set up your
                environment to use the appropriate compiler and compiler
                tools.  It is often easiest to set this up as a small shell
                script.  For example:
            </p>
            <pre class="programlisting">#!/bin/sh -f
env \
CC=/usr/bin/arm-linux-gnueabi-gcc \
STRIP=/usr/bin/arm-linux-gnueabi-strip \
../dist/configure \
--build=i686-pc-linux-gnu \
--host=arm-linux-gnueabi \
--enable-java \
--enable-sql \
--enable-jdbc \
--enable-smallbuild \
--enable-shared \
--enable-stripped_messages \
--prefix=$HOME/ARM-linux/install \
$* </pre>
            <p>
                The <code class="literal">--build</code> flag indicates the system on
                which you are compiling and the <code class="literal">--host</code>
                flag indicates the target platform.  Adjust or omit the
                <code class="literal">--enable</code> and <code class="literal">--prefix</code>
                flag settings as dictated by your own needs.
            </p>
          </li>
          <li>
            <p>
                Unpack your Berkeley DB distribution and go to the
                <code class="literal">build_unix</code> directory. Alternatively, you
                may create a more appropriately-named directory at the same
                level and build in it. For example,
                <code class="literal">build_arm</code>.
            </p>
          </li>
          <li>
            <p>
                In your build directory, configure by executing your
                script, then <code class="literal">make</code> and 
                <code class="literal">make install</code>. Review any compiler
                warnings and fix if necessary, repeating the
                <code class="literal">configure</code> and <code class="literal">make</code>
                steps until you are satisfied. The resulting libraries and
                executables can then be transferred to your target system.
            </p>
          </li>
        </ol>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="build_unix_flags.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="build_unix.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="build_unix_install.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Changing compile or load options </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Installing Berkeley DB</td>
        </tr>
      </table>
    </div>
  </body>
</html>

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists