
Основная страница проекта: https://emscripten.org
Статус GitHub CI:
Статус строителя хрома: Emscripten-Releases
Emscripten компилирует C и C ++ в Webassembly с использованием LLVM и Binaryen. Выход Emscripten может работать в Интернете, в node.js и в Wasm Runtimes.
Emscripten обеспечивает веб -поддержку для популярных портативных API, таких как OpenGL и SDL2, что позволяет портировать сложные графические нативные приложения, такие как игровой двигатель Unity и Google Earth. Вероятно, он может перенести вашу кодовую базу!
В то время как Emscripten в основном фокусируется на компиляции C и C ++ с использованием Clang, он может быть интегрирован с другими компиляторами, использующими LLVM (например, Rust имеет интеграцию Emscripten, с целями wasm32-unknown-emscripten и asmjs-unknown-emscripten ).
Emscripten доступен по 2 лицензиям, лицензии MIT и лицензии Университета Иллинойса/NCSA с открытым исходным кодом.
Оба являются разрешающими лицензиями с открытым исходным кодом, практически, если между ними практическая разница.
Причина предложения оба заключается в том, что (1) лицензия MIT хорошо известна и подходит для компилятора, в то время как (2) первоначальная лицензия LLVM, Университет Иллинойса/NCSA с открытым исходным кодом, также была предложена, чтобы позволить коду Emscripten интегрироваться вверх по течению в LLVM. Вторая причина стала менее важной после того, как Emscripten переключился на бэкэнд LLVM WASM, после чего нет никакого кода, который мы ожидаем перемещаться взад и вперед между проектами; Кроме того, LLVM переименован в Apache 2.0 + исключения. На практике вы можете просто считать Emscripten лицензированным MIT (что позволяет вам делать практически все, что вы хотите с компилятором, включая коммерческое и некоммерческое использование).
Смотрите LICENSE на полное содержание лицензий.