1
0

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 3 years have passed since last update.

Windows10でECLをビルド

Last updated at Posted at 2021-01-06

はじめに

ECL(Embeddable Common Lisp)ってWindows上でも動くらしいけど実際使えるのかな? ということで試してみました。結果、対話環境は問題なく起動しました。マニュアルに書かれていないyasmなどのツールを用意しておく必要があったので、メモとして残しておきます。

ECLのバージョン

現在ECLは2020年の4月にメジャーアップデートがあり、バージョン20系がリリースされているので、それを使います。

ビルド環境

  • Windows10
  • Visual Studio Community
  • Windows SDK
  • yasm

Visual Studioをインストールし、Visual C++ 2015 x64 Native Build Tools Command Prompt(以下Command Prompt)というプログラムが実行可能になっているかを確認します(スタートメニューにあるはず)。

次に、rc.exeというコマンドを使うため、Windows SDKのbinディレクトリをPath環境変数に登録します。自分の環境だと、次の場所を登録しました。

C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64

最後にyasmを使うためインストールします。これはGitHubのhttps://github.com/cseri/yasm-1.3.0-win64からexeファイルをダウンロードできるので入手し、Pathの通ったディレクトリに配置します。

事前の準備はこれで完了です。

ビルド実行

https://common-lisp.net/project/ecl/static/files/release/からecl-20.4.24.tgzをダウンロードし展開します。展開するとmsvcディレクトリがあるため、Command Promptを起動し、ECLのソースコードを展開した場所のmsvcディレクトリ移動します。

> cd C:\Path\to\ecl-20.4.24\msvc
C:\Path\to\ecl-20.4.24\msvc>

ビルドにはnmakeコマンドを使用します。prefixの値でインストール先を変更できます。

C:\Path\to\ecl-20.4.24\msvc> nmake install prefix=C:\tools\ecl2 ECL_WIN64=1 GMP_TYPE=AMD64

途中で失敗する場合には、rc.exeやyasm-1.3.0-win64.exeの存在するディレクトリがPathに登録されているかを確認してみてください。

インストールが完了すると、ecl.exeという実行ファイルと、実行に必要なファイルが生成されます。

ecl.exeを起動し、ECLのREPLが起動すれば完了です。

インストーラーを作成する

NSISを使ってWindows用のインストーラーを作成できると書いてあったのでそれも試してみます。NSISをインストールし、C:\Program Files (x86)\NSIS\Binにパスを通しておきます(makensis.exeを使用するため)。

その後、次のコマンドでインストーラーを作成できます。

C:\Path\to\ecl-20.4.24\msvc> nmake windows-nsi

msvcディレクトリにecl-20.4.24.exeという名前でインストーラーが作成されます。ダブルクリックでインストーラーが起動し、インストール先の選択とインストールが問題なく行われることを確認します。

REPL環境の起動は確認できましたが、色々なパッケージが正常に動くかどうかは確認していません。今後Windowsで何か試すときがあれば確認してみたいと思います。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?