ECLビルド
お久しぶりです。ECLをMSVCでビルドしたときにてこずったのでメモとして。
MSVCの入手
ECLのソースコードの入手
からcurrent-release.tgzをダウンロード。
ビルド前準備
ビルドする前にいくつかのファイルに修正が必要だった。
VS2015 build issues (#213) · Issues · Embeddable Common-Lisp / ECL · GitLab
ここにあるようにsrc/c/dpp.c
,msvc/ecl/config.h.msvc6
,src/c/file.d
を修正。さらに,
ECL (Embeddable Common-Lisp) 15.2.21をVisual Studio 2013でビルドした記録 - 新・日々録 by TRASH BOX@Eel
ここにあるようにsrc/c/main.d
を修正。上で記載していないファイルについては修正が必要なかった。
そして,yasm(1.2.0)をPATHが通った場所においておけばよい。
ビルド
あとはMakefileを好きなように弄って,nmake & nmake install
すればビルドが通ったっぽい。
ECL (Embeddable Common-Lisp) 16.1.2 (git:UNKNOWN) Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya Copyright (C) 1993 Giuseppe Attardi Copyright (C) 2000 Juan J. Garcia-Ripoll Copyright (C) 2015 Daniel Kochmanski ECL is free software, and you are welcome to redistribute it under certain conditions; see file 'Copyright' for details. Type :h for Help. Top level in: #<process TOP-LEVEL>. >
追記
しかし(require "asdf")
すらできない…
> (require "asdf") ;;; Loading #P"C:/Users/raebi/src/ecl-16.1.2/msvc/package/asdf.fas" Condition of type: SIMPLE-ERROR LOAD: Could not load file #P"C:/Users/raebi/src/ecl-16.1.2/msvc/package/asdf.fas" (Error: "この操作を正しく終了しました。 ") Available restarts: 1. (RESTART-TOPLEVEL) Go back to Top-Level REPL. Broken at SI:BYTECODES. [Evaluation of: (REQUIRE "asdf")] In: #<process TOP-LEVEL>. >>