| | 1 | = Cross Compiling = |
| | 2 | |
| | 3 | Notes on setting up for cross-compilation using Linux/ARM as |
| | 4 | an example. |
| | 5 | |
| | 6 | Put the following forms into a .lisp file and load it to set up the cross-compiler. |
| | 7 | {{{ |
| | 8 | (require-update-modules *arm-compiler-modules* t) |
| | 9 | (require-update-modules *arm-compiler-backend-modules* t) |
| | 10 | (require-update-modules *arm-xdev-modules* t) |
| | 11 | (defpackage "ARM-LINUX") |
| | 12 | (load "ccl:lib;ffi-linuxarm") |
| | 13 | (require-update-modules *arm-xload-modules* t) |
| | 14 | (setup-arm-ftd (find-backend :linuxarm)) |
| | 15 | }}} |
| | 16 | |
| | 17 | Grab the interfaces for the target of interest and put them in the |
| | 18 | usual place ccl directory. In the Linux/ARM case, that would be |
| | 19 | ccl:arm-headers;. If your host uses different byte order than the target, you might have to |
| | 20 | set up some sort of cross-interfaces (left as an exercise for the reader). |
| | 21 | |
| | 22 | Actually compile: |
| | 23 | {{{ |
| | 24 | (cross-xload-level-0 :linuxarm :force) |
| | 25 | (cross-compile-ccl :linuxarm t) |
| | 26 | }}} |