4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ChakraCore を Mac 上でビルドする

Last updated at Posted at 2016-08-01

Chakra-core とは?

Microsoft Edge で利用されている JavaScript 処理系です。オープンソース化されて GitHub にて公開されています。

長らく Windows でしかビルドできませんでしたが、この度 Mac と Linux でもビルドできるようになりました。

JIT はまだ動かないようですが…

事前準備

必要なものは次の3つ

  • XCode およびコマンドラインツール
  • cmake
  • icu4c

コンパイラ、ビルドツール、Unicode の国際化対応を行うためのライブラリです。

XCode は Apple のサイトからダウンロードしてください。コマンドラインツールは GUI からもインストールできますし、次のように xcode-select コマンドからもインストールできます。

$ xcode-select --install

cmake と icu4c は HomeBrew 経由でインストールします。

$ brew install cmake icu4c

ソースコードのダウンロード

レポジトリ からダウンロード、もしくは clone します。

ビルド

ソースコードが Chakra-core というディレクトリ以下に展開されている前提で、以下のコマンドを実行します。ディレクトリが異なる時は、1行目を適宜読み替えてください。

$ cd Chakra-core
$ ./build.sh --static --icu=/usr/local/opt/icu4c/include  -j=2

--icu オプションは icu4c をインストールした際に導入されるヘッダファイルの位置を指定します。Homebrew でインストールした場合は、上記の場所にインストールされます。

-j オプションで、ビルドに利用する CPU の数を指定します。MacBook Pro だと 2 つぐらい割り当てておくと良いのではないでしょうか。

ビルドが成功すると BuildLinux/Relase/ch に実行可能ファイルができます。

Hello, World

次のような JS ファイルを作成します。ChakraCore は JavaScript インタプリタなので、ブラウザや node の提供する API を持っていません。console オブジェクトや、document オブジェクトも未定義です。そのため、出力にはデバッグ用の関数 print を利用します。

hellowrld.js
const msg = "Hello, world!";
print(msg);

これを ch に与えて実行すると、コンソールに Hello, world! が出力されます。

$ ./BuildLinux/Relase/ch helloworld.js
Hello, world!

まとめ

ビルドは結構簡単です。build.sh がよしなに計らってくれます。

ChakraCore は単体だとほとんど何もできませんが、node自分のアプリに組み込むことができるようです。ぜひそちらを試してみてください。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?