Emscripten SDK (emsdk)

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>]

引数

コマンド

説明

list [--old]

現在インストールされているすべてのSDKとツール、およびそれらのインストール状況を一覧表示します。--oldパラメータを使用すると、過去のバージョンも表示されます。

update

利用可能なすべてのツールとSDKの最新リストを取得します(ただし、インストールはしません)。

install <tool/sdk>

指定されたツールまたはSDKをダウンロードしてインストールします。

uninstall <tool/sdk>

指定されたツールまたはSDKをディスクから削除します。

activate <tool/sdk>

指定されたツールまたはSDKをシステム環境のデフォルトツールとして設定します。Linuxでは、さらに「現在アクティブなSDKバージョンを変更するにはどうすればよいですか?」の説明に従って、source ./emsdk_env.shを使用して環境設定を有効にする必要があります。

help

サポートされているすべてのコマンドを一覧表示します。コマンドを指定しないと、同じリストが出力されます。

注記

  • LinuxとmacOSでは、コマンドは./emsdkで呼び出されます。Windowsでは、emsdkを使用します。

ツールとSDKターゲット

コマンド引数として上記で指定されている<tool/sdk>は、./emsdk list(または./emsdk list --old)を使用して一覧表示されるターゲットの1つです。

ツールとSDKの名前の中には、masterまたはmainが含まれているものがあります。これらのターゲットは、Emscriptenのメインブランチとマスターブランチから最新のバージョンをクローンしてプルするために使用されます。

最新のSDKを取得するには、latestターゲットを指定することもできます。

SDKの概念

Emscriptenツールチェーンには、ClangEmscriptenJavaGitNodeなど、多くの異なるツールが含まれています。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をインストールしたときに指定したルートフォルダーの下の異なるディレクトリに、ツールとバージョン別にグループ化して保存されます。

Emscriptenコンパイラ設定ファイル(.emscripten)

コンパイラ設定ファイルは、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**に置き換える必要があります。

最新のSDKを入手するにはどうすればよいですか?

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を使用するにはどうすればよいですか?

利用可能なすべてのコマンドに関する情報を取得するには、./emsdk helpまたは単に./emsdkを使用します。

インストールされているSDKとツールのバージョンを確認するにはどうすればよいですか?

現在インストールされているすべてのツールとSDKのバージョン(および利用可能なすべてのツール)のリストを取得するには、以下を実行します。

./emsdk list

インストール可能なツールとSDKごとに1行が印刷されます。既にインストールされているツールごとに、テキストINSTALLEDが表示されます。ツール/SDKが現在アクティブな場合は、その横に星印(*)が表示されます。

ツール/SDKのバージョンをインストールするにはどうすればよいですか?

install引数を使用して、新しいツールまたはSDKのバージョンをダウンロードしてインストールします。

./emsdk install <tool/sdk name>

例:

./emsdk install sdk-1.38.21-64bit

注記

インストールされたツールはローカルマシンに存在しますが、必ずしもアクティブな環境にあるとは限りません。インストールされたSDKをアクティブにするには、activateコマンドを使用します。

ツールまたはSDKを削除するにはどうすればよいですか?

uninstall引数を使用して、指定されたツールまたはSDKをローカルコンピューターから削除します。

./emsdk uninstall <tool/sdk name>

システムからEmscriptenを完全に削除する場合は、Emscripten SDKのアンインストールのガイドに従ってください。

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>

現在アクティブなSDKのバージョンを変更するにはどうすればよいですか?

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のデフォルトバージョンに影響を与える可能性があります。

古いEmscripten SDKとツールをインストールしてアクティブ化するにはどうすればよいですか?

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>

SDKで最新の変更を追跡するにはどうすればよいですか?

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

独自のEmscriptenフォークをSDKで使用するにはどうすればよいですか?

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