Interfacing with foreign languages through VHPIDIRECT is possible on any platform. You can reuse or define a subprogram in a foreign language (such as C or Ada) and import it into a VHDL design.
GHDL supports different backends, and not all of them generate binary artifacts. Precisely,
mcode is an in-memory
backend. Hence, the examples need to be built/executed with either LLVM or GCC backends. A few of them, the ones that
do not require linking object files, can be used with mcode.
As a consequence of the runtime copyright, you are not allowed to distribute an executable produced by GHDL without allowing access to the VHDL sources. See Copyrights | Licenses.
See ghdl#1053 for on-going work with regard to VHPIDIRECT.