LoginSignup
3

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-09-29

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

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

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

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

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

本コラムは、以下環境で検証しています(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開始は成功です
image.png

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

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

VERSION
1.10.0-piacere

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

$ make clean
$ make

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

$ cd bin
$ ./iex

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

終わり

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

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

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

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

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
3