|Version 1 (modified by simonmar, 3 years ago) (diff)|
To build a cross-compiler from Linux to Raspberry Pi (running Raspbian), first grab the cross-compilation toolset:
git clone https://github.com/raspberrypi/tools.git
Let's say this created a directory $tools. Now add the tools to your path:
Follow the instructions in Building/CrossCompiling. A few more RPi specific tips:
To configure, use
./configure --target=arm-linux-gnueabihf --enable-unregisterised
(ToDo: registerised, I haven't tested this yet).
You'll need to use integer-simple, because the cross-compilation environment doesn't include GMP (see Building/CrossCompiling).
The build with use the C backend by default. To use LLVM, add these to your mk/build.mk:
GhcLibHcOpts = -O -fllvm -optlc -mtriple=arm-linux-gnueabihf -optlc -mattr=+vfp2 -optlc -float-abi=hard GhcRtsHcOpts += -fllvm -optlc -mtriple=arm-linux-gnueabihf -optlc -mattr=+vfp2 -optlc -float-abi=hard
The build should go successfully all the way to stage 2. You can then use the stage 1 compiler on the host as a cross-compiler.