LoginSignup
1
0

More than 1 year has passed since last update.

Tinygo 本体をソースコードから build する方法 (Windows)

Last updated at Posted at 2023-03-03

はじめに

他のプログラミング言語同様、Tinygo 本体のリポジトリの最新の機能を試したい場合はソースコードから build する必要があります。

本体の build 方法は公式ページの Build from sourceへも記載されていますが、
一連の流れに沿って説明した方がわかりやすいので新たに記事として書き起こします。

build までのステップ

本記事では、以下の 3 ステップに分けて手順を説明します。

  1. build 環境のインストール
  2. llvm 環境の build
  3. tinygo コマンドの build

1.build 環境のインストール

以下の環境(コマンド)を全てインストールします。
環境は全て Chocolatey にてインストールすることが可能です。
(以下の括弧内は記事執筆時の各環境の version です。)

  • git(2.34.1)
  • go(1.19)
    • Tinygo に対応する version の制限があるため version に注意
  • make(4.3)
  • cmake(3.25.2)
  • ninja(1.11.1)
  • python(3.9.10)
  • mingw(12.2.0)

ステップ 2. 以降の手順ではgcc 関連のバイナリ (g++等) は上記のmingw 環境のものが参照される必要があるため注意してください。(gcc 環境は別の環境構築の際にインストールされている場合が多いです)

実際に実行するインストールコマンドは例えば以下のようになります。
既に GitGo をインストーラーにてインストールしている場合は、
新たにインストールする必要はありません。

$ choco install --confirm git golang make cmake ninja python
$ choco install mingw -Version 8.1.0

もしくは、以下のファイルをダウンロードして $ choco install tinygo_build_package.config にて一括でインストールすることも可能です。
tinygo_build_package.config

2. llvm 環境の build

本手順以降では、Git に同梱されている bash.exe (Gitのインストールディレクトリ/bin/bash.exeのように入っています)を起動してそちらで作業を行ってください。

llvm 環境の build は以下を実行します。
$ make llvm-build はそれなりに時間がかかります(筆者のラップトップ環境で約 1.5h)。

$ make llvm-source
$ make llvm-build

3. tinygo コマンドの build

Tinygo 本体のバイナリと、デバイス関連ファイルの更新を以下にて実施します。
また、$ make gen-device を実行する前に関連するモジュールを Git にてダウンロードする必要があります。

$ make
$ git submodule update --init
$ make gen-device

なお、本ステップで環境に問題がないにもかかわらず失敗する場合は、ステップ 2. から再度実施することで解消する場合があります。

まとめ

build にあたり環境をいくつかインストールする必要がありますが、さほど手順は煩雑ではないため、
Windows でもスムーズに build することができます。
Tinygo プロジェクトは比較的改善難易度の低い Issue も多数挙がっているため、OSS に commit するにはチャンスのプロジェクトです。

References

1
0
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
1
0