Lua has great support for cross-compiling. It is written in the subset of features available in both (ANSI and more recent) C and C++.
Comparatively, I've found that x-compiling vanilla emacs `--without-x` is often more easier and faster.
X-compiling Mg is more or less "gcc *.c" which is very straight-forward.