On Oct 17, 2019, at 9:17 AM, Adam adam.mlmb@gmail.com wrote:
Hi Marc,
Talked to Vyzo, and this question came up:
In the C backend using GCC, Gambit supports cross-compliation (say to an ARM Mac OS or Android from some AMD Unix machine), right.
How do you pull off cross-compilation relative to not having ./configure have a host to autodetect features on,
Which considerations do I need to make for successful cross-compliation?
Do I need a separate Gambit build for each destination platform (so I'd do the |compile-file| within the respective build), or can my default Gambit installation be tweaked to compile against multiple platforms?
Thanks!
The configure script is a shell script that relies on basic tools (grep, sed, …) and the C compiler to detect the properties of the platform. So when you compile a Scheme app to .c you should run the configure script first, and then compile the .c files of your app (and the files in lib/).
The .c files generated are *completely* independent of the platform they were compiled on. You can compile a .scm file on linux 64 bit, and Windows 32 bit, and raspberry pi ARM and you will get the same .c file generated from gsc.
Marc
Marc