Embeddable Common Lisp(ECL)はKyoto Common Lispの子孫で、同じようにCへのトランスレータでもあります。Cコンパイラでネイティブコードにコンパイルするため、移植性と性能のバランスが良いのが特徴です。直接Cのライブラリとリンクしたり、Cのプログラムに組み込めるようになっていて、Cとの連携に優れます。
スレッドはデフォルトでは有効になっています。
スレッドはデフォルトでは有効になっていません。configureで--enable-threadsを指定すると、スレッドがサポートされます。 12.2.1より前のバージョンでは、Unicodeはデフォルトではサポートされません。configureで--enable-unicodeを指定すると、Unicodeがサポートされるようになります。
llibra(2010/12/05 16:43:02 JST): configureで--enable-threadsを指定すると、セグメンテーション違反でビルドに失敗します。Cygwin 1.7.7、GCC 4.3.4、ECL 10.4.1、Windows XP SP3で確認。
llibra(2010/12/05 16:51:59 JST): 付属のBoehm GC 7.1でビルドすると、コンパイルに失敗します。CVS HEADのものを別にインストールした上で、--enable-boehm=systemでビルドに成功するようになります。
$ ./configure --enable-boehm=system --enable-threads --enable-unicode --with-system-gmp \ CPPFLAGS=-Ic:/MinGW/msys/1.0/local/include LDFLAGS=-Lc:/MinGW/msys/1.0/local/lib $ make $ make install
でUnicodeとスレッドをサポートするECLのビルドに成功。GCC 4.5.0、ECL 10.4.1、Windows XP SP3です。
CPPFLAGSやLDFLAGSに渡すパスがMinGW形式のものだとECLが解釈できず、正しく処理できません。注意してください。