Emscripten SDK ( emsdk
)は、すべてのSDKメンテナンスを実行するために使用されます。SDKは一度インストールするだけで済みます。その後、emsdkですべての更新を行うことができます!
emsdkを使用すると、任意のSDKまたはツールをダウンロード、インストール、または削除し、GitHubで開発中の最新バージョンを使用することもできます。Windowsでemsdkにアクセスするには、まずEmscriptenコマンドプロンプトを起動します。ほとんどの操作は./emsdk command
という形式です。
このドキュメントでは、コマンド構文と、一般的なメンテナンス操作と高度なメンテナンス操作の両方を実行する方法を説明するガイドのセットを提供します。
./emsdk [help | list [–old] | update | install <tool/sdk> | uninstall <tool/sdk> | activate <tool/sdk>]
コマンド |
説明 |
---|---|
|
現在インストールされているすべてのSDKとツール、およびそれらのインストール状況を一覧表示します。 |
|
利用可能なすべてのツールとSDKの最新リストを取得します(ただし、インストールはしません)。 |
|
指定されたツールまたはSDKをダウンロードしてインストールします。 |
|
指定されたツールまたはSDKをディスクから削除します。 |
|
指定されたツールまたはSDKをシステム環境のデフォルトツールとして設定します。Linuxでは、さらに「現在アクティブなSDKバージョンを変更するにはどうすればよいですか?」の説明に従って、 |
|
サポートされているすべてのコマンドを一覧表示します。コマンドを指定しないと、同じリストが出力されます。 |
注記
LinuxとmacOSでは、コマンドは./emsdkで呼び出されます。Windowsでは、emsdkを使用します。
コマンド引数として上記で指定されている<tool/sdk>
は、./emsdk list
(または./emsdk list --old
)を使用して一覧表示されるターゲットの1つです。
ツールとSDKの名前の中には、masterまたはmainが含まれているものがあります。これらのターゲットは、Emscriptenのメインブランチとマスターブランチから最新のバージョンをクローンしてプルするために使用されます。
最新のSDKを取得するには、latest
ターゲットを指定することもできます。
Emscriptenツールチェーンには、Clang、Emscripten、Java、Git、Nodeなど、多くの異なるツールが含まれています。Emsdkは、インストールされているツールを制御し、インストール済みのツールセットからアクティブなツールを選択するための小さなパッケージマネージャーです。
利用可能なツールとSDKの現在のセットは、./emsdk list
を使用して一覧表示されます。これらは個別に(./emsdk install node-0.10.17-64bit
)またはグループで(./emsdk install node-0.10.17-64bit java-7.45-64bit
)インストールできます。
SDKターゲットは、特定のEmscriptenリリースで使用されるツールの完全なセットを指定するための便利なメカニズムです。例えば、以下の2行は同等です。
./emsdk install sdk-upstream-main-64bit
./emsdk install git-1.8.3 clang-upstream-main-64bit node-0.10.17-64bit python-2.7.5.3-64bit java-7.45-64bit llvm-git-main-64bit emscripten-main-64bit
インストールされた特定のSDK(またはツール)をアクティブとして設定できます。これは、EmscriptenがEmscriptenコマンドプロンプトで呼び出されたときに、デフォルトで使用されるツールセットを定義します。「コンパイラ設定」はemsdkディレクトリ内のconfigファイル(.emscripten)に保存されます。
注記
emsdkによって管理されるさまざまなツールとSDKは、最初にSDKをインストールしたときに指定したルートフォルダーの下の異なるディレクトリに、ツールとバージョン別にグループ化して保存されます。
コンパイラ設定ファイルは、emsdkに代わってアクティブな設定を保存します。アクティブな設定は、EmscriptenコマンドプロンプトでEmscriptenが呼び出された場合にデフォルトで使用されるツールの特定のセットを定義します。
設定ファイルの名前は.emscriptenです。これはemsdk固有のものであるため、ユーザーがシステムの他の場所に持つ可能性のある設定ファイルと競合することはありません。
Emscriptenをソースからビルドしている場合を除き、このファイルは一般的に直接更新しないでください。代わりに、必要に応じてemsdkを使用して特定のSDKとツールをアクティブ化してください(emsdk activate <tool/SDK>
)。
以下は、emsdkによって作成された可能性のある.emscriptenファイルの例です。さまざまなツールを指すために使用される変数名に注意してください。
# .emscripten file from Windows SDK
import os
LLVM_ROOT='C:/Program Files/Emscripten/clang/e1.21.0_64bit'
NODE_JS='C:/Program Files/Emscripten/node/0.10.17_64bit/node.exe'
# .emscripten file from Linux SDK
import os
NODE_JS = 'nodejs'
LLVM_ROOT='/home/ubuntu/emsdk/upstream/bin'
以下のトピックでは、最新のSDKのインストールからGitHubからの独自のフォークのインストールまで、一般的なメンテナンス操作と高度なメンテナンス操作の実行方法について説明します。
注記
以下の例は、LinuxとmacOSのコマンドを示しています。Windowsでもコマンドは同じですが、**./emsdk**を**emsdk**に置き換える必要があります。
update
引数を使用して、利用可能なツールの現在のレジストリを取得し、次にlatest
インストールターゲットを指定して、最新のSDKを取得します。
# Fetch the latest registry of available tools.
./emsdk update
# Download and install the latest SDK tools.
./emsdk install latest
# Set up the compiler configuration to point to the "latest" SDK.
./emsdk activate latest
利用可能なすべてのコマンドに関する情報を取得するには、./emsdk help
または単に./emsdk
を使用します。
現在インストールされているすべてのツールとSDKのバージョン(および利用可能なすべてのツール)のリストを取得するには、以下を実行します。
./emsdk list
インストール可能なツールとSDKごとに1行が印刷されます。既にインストールされているツールごとに、テキストINSTALLED
が表示されます。ツール/SDKが現在アクティブな場合は、その横に星印(*)が表示されます。
install
引数を使用して、新しいツールまたはSDKのバージョンをダウンロードしてインストールします。
./emsdk install <tool/sdk name>
例:
./emsdk install sdk-1.38.21-64bit
注記
インストールされたツールはローカルマシンに存在しますが、必ずしもアクティブな環境にあるとは限りません。インストールされたSDKをアクティブにするには、activate
コマンドを使用します。
uninstall
引数を使用して、指定されたツールまたはSDKをローカルコンピューターから削除します。
./emsdk uninstall <tool/sdk name>
システムからEmscriptenを完全に削除する場合は、Emscripten SDKのアンインストールのガイドに従ってください。
まず、update
コマンドを使用して、すべての新しいツールとSDKのバージョンのパッケージ情報を取得します。次に、install <tool/sdk name>
を使用して、新しいバージョンをインストールします。
# Fetch the latest registry of available tools.
./emsdk update
# Download and install the specified new version.
./emsdk install <tool/sdk name>
activateコマンドを使用して、さまざまなツールとSDKのバージョンを切り替えます。これにより、.emscripten
が特定のツールを指すように設定されます。
./emsdk activate <tool/sdk name>
# On Linux and macOS, also set the environment variables.
source ./emsdk_env.sh
注記
LinuxとmacOSでは、activate
は必要な情報を設定ファイルに書き込みますが、現在のターミナルで環境変数を自動的に設定することはできません。activate
を呼び出した後、source ./emsdk_env.sh
を呼び出す必要があります。source
の使用は、Unixシェルのセキュリティ機能です。
Windowsでは、activate
を呼び出すと、必要なパスと環境変数が自動的に設定されます。
注記
デフォルトのシェル設定に./emsdk_env.sh
を追加すると、emsdkツール(emsdkバージョンのnodeを含む)がPATHに追加され、システムで使用されるnodeのデフォルトバージョンに影響を与える可能性があります。
Emsdkには、移行パスの維持に使用できる古いツールとSDKの履歴が含まれています。list --old
引数を使用して、アーカイブされたツールとSDKのバージョンのリストを取得し、install <name_of_tool>
を使用して特定のツールをインストールします。
# Get list of the old versions of the tool.
./emsdk list --old
# Install the required version.
./emsdk install <name_of_tool>
# Activate required version.
./emsdk activate <name_of_tool>
emsdkで最新の変更を試すには、tot
(Tip-Of-Tree)と呼ばれる特別なバージョンをインストールしてアクティブ化できます。これは継続的にビルドされ、通常、コミットされてから数時間後にEmscriptenとLLVMの変更が含まれます。
./emsdk install tot
./emsdk activate tot
最新のソースからすべてを自分でビルドする場合は、sdk-main-64bit
を使用できます。
# Install git (Skip if the system already has it).
./emsdk install git-1.8.3
# Clone+pull the latest emscripten-core/emscripten/main.
./emsdk install sdk-main-64bit
# Set this as the active version.
./emsdk activate sdk-main-64bit
SDKを介して、独自のEmscriptenリポジトリフォークを使用することも可能です。これは、Emscriptenツールチェーンに独自の変更を加えたいが、SDK環境とツールを引き続き使用する場合に役立ちます。
これを行うには、EM_CONFIG
環境変数をemsdk emscripten設定を指すように設定し、独自のEmscriptenチェックアウトをPATH
の先頭に置くだけです。
cd my_emscripten/
# Tell emscripten to use the emsdk config file
export EM_CONFIG=/path/to/emsdk/.emscripten
# Now your version of emscripten will use LLVM and binaryen
# binaries from the currently active version of emsdk.
./emcc