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.
Download, install, and test a toolchain that can build the
desired target binaries. In this example, we use the
arm-linux-gnueabi-gcc
package.
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:
#!/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 \ $*
The --build
flag indicates the system on
which you are compiling and the --host
flag indicates the target platform. Adjust or omit the
--enable
and --prefix
flag settings as dictated by your own needs.
Unpack your Berkeley DB distribution and go to the
build_unix
directory. Alternatively, you
may create a more appropriately-named directory at the same
level and build in it. For example,
build_arm
.
In your build directory, configure by executing your
script, then make
and
make install
. Review any compiler
warnings and fix if necessary, repeating the
configure
and make
steps until you are satisfied. The resulting libraries and
executables can then be transferred to your target system.