
メインプロジェクトページ:https://emscripten.org
Github CIステータス:
Chromium Builderステータス:Emscripten-releases
emscriptenは、LLVMとBinaryenを使用して、CとC ++をWebAssemblyにコンパイルします。 emscripten出力は、Web、node.js、およびwasm runtimesで実行できます。
Emscriptenは、OpenGLやSDL2などの人気のあるポータブルAPIのWebサポートを提供し、UnityゲームエンジンやGoogle Earthなどの複雑なグラフィカルなネイティブアプリケーションを移植できるようにします。おそらくあなたのコードベースもポートすることができます!
Emscriptenは主にClangを使用してCおよびC ++のコンパイルに焦点を当てていますが、他のLLVM使用コンパイラと統合できます(たとえば、Rustはemscripten統合を備えており、 wasm32-unknown-emscriptenおよびasmjs-unknown-emscriptenターゲットを備えています)。
Emscriptenは、MITライセンスとイリノイ大学/NCSAオープンソースライセンスの2つのライセンスで入手できます。
どちらも許容されるオープンソースライセンスであり、それらの間に実際の違いはほとんどありません。
両方を提供する理由は、(1)MITライセンスがよく知られており、コンパイラツールチェーンに適しているのに対し、(2)LLVMの元のライセンスであるイリノイ大学/NCSAオープンソースライセンスも、EmscriptenのコードをLLVMに上流に統合できるようにするために提供されたためです。 2番目の理由は、EmscriptenがLLVM WASMバックエンドに切り替えた後、それほど重要ではなくなりました。その時点で、プロジェクト間で前後に移動するコードはありません。また、LLVMはApache 2.0 +の例外に補償されました。実際には、EmscriptenをMITライセンスと見なすことができます(これにより、商業および非営利の使用を含むコンパイラで必要なことをほとんど行うことができます)。
ライセンスの完全な内容については、 LICENSE参照してください。