<<TableOfContents(2)>> == Overview == This page collects information and advice on cross-compiling ROS. This is a work in progress. If you're cross-compiling ROS, please extend and improve this page. == How it Works == Cross-compiling support is implemented globally in the ros via cmake. Whenever you `make` (or `rosmake`) your package, the ros will immediately look for the file `$ROS_ROOT/rostoolchain.cmake`. If it exists, the cmake components will become aware you wish to cross-compile and use that as your toolchain configuration. If you want to create your own `$ROS_ROOT/rostoolchain.cmake`, look at the example structure (in the comments) in `$ROS_ROOT/core/rosbuild/rostoolchain.cmake` and also check out the [[http://www.paraview.org/Wiki/CMake_Cross_Compiling|cmake's wiki]] as a guide. In most cases however, it will probably be simpler to let eros' tools do the hard work for you. == Eros == The [[eros]] stack is still experimental, but aims to be a first port of call for cross-compiling with the ros as well as anything in general related to embedded development. == Raspberry Pi == This [[ROS/CrossCompiling/RaspberryPi/Cross-Compile ROS for the RaspberryPi|tutorial]] explains how to manually cross-compile ros_comm for the pi on an Ubuntu system == Old Case Scenarios == The following are some old (pre-eros) instructions for building on various platforms. Some of the original documents have been moved to the [[eros/PlatformGuides|platform guides]] section in [[eros]]. If you wish to contribute your own experiences to the collective, please add to the documentation there. * [[http://dave.limoilux.org/trac/wiki/ROS/CrossCompile/arm-2|arm]] * [[gumros|gumstix]] * [[BeagleBoard|beagle board]]