Difference between revisions of "Cross compiler"

(Create toolchain)
(Create toolchain)
Line 3: Line 3:
 
=== Create toolchain ===
 
=== Create toolchain ===
  
* Download or build your own toolchain for a target platform
+
* Download or build your own toolchain for a target platform:
 
: A toolchain can be downloaded at http://www.mentor.com/embedded-software/codesourcery.
 
: A toolchain can be downloaded at http://www.mentor.com/embedded-software/codesourcery.
 
: Tools to generate cross-compilation toolchain:
 
: Tools to generate cross-compilation toolchain:
Line 9: Line 9:
 
: http://buildroot.uclibc.org/
 
: http://buildroot.uclibc.org/
  
* Create toolchain configuration file config.mk.
+
* Configure the toolchain:
: 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:
+
: 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
 
     ARCH=i386
 
     MACH=i686
 
     MACH=i686

Revision as of 06:40, 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

Making prerequisite SAPlus 3rdparty libraries for your toolchain

  • Export your configuration tool chain
  $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.

Making SAFplus with your toolchain

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

Making model with your toolchain

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