I spent some time getting a decent cross compiler toolchain for
arm-linux-gnueabi running on Mac OS X, including GNU binutils 2.22, gcc 4.6.2 and OCaml 3.12.1. The cross compiler toolchain targets ARM boards running Debian/armel squeeze or later.
The stuff is available from my local MacPorts repository. To get it working on your Mac, make sure to update to the latest MacPorts first, using:
Continue by cloning my MacPorts repository and editing the MacPorts
sources.conf file (as superuser):
Add a new line to the file before the line with the
/path/to/MacPorts is the path to the MacPorts repository clone. Once done, run
MacPorts/ports subdirectory to add the ports from my local MacPorts repository to the list of available ports (remember to rerun
portindex everytime you pull from my repository). Now you can continue installing the cross compiler ports, using either
to install just the binutils, gcc and the basic runtime, or
to also install the OCaml cross compiler and its runtime. Installing the toolchain will take some time depending on the available bandwidth and the overall speed of your machine.
Once done, your new cross compiler will be ready in
/opt/local, with its system root in
/opt/local/arm-linux-gnueabi/sysroot and related tools in
/opt/local/bin, prefixed with
To help with cross compilation of OCaml projects using
arm-linux-gnueabi-ocaml-compiler port also installs a custom
ocamlfind configuration file
/opt/local/etc/arm-linux-gnueabi-ocamlfind.conf, which you can use to utilize the cross compiler toolchain by setting the environment variable
OCAMLFIND_CONF to point to this file.