Elixir本体ビルド②:Elixir本体のバージョンをいじってmake、iexバージョン変更


fukuoka.exのpiacereです
ご覧いただいて、ありがとうございます

tokyo.exと合同で開催している「Elixir本体ソースコード読み込み会」にて、Elixir本体を改造していますが、その手順を解説するコラムです

前回のコラムでは、Windowsユーザ向けにcygwinをインストールするところまでまとめています

ちなみに会の様子は、こんな感じで、tokyo.exが東京会場でのオフライン参加、fukuoka.exがZoomでのリモート参加です(冒頭、tokyo.ex会場の様子も映し出されました)

本コラムの検証環境、事前構築のコマンド

本コラムは、以下環境で検証しています(Windowsで実施していますが、Linuxやmacでも動作する想定です)

cygwinは、makeが動くよう、インストールしてください(devutilとかを除外すると動かない可能性あり)

ちなみにビルド用のElixirは、1.9.1を使いますが、ビルド対象のElixirは、1.10.0-devというリリース前の最新バージョンを使ってみました

CygwinコンソールでのWindowsドライブ移動

cygwinコンソールを起動し、Elixir本体ソースコードをcloneするフォルダまでcdします

Windowsのフォルダ移動については、以下のように、ドライブ指定が「/cygdrive」配下にドライブレターで可能です

$ cd /cygdrive/c

任意のフォルダ移動やフォルダ作成をして、その配下にElixir本体ソースコードをこの後、持ってきてビルドします

Elixir本体ソースコードのgit cloneとビルド

Elixir本体ソースコードをcloneします

$ git clone https://github.com/elixir-lang/elixir

続けて、Elixir本体ソースコードをcloneしたフォルダに移動します

$ cd elixir

Elixir本体ソースコードフォルダ配下で、makeを実行すると、ビルドがスタートします

$ make clean test

下記のように、src/elixir*がRecompileされる画面が出てくれば、make開始は成功です

iexのバージョンを変更してみる

上記makeでエラーが出ていないことを確認したら、Elixir本体ソースコードフォルダ直下にある、下記ファイルを変更します

VERSION
1.10.0-piacere

ビルドしますが、cleanしないと、変更したビルドが通らないので、まずcleanしてから、makeします

$ make clean
$ make

30秒~1分ほどでビルドが終わります(マシンスペックによって前後します)が、その後、Elixir本体ソースコードフォルダ直下のbinフォルダに移動し、そこにあるiexが、上記ビルドで変更されているので、それを起動します

$ cd bin
$ ./iex

上記で書き換えたバージョンが動くようになりました

終わり

いかがでしたでしょうか?

思った以上にカンタンに、Elixir本体が改造できることが、お分かりかと思います

p.s.「いいね」よろしくお願いします

ページ左上の のクリックを、どうぞよろしくお願いします
ここの数字が増えると、書き手としては「ウケている」という感覚が得られ、連載を更に進化させていくモチベーションになりますので、もっとElixirネタを見たいというあなた、私達と一緒に盛り上げてください!