Difference between revisions of "Cross compiler"

(Building a user model with a specific toolchain)
(Building SAFplus libraries)
Line 25: Line 25:
 
:'''Prefer using the location of toolchain.'''
 
:'''Prefer using the location of toolchain.'''
  
=== Building SAFplus libraries ===
+
=== Building SAFplus libraries with a specific toolchain ===
  
 
* Configure SAFplus libraries
 
* Configure SAFplus libraries

Revision as of 06:46, 18 September 2012

Contents

Cross Compilation for SAFplus

Create toolchain

  • Download or build your own toolchain for a target platform:
A toolchain can be downloaded at http://www.mentor.com/embedded-software/codesourcery.
Tools to generate cross-compilation toolchain:
http://crosstool-ng.org/
http://buildroot.uclibc.org/
  • Configure the toolchain:
In your toolchain location, check if the config.mk file exists. This file is included in the cross build makefile. If your toolchain tarball does not include this file, please create it manually. Basically, the file contains the following configuration variables:
   ARCH=i386
   MACH=i686
   TARGET=i686-unknown-linux-gnu
   TOOLCHAIN_VERSION=0.1
   export ARCH MACH TARGET TOOLCHAIN_VERSION

Building the prerequisite SAPlus 3rdparty libraries for a target platform

  • Export your configuration toolchain
  $source <location of toolchain>/config.mk
  • Goto <SAFplus SDK dir>/src/SAFplus/3rdparty/base:
  $make PREFIX=<path to locate thirdparty libraries>
Prefer using the location of toolchain.

Building SAFplus libraries with a specific toolchain

  • Configure SAFplus libraries
  $<SAFplus SDK dir>/src/SAFplus/configure --with-sdk-dir=<SAFplus SDK dir> --with-safplus-build --with-cross-build=<your toolchain name>
  • Goto asp/build/<toolchain name>
  $make asp-libs

Building a user model with a specific toolchain

  • Goto model project folder
  $<SAFplus SDK dir>/src/SAFplus/configure --with-sdk-dir=<SAFplus SDK dir> --with-safplus-build --with-cross-build=<your toolchain name> --with-model-name=<model>
  • Goto asp/build/<toolchain name>
  $make