2 ms·
The ERTS runtime (VM + libraries) are taken from the host and are not built. That said, it is possible to build the runtime for other platforms via cross compil
by GrinningFool 10y ago
The ERTS runtime (VM + libraries) are taken from the host and are not built. That said, it is possible to build the runtime for other platforms via cross compilation. [1][2]. I've done this for ARM, but have not tried to generate a release using the cross-platform build.
The beams themselves are cross-platform bytecode, but in practice beam files are not distributed on their own (except for patching). Typically you'll ship them as part of the released package which includes ERTS, your application, and all required dependencies (system libraries, other apps/libraries, and any native dependencies you've introduced). It excludes anything you don't declare as necessary from the final release package
In practice, people will usually use either the official release tooling or third party tooling to create platform-specific releases.
[1] http://erlang.org/doc/installation_guide/INSTALL-CROSS.html http://erlang.org/doc/installation_guide/INSTALL-CROSS.html
[2] http://www2.erlangcentral.org/wiki/?title=Cross_compiling http://www2.erlangcentral.org/wiki/?title=Cross_compiling